:root{
  --ink:#111827;--muted:#6b7280;--line:#e5e7eb;--panel:#ffffff;--bg:#f3f4f6;
  --red:#d71920;--red-dark:#a70f14;--amber:#f59e0b;--green:#16a34a;--blue:#2563eb;
  --nav-h:76px;--radius:18px;--shadow:0 10px 30px rgba(17,24,39,.09)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:1120px;margin:0 auto;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 18px)}
.offline-banner{position:sticky;top:0;z-index:50;background:#7c2d12;color:#fff;text-align:center;padding:9px 14px;font-weight:750;font-size:13px}.topbar{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;background:linear-gradient(135deg,#080b10,#1f2937);color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#ef4444,#b91c1c);display:grid;place-items:center;font-weight:900;font-size:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 7px 16px rgba(215,25,32,.28)}.brand-copy{min-width:0;flex:1}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#d1d5db}.brand-copy h1{font-size:20px;line-height:1.1;margin:2px 0 0}.profile-button{border:0;background:#fff;color:var(--ink);width:40px;height:40px;border-radius:50%;font-weight:850;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.status-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:9px 16px;font-size:12px;color:var(--muted);position:sticky;top:72px;z-index:20}.status-strip>div{display:flex;align-items:center;gap:7px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}.build-badge{border:1px solid #d1d5db;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:750;white-space:nowrap}
main{padding:18px 14px 26px}.hero{border-radius:24px;padding:20px;background:linear-gradient(135deg,#111827 0%,#263449 60%,#b91c1c 150%);color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.055);right:-80px;top:-110px}.hero .kicker{font-size:12px;font-weight:800;letter-spacing:.08em;color:#fecaca}.hero h2{font-size:27px;line-height:1.05;margin:7px 0}.hero p{margin:0;color:#e5e7eb;max-width:690px}.hero-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.button{border:0;border-radius:12px;padding:11px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:var(--red-dark)}.button.light{background:#fff;color:var(--ink)}.button.ghost{background:#f9fafb;color:var(--ink);border:1px solid var(--line)}.button.success{background:#dcfce7;color:#166534}.button.danger{background:#fee2e2;color:#991b1b}.button.small{padding:8px 10px;font-size:12px}.button.block{width:100%}
.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.kpi{background:#fff;border:1px solid #edf0f3;border-radius:16px;padding:14px;box-shadow:0 6px 16px rgba(17,24,39,.045)}.kpi .label{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:25px;font-weight:900;margin-top:3px}.kpi .sub{font-size:11px;color:var(--muted);margin-top:3px}.kpi.red{border-left:5px solid var(--red)}.kpi.green{border-left:5px solid var(--green)}.kpi.amber{border-left:5px solid var(--amber)}.kpi.blue{border-left:5px solid var(--blue)}
.section{margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-head h3{margin:0;font-size:18px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-list{display:grid;gap:11px}.work-card,.site-card,.issue-card,.action-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;box-shadow:0 5px 14px rgba(17,24,39,.045)}.work-card{position:relative;overflow:hidden}.work-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#9ca3af}.work-card.priority-high:before{background:var(--red)}.work-card.priority-medium:before{background:var(--amber)}.work-card.completed:before{background:var(--green)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.wo-number{font-size:12px;color:var(--muted);font-weight:800}.card-title{font-size:16px;font-weight:900;margin-top:2px}.card-sub{color:var(--muted);font-size:13px;margin-top:3px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;background:#f3f4f6;color:#374151}.tag.high{background:#fee2e2;color:#991b1b}.tag.medium{background:#fef3c7;color:#92400e}.tag.complete{background:#dcfce7;color:#166534}.tag.incomplete{background:#f3f4f6;color:#4b5563}.tag.access{background:#dbeafe;color:#1e40af}.card-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.card-actions .button{flex:1;min-width:110px}.time-chip{font-size:11px;font-weight:900;background:#111827;color:#fff;padding:6px 8px;border-radius:10px;white-space:nowrap}
.filters{background:#fff;border:1px solid var(--line);padding:12px;border-radius:16px;display:grid;gap:9px;margin-bottom:12px}.search{position:relative}.search input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px 12px 11px 38px;background:#fff}.search:before{content:"⌕";position:absolute;left:13px;top:7px;font-size:21px;color:#6b7280}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-row select,.field input,.field select,.field textarea{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:11px;background:#fff;color:var(--ink)}
.empty{padding:28px 16px;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:var(--muted)}.alert-card{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:13px;color:#9a3412;margin-bottom:12px}.security-card{background:#111827;color:#fff;border-radius:14px;padding:12px;margin-top:11px}.security-card strong{color:#fecaca}.site-meta{display:grid;gap:5px;margin-top:10px;color:#4b5563;font-size:13px}.site-meta a{color:#1d4ed8;font-weight:750;text-decoration:none}.site-card .access-warning{margin-top:10px;border-left:4px solid var(--red);padding:8px 10px;background:#fff1f2;border-radius:8px;font-size:12px;color:#881337}
.progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--red),#fb7185);border-radius:999px}.manager-grid{display:grid;gap:12px}.dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.dashboard-panel h4{margin:0 0 12px}.bar-row{display:grid;grid-template-columns:110px 1fr 44px;gap:8px;align-items:center;margin:9px 0;font-size:12px}.bar-track{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b)}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(1120px,100%);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:8px 7px calc(8px + env(safe-area-inset-bottom));display:flex;background:rgba(255,255,255,.97);border-top:1px solid var(--line);backdrop-filter:blur(14px);z-index:40}.nav-item{flex:1;border:0;background:transparent;border-radius:12px;color:#6b7280;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:800;min-width:0}.nav-item.active{background:#fff1f2;color:var(--red)}.nav-icon{font-size:21px;line-height:1}.manager-only[hidden]{display:none!important}
.modal{border:0;border-radius:22px;padding:0;width:min(680px,calc(100% - 22px));max-height:88dvh;box-shadow:0 30px 80px rgba(0,0,0,.3);overflow:hidden}.modal::backdrop{background:rgba(3,7,18,.66);backdrop-filter:blur(3px)}.modal-shell{display:flex;flex-direction:column;max-height:88dvh}.modal-head{padding:16px 17px;background:#111827;color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h3{margin:0;font-size:19px}.modal-head p{margin:4px 0 0;color:#d1d5db;font-size:12px}.icon-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:10px;font-size:20px}.modal-body{padding:16px;overflow:auto;background:#f9fafb}.modal-foot{padding:12px 16px;background:#fff;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.detail .label{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:850}.detail .value{font-size:13px;font-weight:750;margin-top:3px;overflow-wrap:anywhere}.form-grid{display:grid;gap:12px}.field label{display:block;font-size:12px;font-weight:850;margin-bottom:5px}.field textarea{min-height:86px;resize:vertical}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.toggle{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;font-size:12px;font-weight:750}.toggle input{width:19px;height:19px;accent-color:var(--red)}.profile-list{display:grid;gap:8px}.profile-option{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;text-align:left}.profile-option strong{display:block}.profile-option span{font-size:12px;color:var(--muted)}.profile-option.active{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,25,32,.1)}
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#111827;color:#fff;border-radius:12px;padding:11px 14px;font-weight:750;font-size:13px;opacity:0;pointer-events:none;transition:.22s;z-index:80;max-width:calc(100% - 28px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:760px){main{padding:24px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.card-list.grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:2fr 1fr 1fr;align-items:center}.filter-row{display:contents}.manager-grid{grid-template-columns:1.1fr .9fr}.toggle-grid{grid-template-columns:repeat(4,1fr)}.hero{padding:26px}.hero h2{font-size:34px}.bottom-nav{border-radius:20px 20px 0 0;box-shadow:0 -8px 24px rgba(17,24,39,.08)}}
@media(max-width:390px){.brand-copy h1{font-size:17px}.build-badge{display:none}.details-grid{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.card-actions .button{min-width:95px}.nav-item{font-size:9px}}


/* Statewide / Orkin Australia branded presentation layer */
:root{--brand-charcoal:#15171c;--brand-red:#c6141e;--brand-red-deep:#981019;--topbar-h:84px}
html{background:#eef0f3}
body{background:
  radial-gradient(circle at 92% 2%,rgba(198,20,30,.09),transparent 260px),
  linear-gradient(180deg,#eef0f3 0,#f7f7f8 360px,#f3f4f6 100%)}
.app-shell{background:rgba(255,255,255,.24)}
.topbar{min-height:var(--topbar-h);gap:14px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:linear-gradient(112deg,#111318 0%,#20242c 66%,#2b1518 100%);border-bottom:3px solid var(--brand-red);box-shadow:0 10px 28px rgba(10,12,16,.26)}
.brand-logo-plate{width:78px;height:58px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:13px;padding:4px 7px;box-shadow:0 7px 18px rgba(0,0,0,.24),inset 0 0 0 1px rgba(198,20,30,.12);overflow:hidden}
.brand-logo-plate img{display:block;width:100%;height:100%;object-fit:contain}
.brand-copy{min-width:0;flex:1}.eyebrow{font-size:9px;letter-spacing:.17em;color:#f3c5c8}.brand-copy h1{font-size:21px;letter-spacing:-.015em;margin:2px 0 0}.brand-subline{font-size:10px;color:#d1d5db;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-button{background:linear-gradient(145deg,#fff,#f4f4f5);border:2px solid rgba(198,20,30,.72);box-shadow:0 5px 14px rgba(0,0,0,.24);color:var(--brand-charcoal)}
.status-strip{top:calc(var(--topbar-h) + env(safe-area-inset-top));border-bottom:1px solid #dedfe2;box-shadow:0 3px 10px rgba(17,24,39,.04)}
.build-badge{border-color:rgba(198,20,30,.25);background:#fff5f5;color:#8e1118}
.hero{isolation:isolate;background:linear-gradient(128deg,#12151b 0%,#252b35 58%,#72131a 126%);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 40px rgba(17,24,39,.16)}
.hero:before{content:"";position:absolute;z-index:-1;right:-8px;bottom:-24px;width:175px;height:130px;background:url('./assets/statewide-logo-transparent.png') center/contain no-repeat;opacity:.085;filter:grayscale(1) brightness(3)}
.hero:after{z-index:-2;background:rgba(198,20,30,.12)}
.hero .kicker{color:#ffb7bc}.hero h2{text-shadow:0 2px 14px rgba(0,0,0,.24)}
.button.primary{background:linear-gradient(135deg,var(--brand-red),#e02b34);box-shadow:0 7px 16px rgba(198,20,30,.22)}.button.primary:hover{background:linear-gradient(135deg,var(--brand-red-deep),var(--brand-red))}
.kpi,.work-card,.site-card,.issue-card,.action-card,.dashboard-panel,.filters{border-color:#e2e3e6;box-shadow:0 8px 22px rgba(20,22,27,.055)}
.work-card:before{width:6px}.section-head h3{letter-spacing:-.01em}
.bottom-nav{border-top:1px solid #dadce0;box-shadow:0 -10px 30px rgba(20,22,27,.09)}
.nav-item{position:relative}.nav-item.active{background:#fff1f2;color:var(--brand-red)}.nav-item.active:before{content:"";position:absolute;top:-8px;width:34px;height:3px;border-radius:0 0 8px 8px;background:var(--brand-red)}
.modal-head{background:linear-gradient(118deg,#111318,#292d35 70%,#68131a);border-bottom:3px solid var(--brand-red)}
.app-brand-footer{margin:2px 14px 24px;padding:15px 16px 14px;background:rgba(255,255,255,.92);border:1px solid #e1e2e5;border-top:3px solid var(--brand-red);border-radius:18px;box-shadow:0 8px 22px rgba(20,22,27,.06);overflow:hidden}
.footer-lockup{display:flex;align-items:center;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #ececef}.footer-statewide-logo{width:64px;height:43px;object-fit:contain;flex:none}.footer-lockup strong{display:block;font-size:13px;color:#1b1d22}.footer-lockup span{display:block;margin-top:2px;font-size:10px;color:#6b7280}.footer-brand-family{display:block;width:100%;height:auto;max-height:58px;object-fit:contain;object-position:center}
@media(min-width:760px){.brand-logo-plate{width:88px;height:63px}.brand-copy h1{font-size:23px}.app-brand-footer{margin:4px 24px 26px;padding:17px 20px}.footer-lockup{display:none}.footer-brand-family{max-height:68px}}
@media(max-width:390px){:root{--topbar-h:80px}.topbar{gap:10px;padding-left:11px;padding-right:11px}.brand-logo-plate{width:67px;height:52px;border-radius:11px;padding:3px 5px}.brand-copy h1{font-size:17px}.eyebrow{font-size:8px;letter-spacing:.12em}.brand-subline{font-size:9px}.profile-button{width:38px;height:38px}.app-brand-footer{margin-left:10px;margin-right:10px;padding:12px}.footer-statewide-logo{width:55px;height:38px}.footer-brand-family{max-height:44px}}
