:root{--bg:#121316;--surface:#1a1c20;--surface-2:#202329;--border:#2b2e35;--border-strong:#3a3e46;--text:#f2f3f5;--text-muted:#9aa0aa;--primary:#5b8cff;--primary-hover:#7ba0ff;--danger:#f87171;--success:#34d399;--warning:#fbbf24;--unknown:#6b7280;--font-mono:ui-monospace,"SF Mono","Roboto Mono",Consolas,monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--primary)}.container{max-width:960px;margin:0 auto;padding:24px}@media (max-width:640px){.container{padding:12px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:20px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;max-width:380px;padding:32px}.auth-title{margin:0 0 4px}.auth-sub{color:var(--text-muted);margin:0 0 24px}.label{margin:12px 0 4px;font-size:.85rem;display:block}.field{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;padding:8px 10px;font-size:1rem}.field:focus{border-color:var(--primary);outline:none}.field::placeholder{color:var(--text-muted)}.btn{cursor:pointer;border:1px solid transparent;border-radius:4px;padding:8px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{border-color:var(--primary)}.btn-danger{border-color:var(--border-strong);color:var(--danger);background:0 0;padding:4px 10px;font-size:.8rem}.btn-danger:hover{border-color:var(--danger);background:rgba(248,113,113,.12)}.btn-sm{padding:4px 10px;font-size:.8rem}.error-msg{color:var(--danger);margin:8px 0;font-size:.85rem}.success-msg{color:var(--success);margin:8px 0;font-size:.85rem}.nav{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 24px;display:flex}.nav strong{color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-stretch:75%}.nav strong:before{content:"";background:var(--primary);vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.nav a{color:var(--text-muted);margin-right:16px;font-size:.9rem;text-decoration:none}.nav a:hover{color:var(--text)}@media (max-width:640px){.nav{padding:12px}.nav a{margin-right:10px}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px;font-size:.9rem}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}td.actions-cell{justify-content:flex-end;gap:6px;display:flex}.badge{font-size:.75rem;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:3px;padding:2px 8px;display:inline-block}.plate-tag{font-family:var(--font-mono);letter-spacing:.04em;background:var(--bg);border:1px solid var(--border-strong);border-radius:3px;padding:2px 7px;font-size:.85em;font-weight:700;display:inline-block}.status-dot{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.status-ok{background:var(--success)}.status-warning{background:var(--warning)}.status-overdue{background:var(--danger)}.status-unknown{background:var(--unknown)}.spec-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px;display:grid}.spec-item{font-size:.85rem}.spec-label{color:var(--text-muted);font-size:.75rem;display:block}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.spec-form{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:12px;display:grid}.spec-form-field{flex-direction:column;gap:4px;display:flex}.spec-form-actions{grid-column:1/-1}.file-input-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:220px;display:inline-flex;overflow:hidden}.file-input-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-field-group{flex-direction:column;gap:4px;display:flex}
