:root{--bg:#f8fcff;--panel:#fff;--panel-strong:#fff;--panel-soft:#f3f9fb;--field:#fff;--surface:#f3f9fb;--surface-strong:#eaf2f5;--topbar:#020509;--topbar-field:#071019;--topbar-ink:#fff;--line:#d4e2e8;--text:#101923;--muted:#52677a;--blue:#1677ff;--cyan:#13c8d8;--green:#84cc16;--brand:#0891b2;--brand-strong:#22c55e;--warm:#f97316;--red:#ef4444;--shadow:0 14px 34px #0f2b3d1a;--modal-scrim:#0f172a8c;--day-bg:#fff;--day-other-bg:#f4f9fb;--calendar-head-bg:#ecf6f8;--week-total-bg:#fff;--card-base:#fff;--status-color:#94a3b8;--status-light:#d8e1e8;--dashboard-neutral:color-mix(in srgb, var(--panel-soft) 92%, var(--text) 8%);--dashboard-warm:linear-gradient(135deg, #f97316, #ef4444);--dashboard-action:linear-gradient(135deg, var(--blue), var(--green))}.theme-light{--bg:#f8fcff;--panel:#fff;--panel-strong:#fff;--panel-soft:#f3f9fb;--field:#fff;--surface:#f3f9fb;--surface-strong:#eaf2f5;--topbar:#020509;--topbar-field:#071019;--topbar-ink:#fff;--line:#d4e2e8;--text:#10202d;--muted:#51697b;--day-bg:#fff;--day-other-bg:#f4f9fb;--calendar-head-bg:#ecf6f8;--week-total-bg:#fff;--card-base:#fff;--dashboard-neutral:#eef5fa}.theme-dark{--bg:#05080d;--panel:#0d141c;--panel-strong:#111b26;--panel-soft:#0a1118;--field:#071019;--surface:#0a1118;--surface-strong:#172231;--topbar:#020509;--topbar-field:#071019;--topbar-ink:#edf7ff;--line:#1f3444;--text:#edf7ff;--muted:#95a8ba;--brand:#13c8d8;--brand-strong:#7ee66c;--blue:#1d9bf0;--green:#8ade57;--day-bg:#0a1118;--day-other-bg:#070c12;--calendar-head-bg:#0f1b25;--week-total-bg:#0d1620;--card-base:#05080d;--dashboard-neutral:#162332;--shadow:0 18px 38px #0000006b;--modal-scrim:#000000ad}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Avenir,Avenir Next,Inter,Segoe UI,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.viewer-shell{background:linear-gradient(180deg, var(--bg) 0%, #fff 34%, #f2faf8 100%);min-height:100vh;color:var(--text)}.theme-dark.viewer-shell{background:linear-gradient(#020509 0%,#071019 46%,#05080d 100%)}.topbar{z-index:40;background:var(--topbar);color:var(--topbar-ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid #172635;grid-template-columns:minmax(260px,.85fr) minmax(360px,760px) minmax(180px,.55fr);align-items:center;gap:16px;padding:12px 18px 10px;display:grid;position:sticky;top:0;box-shadow:0 10px 28px #0f2b3d14}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-lockup strong{color:#fff;font-size:25px;font-style:italic;font-weight:700;line-height:1;display:block}.brand-lockup strong span{background:linear-gradient(90deg,#9dff4f 0%,#18e3d4 52%,#1687ff 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.brand-lockup small{color:var(--brand);letter-spacing:1.6px;margin-top:4px;font-size:10px;font-weight:600;display:block}.target-icon{border:3px solid var(--brand);border-radius:50%;width:42px;height:42px;position:relative;box-shadow:0 0 18px #0ea5e938}.target-icon:before,.target-icon:after,.target-icon i,.target-icon b{content:"";background:var(--brand);border-radius:999px;position:absolute}.target-icon:before{width:60px;height:3px;top:18px;left:-12px}.target-icon:after{width:3px;height:60px;top:-12px;left:18px}.target-icon i{background:var(--topbar);border:3px solid var(--brand);border-radius:50%;width:18px;height:18px;top:9px;left:9px}.search-wrap{gap:10px;display:flex}.search-wrap input,.login-card input{width:100%;min-height:44px;color:var(--topbar-ink);background:var(--topbar-field);caret-color:var(--topbar-ink);border:1px solid #1f3444;border-radius:8px;outline:none;padding:0 16px}.search-wrap input:focus,.login-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #13c8d82e}.search-wrap input::placeholder{color:color-mix(in srgb, var(--topbar-ink) 62%, transparent)}.search-wrap button,.topbar button,.calendar-nav button,.empty-shell button,.login-card button{color:#fff;background:linear-gradient(135deg, var(--blue), var(--brand-strong));border:0;border-radius:6px;padding:11px 16px;font-weight:500}.search-wrap button{color:#fff;background:#172231}.search-wrap button:hover{background:#203044}.freshness{text-align:right;color:var(--topbar-ink);justify-self:end}.freshness span{color:#95a8ba;text-transform:uppercase;font-size:11px;display:block}.freshness strong{font-size:13px}.tabs{z-index:35;background:var(--topbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #1f3444b3;border-bottom:1px solid #172635;justify-content:center;gap:48px;padding:12px 20px 0;display:flex;position:sticky;top:67px}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 24px;font-weight:500}.tabs button.active{color:var(--brand);border-color:var(--brand)}.dashboard{gap:14px;padding:18px;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.job-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-card,.content-panel,.calendar-section{background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--blue) 75%, white), color-mix(in srgb, var(--green) 74%, white)) border-box;box-shadow:0 0 20px color-mix(in srgb, var(--blue) 12%, transparent), var(--shadow);border:1px solid #0000;border-radius:8px}.dash-card{min-height:228px;padding:12px}.dash-card h3,.content-panel h2,.content-panel h3{letter-spacing:0;margin:0 0 10px;font-size:14px}.mini-record,.record-row,.calendar-job{text-align:left;width:100%;color:var(--text);background:color-mix(in srgb, var(--panel-soft) 85%, transparent);border:1px solid var(--line);border-radius:8px}.mini-record{margin-top:10px;padding:9px 10px;display:block}.mini-record span,.record-row span,.calendar-job span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.content-panel{margin:0 20px 22px;padding:18px}.record-list{gap:10px;display:grid}.record-row{padding:12px 14px}.mini-record:hover,.record-row:hover{border-color:var(--blue);box-shadow:0 0 14px color-mix(in srgb, var(--blue) 18%, transparent)}.pie{width:158px;height:158px;box-shadow:0 0 24px color-mix(in srgb, var(--blue) 24%, transparent);border-radius:50%;place-items:center;margin:8px auto 16px;display:grid;position:relative}.pie:after{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:7px}.pie span{z-index:1;font-size:26px;font-weight:700;position:relative}.legend{flex-wrap:wrap;gap:8px;display:flex}.legend span,.pill,.tag-row span{color:#fff;border-radius:6px;align-items:center;padding:5px 9px;font-size:12px;font-weight:500;display:inline-flex}.legend .neutral{background:var(--dashboard-neutral);color:var(--text);border:1px solid var(--line)}.legend .warm{background:var(--dashboard-warm);box-shadow:0 0 10px #f9731657}.legend .action{background:var(--dashboard-action);box-shadow:0 0 10px color-mix(in srgb, var(--blue) 34%, transparent)}.production strong{margin-top:20px;font-size:30px;display:block}.production span,.production em{color:var(--muted);margin-top:8px;font-style:normal;display:block}.bars{gap:10px;display:grid}.bar-row{color:var(--muted);grid-template-columns:38px 1fr 34px;align-items:center;gap:9px;font-size:12px;display:grid}.bar-row i{background:color-mix(in srgb, var(--panel-soft) 78%, var(--line));border-radius:999px;height:9px;overflow:hidden}.bar-row b{border-radius:inherit;background:linear-gradient(135deg, var(--blue), var(--green));height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--blue) 35%, transparent);display:block}.calendar-section{margin:20px;overflow:visible}.calendar-nav{z-index:30;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #0000;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:119px}.calendar-nav strong{border:1px solid var(--line);background:var(--panel);min-height:36px;box-shadow:var(--shadow);border-radius:999px;align-items:center;margin-right:auto;padding:6px 14px;font-size:20px;display:inline-flex}.calendar-nav button{min-height:36px;box-shadow:var(--shadow);border-radius:999px}.calendar-nav button:nth-of-type(2){background:#172231}.calendar-nav button:nth-of-type(2):hover{background:#203044}.calendar-grid{grid-template-columns:repeat(5,minmax(190px,1fr)) 150px;gap:8px;padding:0 14px 8px;display:grid}.labels{color:var(--brand);text-align:center;text-transform:uppercase;padding-top:8px;font-size:12px;font-weight:600}.labels span,.day,.week-total{border:1px solid var(--line);border-radius:8px}.day{background:var(--day-bg);min-height:180px;padding:0 0 8px;overflow:hidden}.day h4{color:var(--muted);background:var(--calendar-head-bg);align-items:center;min-height:32px;margin:0 0 8px;padding:7px 9px;font-size:13px;font-weight:500;display:flex}.muted-day{background:var(--day-other-bg)}.calendar-job{--status-color:#94a3b8;--status-light:#d8e1e8;width:calc(100% - 14px);color:var(--text);background:linear-gradient(180deg, color-mix(in srgb, var(--status-color) 46%, var(--card-base)) 0%, color-mix(in srgb, var(--status-color) 24%, var(--card-base)) 38%, color-mix(in srgb, var(--status-color) 7%, var(--card-base)) 82%) padding-box, linear-gradient(135deg, var(--status-light), var(--status-color)) border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-color) 44%, transparent), inset 0 0 22px color-mix(in srgb, var(--status-color) 16%, transparent), 0 0 22px color-mix(in srgb, var(--status-color) 34%, transparent), 0 10px 22px #02061714;border:2px solid #0000;margin:7px;padding:8px 9px;font-size:12px;display:block;position:relative;overflow:hidden}.calendar-job strong{margin-bottom:3px;font-size:13px;display:block}.calendar-job em{color:var(--text);margin-top:9px;font-size:12px;font-style:normal;display:block}.status-open{--status-color:#94a3b8;--status-light:#d8e1e8}.status-checked{--status-color:#fde047;--status-light:#fff7a8}.status-ready{--status-color:#fb923c;--status-light:#ffc27d}.status-cutting{--status-color:#f9a8d4;--status-light:#ffd7eb}.status-cut{--status-color:#ec4899;--status-light:#ff86c2}.status-building{--status-color:#86efac;--status-light:#c2ffd4}.status-built{--status-color:#16a34a;--status-light:#4ade80}.status-pick-up{--status-color:#b91c1c;--status-light:#f87171}.status-delivered{--status-color:#0ea5e9;--status-light:#67e8f9}.status-closed{--status-color:#020509;--status-light:#64748b}.pill-row,.tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.pill{background:var(--surface-strong);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.theme-light .pill[style]{color:#fff}.theme-light .pill:not([style]){color:var(--text);background:var(--surface-strong)}.theme-dark .pill:not([style]){color:#edf7ff;background:#172231}.theme-dark .calendar-job,.theme-dark .calendar-job span,.theme-dark .calendar-job em,.theme-dark .calendar-job .tag-row span,.theme-dark .week-total,.theme-dark .week-total strong,.theme-dark .legend .neutral{color:#edf7ff}.tag-row span{background:color-mix(in srgb, var(--panel-soft) 82%, transparent);border:1px solid color-mix(in srgb, var(--green) 72%, transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 24%, transparent), 0 0 12px color-mix(in srgb, var(--green) 42%, transparent)}.week-total{text-align:center;background:linear-gradient(var(--week-total-bg), var(--week-total-bg)) padding-box, linear-gradient(135deg, var(--status-light), var(--status-color)) border-box;height:100%;min-height:180px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--status-color) 28%, transparent), 0 0 18px color-mix(in srgb, var(--status-color) 20%, transparent);border:2px solid #0000;align-content:center;gap:7px;padding:12px;display:grid}.week-total strong{font-size:18px}.week-total span,.week-total em{color:var(--muted);font-size:12px;font-style:normal}.rolodex-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.contact-card{text-align:left;width:100%;color:var(--text);background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--brand) 62%, transparent), color-mix(in srgb, var(--green) 55%, transparent)) border-box;box-shadow:0 0 18px color-mix(in srgb, var(--brand) 12%, transparent);border:1px solid #0000;border-radius:8px;padding:14px;display:block}.contact-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 24%, transparent), 0 0 22px color-mix(in srgb, var(--brand) 20%, transparent)}.contact-card span,.contact-card p{color:var(--muted);margin:6px 0 0;display:block}.divider{border-top:1px solid var(--line);padding-top:18px}.modal-backdrop{z-index:80;background:var(--modal-scrim);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.detail-modal{background:linear-gradient(var(--panel), var(--panel)) padding-box, linear-gradient(135deg, var(--brand), var(--green)) border-box;width:min(1080px,96vw);max-height:88vh;box-shadow:0 0 32px #13c8d847, var(--shadow);border:1px solid #0000;border-radius:8px;overflow:hidden}.detail-modal header{border-bottom:1px solid var(--line);background:var(--panel-soft);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.detail-modal header h2{margin:0;font-size:18px}.detail-modal header button{color:#fff;background:linear-gradient(135deg, var(--red), var(--warm));border:0;border-radius:6px;padding:10px 16px;font-weight:500;box-shadow:inset 0 0 0 1px #ffffff2e,0 0 14px #f9731657}.detail-grid{grid-template-columns:1fr 320px;max-height:calc(88vh - 72px);display:grid;overflow:auto}.detail-grid section,.detail-grid aside{padding:12px}.detail-grid aside{border-left:1px solid var(--line)}.contact-detail-body{gap:10px;max-height:calc(88vh - 72px);padding:12px;display:grid;overflow:auto}.rolodex-modal{width:min(680px,96vw)}.contact-info{background:linear-gradient(var(--panel-soft), var(--panel-soft)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--brand) 40%, transparent), color-mix(in srgb, var(--green) 34%, transparent)) border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 8%, transparent);border:1px solid #0000;border-radius:8px;gap:6px;padding:12px;display:grid}.contact-info span{color:var(--brand);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:700}.contact-info strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.35}.info{gap:4px;margin-top:13px;display:grid}.info span,.note span{color:var(--muted);font-size:12px}.info strong{background:color-mix(in srgb, var(--panel-soft) 88%, transparent);border:1px solid var(--line);border-radius:7px;min-height:39px;padding:9px 10px}.note{border-top:1px solid var(--line);padding:12px 0}.note p{margin:6px 0 0}.system-note p{color:var(--muted);font-size:12px}.login-shell,.empty-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card,.empty-shell>div,.empty-shell{text-align:center}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:min(440px,100%);padding:28px;box-shadow:0 0 50px #18d4ff1f}.login-card .brand-lockup{justify-content:center}.login-error{color:#991b1b;margin-top:12px}.theme-dark .login-error{color:#ffd7d7}.theme-light .login-card input{color:#fff}.theme-light .login-card input::placeholder{color:#ffffff9e}.login-card button{width:100%;margin-top:14px}@media (width<=1050px){.topbar{grid-template-columns:1fr}.freshness{text-align:left;justify-self:start}.two-up,.job-grid,.detail-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(5,minmax(160px,1fr)) 130px}.calendar-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:10px;overflow:visible}.calendar-nav{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;gap:8px;padding:10px;display:grid;position:static}.calendar-nav strong{text-align:center;order:-1;grid-column:1/-1;justify-self:center;margin:0}.calendar-nav button{width:100%;padding:10px 8px}.labels{display:none!important}.calendar-grid,.calendar-grid.week{grid-template-columns:1fr;display:grid}.day{border-right:0;min-height:0}.day:empty{min-height:50px}.day:not(:has(.calendar-job)){min-height:50px}.week{border:0;border-radius:0;margin-top:12px;overflow:visible}.week-total{background:color-mix(in srgb, var(--surface-strong) 68%, transparent);border-right:0;min-height:112px}}@media (width<=760px){.topbar{gap:12px;padding:14px;position:static}.brand-lockup strong{font-size:22px}.target-icon{width:34px;height:34px}.target-icon:before{width:48px;top:15px;left:-10px}.target-icon:after{height:48px;top:-10px;left:15px}.target-icon i{width:14px;height:14px;top:7px;left:7px}.search-wrap{grid-template-columns:1fr auto;display:grid}.tabs{justify-content:flex-start;gap:6px;padding:8px 10px 0;position:static;overflow-x:auto}.tabs button{white-space:nowrap;padding:10px 14px}.dashboard,.content-panel,.calendar-section{margin:10px;padding:12px}.dashboard{padding:10px;display:grid}.calendar-section{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.calendar-nav{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;gap:8px;padding:10px;display:grid;position:static}.calendar-nav strong{text-align:center;order:-1;grid-column:1/-1;margin:0}.calendar-nav button{width:100%;padding:10px 8px}.calendar-nav button:nth-of-type(2){grid-column:auto}.labels{display:none!important}.calendar-grid,.calendar-grid.week{grid-template-columns:1fr;display:grid}.day{border-right:0;min-height:0}.day:empty{min-height:50px}.day:not(:has(.calendar-job)){min-height:50px}.week{border:0;border-radius:0;margin-top:12px;overflow:visible}.week-total{background:color-mix(in srgb, var(--surface-strong) 68%, transparent);border-right:0}.calendar-job strong,.record-row strong,.mini-record strong{overflow-wrap:anywhere}.detail-modal{width:96vw;max-height:92vh}.detail-modal header{align-items:flex-start;gap:10px}.detail-modal header h2{font-size:18px}.detail-grid aside{border-left:0;border-top:1px solid var(--line)}}
