:root{--bg:#f4f5f7;--panel:#fff;--ink:#1a1d23;--sub:#5b6270;--line:#e2e5ea;--accent:#c0392b;--accent2:#1c1f26;--ok:#1e8e5a;--warn:#c9820a;--rush:#c0392b;--queued:#8892a0;--setup:#c9820a;--prod:#2563eb;--insp:#7c3aed;--done:#1e8e5a;--shipped:#5b6270}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14161a;--panel:#1d2026;--ink:#eef0f3;--sub:#9aa2b1;--line:#2c313b}}:root[data-theme=dark]{--bg:#14161a;--panel:#1d2026;--ink:#eef0f3;--sub:#9aa2b1;--line:#2c313b}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}header{display:flex;align-items:center;gap:14px;padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top,0px));background:var(--accent2);color:#fff;position:sticky;top:0;z-index:10}header .logo{width:34px;height:34px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:800}header h1{font-size:17px;margin:0;font-weight:700;letter-spacing:.2px}header .sub{font-size:12px;color:#c6cad3;margin-top:1px}nav{display:flex;gap:4px;overflow-x:auto;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:9}nav button{border:none;background:transparent;color:var(--sub);padding:9px 14px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}nav button.active{background:var(--accent);color:#fff}main{max-width:1200px;margin:0 auto;padding:18px 16px 60px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:0 0 6px}label{font-size:12px;color:var(--sub);display:block;margin-bottom:3px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:13.5px;font-family:inherit}textarea{min-height:60px;resize:vertical}.field{margin-bottom:10px}button.btn{border:none;background:var(--accent);color:#fff;padding:9px 16px;border-radius:8px;font-weight:700;font-size:13.5px;cursor:pointer}button.btn.secondary{background:var(--bg);color:var(--ink);border:1px solid var(--line)}button.btn.small{padding:6px 10px;font-size:12px}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;color:#fff}.badge.Queued{background:var(--queued)}.badge.InSetup{background:var(--setup)}.badge.InProduction{background:var(--prod)}.badge.Inspection{background:var(--insp)}.badge.Complete{background:var(--done)}.badge.Shipped{background:var(--shipped)}.pri{font-weight:800;font-size:11px;padding:2px 8px;border-radius:6px}.pri.Low{color:var(--sub);background:var(--bg)}.pri.Normal{color:#2563eb;background:#e8effe}.pri.High{color:var(--warn);background:#fdf0da}.pri.Rush{color:#fff;background:var(--rush)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}th{color:var(--sub);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}tr.job-row{cursor:pointer}tr.job-row:hover{background:var(--bg)}.overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;z-index:50}.modal{background:var(--panel);border-radius:14px;max-width:640px;width:100%;padding:20px;margin-top:20px}.modal h2{display:flex;justify-content:space-between;align-items:center}.closex{cursor:pointer;color:var(--sub);font-size:20px;background:none;border:none}.filecard{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;font-size:12.5px}.filecard a{color:var(--accent);text-decoration:none;font-weight:600}.empty{color:var(--sub);font-size:13px;padding:20px;text-align:center}.tv{background:#0c0d10;color:#fff;min-height:100vh;padding:24px}.tv h1{font-size:26px;margin:0 0 4px}.tv .clock{color:#9aa2b1;font-size:14px}.tvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}.tvcard{background:#1a1c22;border-radius:14px;padding:16px;border-left:6px solid var(--queued)}.tvcard.InSetup{border-color:var(--setup)}.tvcard.InProduction{border-color:var(--prod)}.tvcard.Inspection{border-color:var(--insp)}.tvcard.Complete{border-color:var(--done)}.tvjob{font-size:20px;font-weight:800}.tvpart{color:#c6cad3;font-size:13px;margin-top:2px}.tvdue{margin-top:10px;font-size:13px;color:#9aa2b1}@media print{header,nav,.no-print{display:none!important}body{background:#fff}.panel{border:none;padding:0}}body.auth-locked>header,body.auth-locked>nav,body.auth-locked>main{display:none!important}#auth-screen{display:none}body.auth-locked #auth-screen{position:fixed;z-index:100;inset:0;display:grid;place-items:center;overflow-y:auto;padding:max(24px,env(safe-area-inset-top,0px)) 18px max(24px,env(safe-area-inset-bottom,0px));background:var(--bg);color:var(--ink)}.auth-card{width:min(100%,410px);padding:34px 34px 30px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 55px #12161d1f;animation:auth-arrive .26s ease-out both}.auth-mark{display:grid;width:42px;height:42px;margin-bottom:25px;place-items:center;border-radius:10px;background:var(--accent);color:#fff;font-size:20px;font-weight:800}.auth-eyebrow{margin:0 0 7px;color:var(--sub);font-size:10px;font-weight:700;letter-spacing:.11em}.auth-card h1{margin:0;color:var(--ink);font-size:25px;letter-spacing:-.035em}.auth-intro{margin:8px 0 26px;color:var(--sub);font-size:13px}.auth-field{margin-bottom:16px}.auth-field label{margin-bottom:6px;color:var(--ink);font-size:12px;font-weight:650}.auth-field input{min-height:42px;padding:10px 12px;border-color:var(--line);background:var(--bg);font-size:14px}.auth-field input:focus{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);border-color:var(--accent)}#auth-message{min-height:18px;margin:-2px 0 10px;color:var(--accent);font-size:12px}#sign-in-submit{width:100%;min-height:43px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .14s ease,transform .14s ease}#sign-in-submit:hover:not(:disabled){transform:translateY(-1px)}#sign-in-submit:disabled{cursor:wait;opacity:.65}#firebase-config-help:not([hidden]){margin:17px 0 0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--sub);font-size:11px;line-height:1.55}#firebase-config-help code{color:var(--ink)}#sign-out-btn{display:none;margin-left:auto;padding:7px 11px;border:1px solid rgba(255,255,255,.3);border-radius:7px;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer}body.auth-unlocked #sign-out-btn{display:block}#sign-out-btn:hover:not(:disabled){background:#ffffff1a}#sign-out-btn:disabled{cursor:wait;opacity:.65}@keyframes auth-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.auth-card{padding:28px 23px 24px}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}#sign-in-submit{transition:none}}
