body{overflow:hidden}.admin-app{height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#073f45 0%,#062f35 100%);color:#fff;padding:19px 14px 15px;display:flex;flex-direction:column;min-height:0;z-index:80}.side-brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:2px 8px 16px}.side-brand img{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 20px rgba(0,0,0,.18)}.side-brand strong{font-size:13px;line-height:1.15;display:block}.side-brand span{font-size:9.5px;color:#9fc1c2;display:block;margin-top:4px;letter-spacing:.03em}.environment-pill{display:flex;align-items:center;gap:8px;margin:0 6px 16px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:10px;font-size:9.5px;color:#b7d1d2}.environment-pill span{width:7px;height:7px;border-radius:50%;background:#79d475;box-shadow:0 0 0 4px rgba(121,212,117,.1)}
.side-nav{overflow:auto;padding:0 2px 20px;scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.nav-group{display:block;color:#6f9a9d;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;padding:15px 10px 7px}.nav-group:first-child{padding-top:2px}.nav-item{width:100%;border:0;background:transparent;color:#b9d0d1;display:flex;align-items:center;gap:10px;min-height:38px;padding:7px 9px;border-radius:10px;text-align:left;font-size:10.5px;font-weight:700;transition:.16s}.nav-item i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#8ab1b3;font-size:13px}.nav-item span{flex:1}.nav-item em{font-style:normal;min-width:20px;height:19px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:8.5px;color:#d1e3e3}.nav-item em.warning{background:rgba(238,162,50,.17);color:#ffc876}.nav-item:hover{background:rgba(255,255,255,.055);color:#fff}.nav-item.active{background:#fff;color:#083f45;box-shadow:0 7px 18px rgba(0,0,0,.15)}.nav-item.active i{background:var(--brand-soft);color:var(--brand)}.nav-item.active em{background:var(--brand);color:#fff}.sidebar-bottom{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.side-health{margin:10px 5px 0;padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045)}.health-head{display:flex;align-items:center;gap:7px}.health-head strong{font-size:9px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#74d173;box-shadow:0 0 0 4px rgba(116,209,115,.1)}.health-bars{display:flex;gap:3px;margin:10px 0 7px}.health-bars span{display:block;height:3px;border-radius:9px;background:#69c9c3;flex:1}.side-health small{display:block;color:#86aaac;font-size:8px}
.main-shell{min-width:0;display:grid;grid-template-rows:66px minmax(0,1fr)}.topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(280px,580px) auto;align-items:center;gap:22px;padding:0 24px;z-index:30}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:10px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:10.5px;white-space:nowrap}.breadcrumb span,.breadcrumb b{color:var(--muted);font-weight:600}.breadcrumb strong{font-weight:800}.mobile-menu{display:none}.topbar-search{min-width:0}.global-search{height:38px;border:1px solid var(--line);background:#f8fbfb;border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--muted)}.global-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;font-size:11px;color:var(--ink)}.global-search kbd,.command-search kbd{font:700 8.5px var(--font);border:1px solid #d7e1e1;border-bottom-width:2px;background:#fff;border-radius:6px;padding:3px 6px;color:var(--muted)}.command-button{border:1px solid var(--line);background:#fff;border-radius:11px;height:38px;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750;color:var(--ink)}.command-button span{color:var(--brand)}.notification-button{position:relative}.notification-button>span{position:absolute;right:8px;top:7px;width:6px;height:6px;background:var(--red);border:2px solid #fff;border-radius:50%}.profile-button{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:0}.profile-copy{display:grid;text-align:left}.profile-copy strong{font-size:10.5px}.profile-copy small{font-size:8.5px;color:var(--muted);margin-top:3px}.content{overflow:auto;padding:23px 25px 38px;background:linear-gradient(180deg,#f7fafa,#f1f6f6)}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:25px;line-height:1.1;letter-spacing:-.035em;margin-bottom:7px}.page-heading p{color:var(--muted);font-size:11.5px;line-height:1.55;margin:0;max-width:650px}.heading-actions{display:flex;align-items:center;gap:8px}.date-chip{height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:9.5px;color:var(--muted);white-space:nowrap}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;min-width:0;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-18px;bottom:-26px;width:72px;height:72px;border-radius:50%;background:var(--brand-soft);opacity:.55}.kpi-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:9.5px;font-weight:750}.kpi-icon{width:28px;height:28px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:13px}.kpi-value{font-size:25px;font-weight:850;letter-spacing:-.045em;margin:11px 0 7px;position:relative;z-index:1}.kpi-foot{font-size:9.5px;color:var(--muted);display:flex;gap:6px;align-items:center;position:relative;z-index:1}.kpi-foot strong{color:#28744d}.kpi-card.risk .kpi-icon{background:var(--red-soft);color:var(--red)}.kpi-card.risk .kpi-foot strong{color:var(--red)}.kpi-card.revenue .kpi-icon{background:var(--lime-soft);color:#638c24}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:15px}.stack{display:grid;gap:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;min-width:0}.panel-head{padding:16px 17px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-head h2{font-size:13px;margin:0 0 4px}.panel-head p{font-size:10px;color:var(--muted);margin:0}.panel-body{padding:15px 17px 17px}.live-map{height:290px;border-radius:14px;background:linear-gradient(145deg,#edf5f4,#e5eeee);position:relative;overflow:hidden;border:1px solid #deebea}.live-map:before,.live-map:after{content:"";position:absolute;inset:-40px;background:repeating-linear-gradient(25deg,transparent 0 38px,rgba(11,98,105,.055) 39px 40px)}.live-map:after{transform:rotate(85deg);opacity:.6}.map-road{position:absolute;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px #dbe6e5;border-radius:999px;z-index:1}.road-a{width:120%;height:13px;left:-10%;top:46%;transform:rotate(-8deg)}.road-b{height:120%;width:12px;left:54%;top:-10%;transform:rotate(10deg)}.map-zone{position:absolute;border:1px dashed rgba(11,98,105,.22);border-radius:50%;z-index:1}.zone-a{width:170px;height:120px;left:12%;top:10%}.zone-b{width:190px;height:145px;right:7%;bottom:4%}.map-pin{position:absolute;z-index:4;transform:translate(-50%,-50%);display:grid;place-items:center}.map-pin b{width:28px;height:28px;border-radius:10px;background:#fff;border:2px solid var(--brand);box-shadow:0 5px 15px rgba(10,68,73,.18);display:grid;place-items:center;font-size:8px;color:var(--brand)}.map-pin.urgent b{border-color:var(--red);color:var(--red);animation:pulse 1.8s infinite}.map-pin.tech b{background:var(--brand);color:#fff}.map-pin small{position:absolute;top:33px;background:#12383d;color:#fff;padding:4px 6px;border-radius:6px;white-space:nowrap;font-size:7.5px;opacity:0;transition:.15s}.map-pin:hover small{opacity:1}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(215,85,85,.12)}}.map-legend{position:absolute;left:12px;bottom:12px;z-index:5;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;gap:12px;font-size:8px;color:var(--muted)}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:7px;height:7px;border-radius:50%;background:var(--brand)}.map-legend .red{background:var(--red)}.map-legend .purple{background:var(--purple)}
.flow-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);margin-top:14px}.flow-step{padding:13px 12px;border-right:1px solid var(--line);position:relative}.flow-step:last-child{border-right:0}.flow-step span{display:block;color:var(--muted);font-size:8.5px;margin-bottom:5px}.flow-step strong{font-size:16px}.flow-step small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.flow-step:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:var(--brand);width:var(--fill,50%)}
.queue-list{display:grid;gap:8px}.queue-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;transition:.15s;cursor:pointer}.queue-item:hover{border-color:#bad0cf;background:#fbfdfd}.priority-bar{width:4px;height:38px;border-radius:99px;background:var(--brand)}.priority-bar.urgent{background:var(--red)}.priority-bar.high{background:var(--amber)}.queue-copy strong{font-size:10.5px;display:block}.queue-copy span{font-size:9px;color:var(--muted);display:block;margin-top:3px}.queue-meta{text-align:right}.queue-meta strong{font-size:9.5px;display:block}.queue-meta span{font-size:8.5px;color:var(--muted);display:block;margin-top:3px}
.tech-mini-list{display:grid;gap:9px}.tech-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.tech-mini-copy strong{font-size:10px;display:block}.tech-mini-copy span{font-size:8.5px;color:var(--muted);display:block;margin-top:2px}.tech-mini-meta{text-align:right;font-size:8.5px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);display:inline-block;margin-right:4px}.status-dot.route{background:var(--amber)}.status-dot.site{background:var(--aqua)}
.alert-list{display:grid;gap:8px}.alert-row{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:11px;background:#f8fbfb}.alert-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:var(--amber-soft);color:#a7690b}.alert-icon.red{background:var(--red-soft);color:var(--red)}.alert-icon.blue{background:var(--blue-soft);color:var(--blue)}.alert-row strong{display:block;font-size:9.5px}.alert-row span{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}.alert-row button{border:0;background:transparent;color:var(--brand);font-size:9px;font-weight:800}
.chart{height:150px;display:flex;align-items:flex-end;gap:8px;padding-top:15px;border-bottom:1px solid var(--line);position:relative}.chart:before,.chart:after{content:"";position:absolute;left:0;right:0;border-top:1px dashed #e4ecec}.chart:before{top:42%}.chart:after{top:70%}.bar-group{height:100%;flex:1;display:flex;align-items:flex-end;gap:3px;position:relative;z-index:1}.bar-group i{display:block;flex:1;border-radius:5px 5px 0 0;background:var(--brand);min-height:8px}.bar-group i.alt{background:var(--aqua);opacity:.65}.chart-labels{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:8px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.filter-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.filter-button{border:1px solid var(--line);background:#fff;color:var(--muted);height:36px;padding:0 11px;border-radius:10px;font-size:9.5px;font-weight:750}.filter-button.active{background:var(--brand);border-color:var(--brand);color:#fff}.search-box{height:36px;min-width:240px;border:1px solid var(--line);background:#fff;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted)}.search-box input{border:0;outline:0;background:transparent;font-size:10px;min-width:0;flex:1}.table-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.job-ref{font-weight:850;color:var(--brand);font-size:10.5px}.tech-cell{display:flex;align-items:center;gap:7px}.tech-cell strong{font-size:10.5px}.unassigned{color:var(--red);font-weight:750;font-size:10px}.health-score{display:flex;align-items:center;gap:7px}.health-score b{font-size:10px;min-width:23px}.health-score .progress{width:58px}.row-actions{display:flex;gap:5px}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(235px,1fr));gap:12px;overflow:auto;padding-bottom:8px}.kanban-col{background:#edf3f3;border:1px solid #dde8e8;border-radius:15px;min-height:520px;padding:10px}.kanban-head{display:flex;align-items:center;justify-content:space-between;padding:4px 3px 11px}.kanban-head strong{font-size:10.5px}.kanban-head span{width:22px;height:22px;border-radius:7px;background:#fff;display:grid;place-items:center;font-size:8.5px;color:var(--muted)}.kanban-stack{display:grid;gap:8px}.work-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;box-shadow:0 3px 10px rgba(14,60,64,.035);cursor:pointer}.work-card:hover{border-color:#b8cecd}.work-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.work-top strong{font-size:9.5px;color:var(--brand)}.work-card h3{font-size:11px;margin:9px 0 4px}.work-card p{font-size:8.5px;color:var(--muted);line-height:1.4;margin:0 0 10px}.work-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #edf2f2;padding-top:9px}.work-footer span{font-size:8.5px;color:var(--muted)}
.schedule-shell{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:auto}.schedule-grid{min-width:1050px;display:grid;grid-template-columns:150px repeat(5,1fr)}.schedule-cell{min-height:92px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;position:relative}.schedule-cell.head{min-height:52px;background:#f8fbfb;text-align:center}.schedule-cell.head strong{font-size:10px;display:block}.schedule-cell.head span{font-size:8.5px;color:var(--muted)}.schedule-person{display:flex;align-items:center;gap:8px}.schedule-person strong{font-size:9.5px;display:block}.schedule-person span{font-size:8px;color:var(--muted);display:block;margin-top:2px}.schedule-event{border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:9px;padding:7px;margin-bottom:6px}.schedule-event.install{border-color:var(--purple);background:var(--purple-soft)}.schedule-event.assessment{border-color:var(--aqua);background:var(--aqua-soft)}.schedule-event strong{font-size:8.5px;display:block}.schedule-event span{font-size:7.5px;color:var(--muted);display:block;margin-top:3px}
.pipeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pipeline-card{padding:15px}.pipeline-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pipeline-card h3{font-size:12px;margin:0 0 5px}.pipeline-card p{font-size:9px;color:var(--muted);margin:0;line-height:1.45}.pipeline-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.pipeline-meta div{padding:8px;background:#f7fafa;border-radius:9px}.pipeline-meta span{display:block;font-size:7.5px;color:var(--muted)}.pipeline-meta strong{display:block;font-size:9px;margin-top:3px}.pipeline-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.pipeline-footer span{font-size:8.5px;color:var(--muted)}
.lifecycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.lifecycle-card{padding:15px}.lifecycle-card h3{font-size:11px;margin:0;color:var(--muted)}.lifecycle-card .amount{font-size:23px;font-weight:850;letter-spacing:-.04em;margin:10px 0 2px}.lifecycle-card .count{font-size:9px;color:var(--muted)}.lifecycle-card .progress{margin:13px 0 7px}.lifecycle-card small{font-size:8.5px;color:var(--muted)}
.inventory-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px}.stock-alerts{display:grid;gap:8px}.stock-alert{padding:11px;border:1px solid var(--line);border-radius:12px}.stock-alert-top{display:flex;justify-content:space-between;gap:8px}.stock-alert strong{font-size:9.5px}.stock-alert p{font-size:8.5px;color:var(--muted);margin:5px 0 9px}.stock-numbers{display:flex;justify-content:space-between;font-size:8.5px;color:var(--muted)}
.workforce-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.person-card{padding:14px}.person-head{display:flex;align-items:center;gap:10px}.person-head>div{min-width:0;flex:1}.person-head strong{display:block;font-size:10.5px}.person-head span{display:block;font-size:8.5px;color:var(--muted);margin-top:3px}.person-status{font-size:8px;font-weight:800}.person-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.person-metrics div{background:#f7fafa;border-radius:9px;padding:8px}.person-metrics span{display:block;font-size:7.5px;color:var(--muted)}.person-metrics strong{display:block;font-size:10px;margin-top:3px}.skill-row{display:flex;gap:5px;flex-wrap:wrap}.skill{font-size:7.5px;background:var(--brand-soft);color:var(--brand);padding:4px 6px;border-radius:6px;font-weight:750}
.quality-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:14px}.water-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.water-metric{padding:11px;background:#f7fafa;border-radius:11px}.water-metric span{font-size:8px;color:var(--muted);display:block}.water-metric strong{font-size:16px;display:block;margin-top:6px}.water-metric small{font-size:7.5px;color:var(--muted)}.quality-map{height:260px;background:radial-gradient(circle at 30% 30%,rgba(54,182,176,.22),transparent 25%),radial-gradient(circle at 70% 65%,rgba(238,162,50,.2),transparent 28%),#edf4f3;border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.quality-map:before{content:"Perth water quality observations";position:absolute;left:13px;top:12px;font-size:8.5px;font-weight:800;color:var(--muted)}.heat-dot{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(54,182,176,.24);border:1px solid rgba(54,182,176,.45);display:grid;place-items:center;font-size:8px;color:var(--brand);font-weight:850}.heat-dot.warn{background:rgba(238,162,50,.22);border-color:rgba(238,162,50,.4);color:#9b640e}
.communication-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.template-list{padding:8px}.template-item{padding:11px;border-radius:11px;cursor:pointer}.template-item.active,.template-item:hover{background:#f0f6f6}.template-item strong{display:block;font-size:9.5px}.template-item span{display:block;font-size:8.5px;color:var(--muted);margin-top:4px}.composer{padding:18px}.message-preview{max-width:480px;background:#e8f3f2;border-radius:16px 16px 16px 4px;padding:14px;font-size:10.5px;line-height:1.6;margin:20px 0}.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.channel-card{padding:12px;border:1px solid var(--line);border-radius:12px}.channel-card strong{font-size:9.5px;display:block}.channel-card span{font-size:8px;color:var(--muted);display:block;margin-top:4px}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-card{padding:15px;min-height:180px}.report-card h3{font-size:11px;margin-bottom:5px}.report-card p{font-size:8.5px;color:var(--muted);line-height:1.5}.sparkline{height:60px;display:flex;align-items:flex-end;gap:4px;margin:15px 0 8px}.sparkline span{flex:1;background:var(--brand-soft);border-radius:4px 4px 0 0}.sparkline span:nth-child(5n+1){background:var(--aqua)}.report-foot{display:flex;align-items:center;justify-content:space-between}.report-foot strong{font-size:14px}.report-foot span{font-size:8.5px;color:#2e7c4f}
.settings-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}.settings-nav{padding:8px}.settings-nav button{width:100%;border:0;background:transparent;border-radius:10px;text-align:left;padding:10px;font-size:9.5px;font-weight:750;color:var(--muted)}.settings-nav button.active{background:var(--brand-soft);color:var(--brand)}.settings-panel{padding:19px}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:10px;display:block}.setting-row span{font-size:8.5px;color:var(--muted);display:block;margin-top:4px;line-height:1.45}
.mobile-backdrop,.drawer-backdrop{position:fixed;inset:0;background:rgba(4,29,33,.35);z-index:75;opacity:0;pointer-events:none;transition:.2s}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,100%);background:#fff;z-index:100;box-shadow:-20px 0 50px rgba(7,48,53,.15);transform:translateX(105%);transition:.25s ease;overflow:auto}.detail-drawer.open{transform:none}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-top{padding:20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);z-index:2}.drawer-title-row{display:flex;justify-content:space-between;gap:12px}.drawer-title-row h2{font-size:18px;margin:7px 0 4px}.drawer-title-row p{font-size:9.5px;color:var(--muted);margin:0}.drawer-body{padding:18px}.drawer-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.info-box{padding:11px;background:#f7fafa;border-radius:11px}.info-box span{font-size:8px;color:var(--muted);display:block}.info-box strong{font-size:9.5px;display:block;margin-top:4px;line-height:1.4}.drawer-section{margin-top:18px}.drawer-section h3{font-size:10.5px;margin-bottom:10px}.risk-list{display:grid;gap:7px}.risk-row{display:flex;gap:8px;align-items:flex-start;padding:9px;background:var(--red-soft);border-radius:10px;color:#9d3b3b;font-size:9px}.timeline{display:grid;gap:0}.timeline-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px}.timeline-mark{position:relative}.timeline-mark:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--brand);top:3px;left:3px}.timeline-mark:after{content:"";position:absolute;width:1px;background:var(--line);top:13px;bottom:-7px;left:6px}.timeline-row:last-child .timeline-mark:after{display:none}.timeline-copy{padding-bottom:12px}.timeline-copy strong{display:block;font-size:9px}.timeline-copy span{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.modal-backdrop{position:fixed;inset:0;background:rgba(5,35,39,.48);z-index:200;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.2s}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{width:min(820px,100%);max-height:93vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(2,25,28,.3)}.modal-header{padding:20px 22px 15px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{font-size:20px;margin:6px 0 0}.request-form{padding:18px 22px 22px}.workflow-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:17px}.workflow-selector button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:8px}.workflow-selector button>span{grid-row:1/3;width:26px;height:26px;border-radius:8px;background:#f0f5f5;display:grid;place-items:center;font-size:8px;color:var(--muted)}.workflow-selector strong{font-size:9.5px}.workflow-selector small{font-size:7.5px;color:var(--muted);margin-top:2px}.workflow-selector button.active{border-color:var(--brand);background:var(--brand-soft)}.workflow-selector button.active>span{background:var(--brand);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.span-2{grid-column:span 2}.automation-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;background:#eef7f6;border:1px solid #d8eae8;border-radius:13px;padding:12px;margin-top:15px}.automation-icon{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--brand);display:grid;place-items:center}.automation-card strong{font-size:9.5px;display:block}.automation-card span{font-size:8.5px;color:var(--muted);display:block;margin-top:3px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.command-palette{position:fixed;inset:0;background:rgba(5,35,39,.42);z-index:250;display:grid;place-items:start center;padding-top:12vh;opacity:0;pointer-events:none;transition:.18s}.command-palette.open{opacity:1;pointer-events:auto}.command-dialog{width:min(560px,calc(100% - 28px));background:#fff;border-radius:17px;box-shadow:0 28px 80px rgba(2,25,28,.3);overflow:hidden}.command-search{height:56px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line)}.command-search input{border:0;outline:0;flex:1;font-size:11px}.command-results{padding:7px}.command-results button{width:100%;border:0;background:#fff;border-radius:11px;padding:10px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;text-align:left;gap:9px}.command-results button:hover{background:#f2f7f7}.command-results button>span{width:32px;height:32px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.command-results strong{font-size:9.5px;display:block}.command-results small{font-size:8px;color:var(--muted);display:block;margin-top:3px}.command-results kbd{font:700 8px var(--font);color:var(--muted)}
@media(max-width:1280px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.overview-grid{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:repeat(2,1fr)}.workforce-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}.profile-copy{display:none}.topbar{grid-template-columns:auto minmax(220px,1fr) auto}.command-button{display:none}}
@media(max-width:980px){.admin-app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-105%);transition:.22s}.sidebar.open{transform:none}.mobile-backdrop.open{opacity:1;pointer-events:auto}.mobile-menu{display:inline-grid}.topbar{padding:0 15px;grid-template-columns:auto 1fr auto}.topbar-search{display:none}.content{padding:18px 16px 32px}.inventory-grid,.quality-grid,.communication-layout,.settings-grid{grid-template-columns:1fr}.lifecycle-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.topbar{height:60px}.main-shell{grid-template-rows:60px 1fr}.breadcrumb span,.breadcrumb b{display:none}.profile-button .avatar{width:34px;height:34px}.notification-button{display:none}.content{padding:15px 12px 28px}.page-heading{display:block}.page-heading h1{font-size:22px}.heading-actions{margin-top:14px;overflow:auto}.date-chip{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.kpi-card{padding:12px}.kpi-value{font-size:21px}.overview-grid{gap:10px}.panel{border-radius:15px}.live-map{height:250px}.flow-strip{grid-template-columns:repeat(5,115px);overflow:auto}.pipeline-grid,.workforce-grid,.report-grid,.lifecycle-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.search-box{min-width:100%;order:-1}.kanban{grid-template-columns:repeat(5,260px)}.water-metrics{grid-template-columns:repeat(2,1fr)}.channel-grid{grid-template-columns:1fr}.workflow-selector{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.automation-card{grid-template-columns:auto 1fr}.automation-card .toggle{grid-column:2}.modal{border-radius:18px}.request-form{padding:15px}.modal-header{padding:17px}.detail-drawer{width:100%}.info-grid{grid-template-columns:1fr}.heading-actions .btn-secondary{display:none}}
