
* { box-sizing: border-box; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
body { margin: 0; background: #f6f7fb; color: #222; }
.container { max-width: 1100px; margin: 40px auto; background: #fff; padding: 24px; border-radius: 10px; box-shadow: 0 8px 20px rgba(0,0,0,.06); }
.container.small { max-width: 420px; }
h1, h2 { margin: 0 0 16px; }
label { display:block; margin: 12px 0 6px; font-weight: 600; }
input[type=text], input[type=password], input[type=number], textarea, select { width: 100%; padding: 10px 12px; border: 1px solid #ccd1d9; border-radius: 8px; }
button { margin-top: 14px; padding: 10px 16px; border: 0; border-radius: 8px; background: #2251ff; color:#fff; font-weight:700; cursor:pointer; }
button.secondary { background: #6c757d; }
.grid { display:grid; grid-template-columns: 2fr 1fr; gap: 18px; }
.table { width:100%; border-collapse: collapse; margin-top: 12px; }
.table th, .table td { border-bottom: 1px solid #eee; padding: 8px; text-align:left; }
.row { display:flex; gap:10px; align-items:center; }
.badge { background:#eef2ff; color:#2251ff; padding:4px 10px; border-radius:999px; font-size: 12px; }
.alert { background: #ffeaea; color:#b00020; padding: 10px 12px; border-radius: 8px; margin-bottom: 10px; }
.success { background:#eaffea; color:#0a7a0a; padding:10px 12px; border-radius:8px; margin-bottom:10px;}
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.card { background:#fafbfe; border:1px solid #eef0f5; border-radius:10px; padding:14px; }
footer { text-align:center; color:#777; margin: 24px 0; }
@media (max-width: 900px) { .grid { grid-template-columns: 1fr; } }
@media print { .noprint { display: none !important; } body { background: #fff; } .container { box-shadow:none; } }
