:root{--bg: #0f1117;--surface: #1a1f2e;--surface-2: #232836;--border: #2a2d3a;--text: #e4e6ed;--muted: #8b8fa3;--red: #dc2626;--red-bg: #451a1a;--yellow: #eab308;--yellow-bg: #422006;--green: #22c55e;--green-bg: #14532d;--accent: #2563eb}*,*:before,*:after{box-sizing:border-box;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 0;margin-bottom:24px}.header-inner{display:flex;align-items:center;justify-content:space-between}.header h1{font-size:18px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.header h1 span{color:var(--red)}.header-meta{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px}.header-meta button{background:none;border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.header-meta button:hover{border-color:var(--text);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.card h2{font-size:16px;margin-bottom:12px}.card-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.card-row:last-child{border-bottom:none}.label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.value{font-size:15px;font-weight:600}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge-active{background:var(--red-bg);color:var(--red)}.badge-in_transit{background:var(--yellow-bg);color:var(--yellow)}.badge-recovered{background:var(--green-bg);color:var(--green)}.badge-cancelled{background:var(--surface-2);color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}.stat-value{font-size:28px;font-weight:800}.stat-label{font-size:13px;color:var(--muted);margin-top:4px}.btn{display:inline-block;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;text-align:center;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:default}.btn-red{background:var(--red);color:#fff}.btn-red:hover:not(:disabled){background:#b91c1c}.btn-yellow{background:var(--yellow);color:#000}.btn-yellow:hover:not(:disabled){background:#ca8a04}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){background:#16a34a}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--text);color:var(--text)}.btn-sm{padding:8px 14px;font-size:13px}.btn-group{display:flex;gap:8px}.subject-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.subject-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.subject-name{font-size:20px;font-weight:700;margin-bottom:4px;grid-column:span 2}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px;border-bottom:1px solid var(--border)}td{padding:12px;border-bottom:1px solid var(--border);font-size:14px}tr:last-child td{border-bottom:none}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;width:360px;max-width:90vw}.login-card h1{font-size:22px;margin-bottom:4px}.login-card p{color:var(--muted);font-size:14px;margin-bottom:20px}.login-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px;margin-top:12px}.login-card input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;outline:none}.login-card input:focus{border-color:var(--accent)}.login-card .btn{width:100%;margin-top:20px;background:var(--accent);color:#fff}.login-card .error{color:var(--red);font-size:13px;margin-top:12px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty h3{font-size:18px;color:var(--text);margin-bottom:8px}@media (max-width: 640px){.stat-row,.subject-card,.subject-info{grid-template-columns:1fr}.subject-name{grid-column:1}}
