/* Local operations workspace. Kept separate from legacy/staff screens. */
body.ops-admin{--ops-bg:#f3f7f8;--ops-panel:#fff;--ops-ink:#153345;--ops-muted:#58717f;--ops-line:#dbe6e9;--ops-accent:#187b95;--ops-soft:#e8f4f6;--ops-shadow:0 8px 24px #143c5010;background:var(--ops-bg)!important;color:var(--ops-ink)!important}
html[data-cooltrack-theme="dark"] body.ops-admin{--ops-bg:#0b1b27;--ops-panel:#132b39;--ops-ink:#eff8fa;--ops-muted:#aac0c9;--ops-line:#2a4957;--ops-accent:#59b9cc;--ops-soft:#1c3c4c;--ops-shadow:0 8px 24px #0003}
body.ops-admin .shell{background:var(--ops-bg)!important}
html:has(>body.ops-admin),body.ops-admin{overflow-x:hidden}
body.ops-admin .shell,body.ops-admin .shell>main,body.ops-admin #app{min-width:0;overflow-x:clip}
body.ops-admin .content.ops-page{max-width:1720px;padding:30px clamp(18px,2.4vw,40px) 65px;color:var(--ops-ink)}
body.ops-admin .ops-page *{box-sizing:border-box}
body.ops-admin .ops-page .panel{background:var(--ops-panel)!important;border:1px solid var(--ops-line)!important;border-radius:17px!important;box-shadow:var(--ops-shadow);min-width:0;overflow:hidden}
body.ops-admin .ops-page .panel>header{padding:20px 22px 10px;display:flex;align-items:flex-start;gap:14px;justify-content:space-between}
body.ops-admin .ops-page .panel h2{font-size:17px!important;line-height:1.3;color:var(--ops-ink)!important;letter-spacing:0}
body.ops-admin .ops-page .panel header p{color:var(--ops-muted)!important;font-size:12px!important;margin:4px 0 0}
body.ops-admin .ops-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 24px}
body.ops-admin .ops-heading .eyebrow{font-size:10px;color:var(--ops-accent)!important;letter-spacing:1.7px;font-weight:750}
body.ops-admin .ops-heading h1{font-size:clamp(26px,2.2vw,34px);line-height:1.2;font-weight:700;letter-spacing:-.35px;color:var(--ops-ink)!important}
body.ops-admin .ops-heading .sub{font-size:14px;color:var(--ops-muted)!important;margin-top:8px}
body.ops-admin .ops-heading .actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px}
body.ops-admin .ops-mobile-back{display:none}
body.ops-admin .ops-page .page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important}
body.ops-admin .ops-page .page-head h1{font-size:clamp(26px,2.2vw,34px);line-height:1.2;font-weight:700;letter-spacing:-.35px;color:var(--ops-ink)!important}
body.ops-admin .ops-page .page-head .eyebrow{color:var(--ops-accent)!important;letter-spacing:1.7px}
body.ops-admin .ops-page .page-head .sub{font-size:14px;color:var(--ops-muted)!important}
body.ops-admin .ops-page .page-head .actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
body.ops-admin .ops-page .btn{min-height:43px;border-radius:10px;font-weight:600;padding:9px 15px;box-shadow:none}
body.ops-admin .ops-page .btn.primary{background:#176f89!important;border-color:#176f89!important;color:#fff!important}
body.ops-admin .ops-page .btn.primary:hover{background:#0b536e!important}
body.ops-admin .ops-page .btn.secondary{background:var(--ops-panel)!important;border-color:var(--ops-line)!important;color:var(--ops-ink)!important}
body.ops-admin .ops-page .btn.secondary:hover,body.ops-admin .ops-page button:hover{border-color:var(--ops-accent)}
body.ops-admin .ops-page button:focus-visible,body.ops-admin .ops-page input:focus-visible,body.ops-admin .ops-page select:focus-visible,body.ops-admin .ops-site-switch select:focus-visible{outline:3px solid #53b9d688;outline-offset:2px}
body.ops-admin .ops-page .ui-icon,body.ops-admin .ops-topbar .ui-icon{width:18px;height:18px;flex:none}
body.ops-admin .ops-topbar{position:relative;z-index:100;overflow:visible;isolation:isolate;gap:10px;justify-content:flex-start!important;padding:0 clamp(16px,2.4vw,40px)!important;background:var(--ops-panel)!important;border-color:var(--ops-line)!important}
body.ops-admin .ops-topbar .account{margin-left:auto}
body.ops-admin .ops-site-switch{position:relative;z-index:2;display:flex;align-items:center;gap:12px;min-width:255px;padding:6px 12px;border:1px solid var(--ops-line);border-radius:11px;background:var(--ops-soft);color:var(--ops-ink)}
body.ops-admin .ops-site-switch>svg{color:var(--ops-accent)}
body.ops-admin .ops-site-switch span{min-width:0;display:block;flex:1}
body.ops-admin .ops-site-switch small{font-size:10px;line-height:1;display:block;color:var(--ops-muted)}
body.ops-admin .ops-site-switch select{font:600 13px 'CoolTrack Prompt',Tahoma,sans-serif;border:0;background:transparent;max-width:100%;width:100%;color:var(--ops-ink);cursor:pointer;padding:2px 15px 2px 0}
body.ops-admin .ops-select-component{position:relative;width:100%;min-width:0}
body.ops-admin .ops-native-select{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
body.ops-admin .ops-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--ops-line);border-radius:10px;background:var(--ops-panel);color:var(--ops-ink);font:600 14px 'Inter','IBM Plex Sans Thai',sans-serif;text-align:left;cursor:pointer;transition:border-color 160ms ease-out,box-shadow 160ms ease-out,background-color 160ms ease-out}
body.ops-admin .ops-select-trigger i{font-style:normal;font-size:17px;line-height:1;transition:transform 160ms ease-out}
body.ops-admin .ops-select-component.open .ops-select-trigger{border-color:var(--ops-accent);box-shadow:0 0 0 3px #31a4b42d}
body.ops-admin .ops-select-component.open .ops-select-trigger i{transform:rotate(180deg)}
body.ops-admin .ops-select-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1200;display:grid;width:max-content;min-width:100%;max-width:min(360px,calc(100vw - 36px));padding:6px;border:1px solid #cddce1;border-radius:11px;background:#fff!important;color:#173443;box-shadow:0 18px 42px #102e3d4a;visibility:hidden;opacity:0;transform:translateY(-4px) scale(.985);pointer-events:none;transition:opacity 150ms ease-in,transform 150ms ease-in,visibility 0s linear 150ms}
body.ops-admin .ops-select-component.open .ops-select-menu{visibility:visible;opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity 150ms ease-out,transform 150ms ease-out,visibility 0s}
body.ops-admin .ops-select-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:8px;background:#fff;color:#254351;font:500 13px 'Inter','IBM Plex Sans Thai',sans-serif;text-align:left;white-space:nowrap;cursor:pointer}
body.ops-admin .ops-select-menu button:hover{background:#eaf5f6;color:#0d6570}
body.ops-admin .ops-select-menu button.selected{background:#dff1f3;color:#0b5963;font-weight:700}
body.ops-admin .ops-select-menu button b{color:#0c7882;font-size:14px}
body.ops-admin .ops-site-switch .ops-select-trigger{min-height:23px;padding:2px 0;border:0;border-radius:5px;background:transparent;box-shadow:none;font-size:13px}
body.ops-admin .ops-site-switch .ops-select-component.open .ops-select-trigger{box-shadow:none;color:var(--ops-accent)}
body.ops-admin .ops-site-switch .ops-select-menu{left:-39px;min-width:255px}
body.ops-admin .modal-backdrop{z-index:1000}
body.ops-admin .modal:has(.ops-select-component){overflow:visible}
body.ops-admin .modal .ops-select-component{margin-top:5px}
body.ops-admin .modal .ops-select-menu{z-index:1300}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-select-menu,html[data-cooltrack-theme="dark"] body.ops-admin .ops-select-menu button{border-color:var(--ops-line);background:#17313f;color:#edf7f8}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-select-menu button:hover{background:#214654;color:#a6e6eb}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-select-menu button.selected{background:#285461;color:#fff}
body.ops-admin .ops-quick-search{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--ops-muted);min-height:42px;padding:0 12px;font:500 13px 'CoolTrack Prompt',Tahoma,sans-serif;cursor:pointer}
body.ops-admin .ops-quick-search:hover{background:var(--ops-soft);color:var(--ops-accent)}
body.ops-admin .sidebar .brand{margin-bottom:10px}
body.ops-admin .sidebar .menu{overflow-y:auto;scrollbar-width:thin}
body.ops-admin .sidebar .menu-label{letter-spacing:.7px!important;text-transform:none}
body.ops-admin .sidebar .menu button{width:100%;text-align:left}
body.ops-admin .sidebar .menu button i{display:grid;place-items:center}
body.ops-admin .sidebar .menu button .counter{margin-left:auto;min-width:25px;text-align:center;border-radius:7px}
body.ops-admin .sidebar-foot{margin:auto 6px 5px}
body.ops-admin .ops-signout{width:100%;min-height:40px;border:1px solid #496879;background:transparent;color:#c3d8e1;border-radius:10px;text-align:left;padding:0 12px;font:500 13px 'CoolTrack Prompt',Tahoma,sans-serif;cursor:pointer}
body.ops-admin .ops-signout:hover{background:#234c60;color:#fff}
body.ops-admin .ops-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
body.ops-admin .ops-metric{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto auto;column-gap:14px;align-items:center;text-align:left;min-width:0;min-height:137px;padding:19px 20px;background:var(--ops-panel);border:1px solid var(--ops-line);border-radius:16px;box-shadow:var(--ops-shadow);cursor:pointer;color:var(--ops-ink);font-family:inherit;transition:transform .16s,box-shadow .16s,border-color .16s}
body.ops-admin .ops-metric:hover{transform:translateY(-2px);box-shadow:0 12px 24px #143c501b}
body.ops-admin .ops-metric-icon{grid-column:1;grid-row:1/4;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--ops-soft);color:var(--ops-accent)}
body.ops-admin .ops-metric.warning .ops-metric-icon{background:#fff1dc;color:#ac6721}
body.ops-admin .ops-metrics-primary .ops-metric .ops-metric-icon{background:#ffffff2b!important;color:#fff!important}
body.ops-admin .ops-metrics-primary .ops-metric .ops-metric-watermark svg{width:80px!important;height:80px!important}
html[data-cooltrack-theme="dark"] body.ops-admin .content.ops-page{background:var(--ops-bg)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .panel :is(h2,h3,b,strong,dd,.ops-register-code){color:var(--ops-ink)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .panel :is(p,small,dt){color:var(--ops-muted)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .btn.secondary{background:var(--ops-panel)!important;border-color:var(--ops-line)!important;color:var(--ops-ink)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card{background:var(--ops-panel)!important;border-color:var(--ops-line)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card :is(h3,dd){color:var(--ops-ink)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card :is(p,dt){color:var(--ops-muted)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card dl>div{background:var(--ops-soft)!important;border-color:var(--ops-line)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card button[data-action="view-asset"]{color:#8bd4df!important;border-color:var(--ops-line)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card .ops-ma-badge-unscheduled{background:#2b4553!important;color:#d5e6eb!important;box-shadow:inset 0 0 0 1px #4b6875}
body.ops-admin .ops-metric-label{grid-column:2;color:var(--ops-muted);font-size:13px}
body.ops-admin .ops-metric strong{grid-column:2;font-size:30px;line-height:1.12;letter-spacing:-1px;font-weight:700}
body.ops-admin .ops-metric small{grid-column:2;color:var(--ops-muted);font-size:11px;line-height:1.3}
body.ops-admin .ops-dashboard-top,body.ops-admin .ops-dashboard-middle,body.ops-admin .ops-dashboard-bottom,body.ops-admin .ops-report-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-top:16px}
body.ops-admin .ops-dashboard-middle{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.ops-admin .ops-dashboard-bottom{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}
body.ops-admin .ops-trend{padding:6px 22px 22px}
body.ops-admin .ops-trend svg{width:100%;height:auto;max-height:220px;overflow:visible}
body.ops-admin .ops-chart-grid{fill:none;stroke:var(--ops-line);stroke-width:1}
body.ops-admin .ops-chart-fill{fill:#47a8b51c}
body.ops-admin .ops-chart-line{fill:none;stroke:#16869d;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
body.ops-admin .ops-trend circle{fill:#16869d;stroke:var(--ops-panel);stroke-width:2}
body.ops-admin .ops-chart-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:0}
body.ops-admin .ops-chart-labels span{display:grid;gap:2px;text-align:center;font-size:11px;color:var(--ops-muted)}
body.ops-admin .ops-chart-labels b{font-size:12px;color:var(--ops-ink)}
body.ops-admin .ops-chart-note{font-size:11px;color:var(--ops-muted);margin:16px 0 0}
body.ops-admin .ops-breakdown{display:flex;align-items:center;gap:24px;min-height:260px;padding:10px 24px 26px}
body.ops-admin .ops-donut{width:165px;aspect-ratio:1;flex:none;border-radius:50%;background:var(--segments);display:grid;place-items:center}
body.ops-admin .ops-donut>span{width:112px;aspect-ratio:1;border-radius:50%;background:var(--ops-panel);display:grid;align-content:center;text-align:center}
body.ops-admin .ops-donut b{font-size:30px;line-height:1.1;color:var(--ops-ink)}
body.ops-admin .ops-donut small{color:var(--ops-muted)}
body.ops-admin .ops-legend{flex:1;display:grid;gap:12px;min-width:0}
body.ops-admin .ops-legend>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:12px;color:var(--ops-muted)}
body.ops-admin .ops-legend i{width:9px;height:9px;border-radius:50%}
body.ops-admin .ops-legend b{color:var(--ops-ink)}
body.ops-admin .ops-map-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(180px,.9fr);gap:16px;padding:8px 20px 20px;align-items:start}
body.ops-admin .ops-map-layout.compact{grid-template-columns:minmax(0,1fr) minmax(150px,.85fr)}
body.ops-admin .ops-map{display:grid;justify-items:center;min-height:250px}
body.ops-admin .ops-map svg{display:block;max-height:455px;max-width:100%;width:auto;filter:drop-shadow(0 5px 9px #124c5e0e)}
body.ops-admin .ops-map-layout.compact .ops-map svg{max-height:280px}
body.ops-admin .ops-map path{fill:#e5eff2;stroke:var(--ops-panel);stroke-width:.25;cursor:pointer;transition:fill .15s}
body.ops-admin .ops-map path.has-site{fill:#4ba9b9}
body.ops-admin .ops-map path:hover,body.ops-admin .ops-map path.selected{fill:#0b536e}
body.ops-admin .ops-map small{font-size:10px;color:var(--ops-muted);margin-top:5px}
body.ops-admin .ops-map-sites{max-height:485px;overflow:auto}
body.ops-admin .ops-map-result{display:flex;align-items:center;gap:8px;padding:7px 0 12px;border-bottom:1px solid var(--ops-line);font-size:12px;color:var(--ops-muted)}
body.ops-admin .ops-map-result b{font-size:14px;color:var(--ops-ink)}
body.ops-admin .ops-map-result button{margin-left:auto;border:0;background:transparent;color:var(--ops-accent);cursor:pointer;font:inherit}
body.ops-admin .ops-map-site{display:flex;align-items:center;gap:10px;width:100%;padding:13px 4px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--ops-line);color:var(--ops-ink);font:inherit;cursor:pointer}
body.ops-admin .ops-map-site>svg:first-child{width:22px;height:22px;color:var(--ops-accent)}
body.ops-admin .ops-map-site>svg:last-child{margin-left:auto;width:14px;height:14px;color:var(--ops-accent)}
body.ops-admin .ops-map-site span{min-width:0}
body.ops-admin .ops-map-site b,body.ops-admin .ops-map-site small{display:block}
body.ops-admin .ops-map-site b{font-size:12px;line-height:1.4}
body.ops-admin .ops-map-site small{font-size:11px;color:var(--ops-muted)}
body.ops-admin .ops-calendar-card .ops-calendar-grid.compact{padding:0 17px 10px}
body.ops-admin .ops-calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px 14px}
body.ops-admin .ops-calendar-tools>div{display:flex;gap:4px}
body.ops-admin .ops-calendar-tools button{min-width:32px;min-height:32px;border:1px solid var(--ops-line);border-radius:8px;background:var(--ops-panel);color:var(--ops-ink);font:inherit;cursor:pointer}
body.ops-admin .ops-calendar-tools b{font-size:14px}
body.ops-admin .ops-calendar-week,body.ops-admin .ops-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
body.ops-admin .ops-calendar-week{padding:0 18px;text-align:center;font-size:11px;color:var(--ops-muted);margin-bottom:4px}
body.ops-admin .ops-calendar-grid{padding:0 18px 20px;gap:3px}
body.ops-admin .ops-day{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:76px;padding:7px;border:1px solid var(--ops-line);border-radius:8px;background:var(--ops-panel);color:var(--ops-ink);font:inherit;text-align:left;cursor:pointer}
body.ops-admin .ops-day.outside{opacity:.45}
body.ops-admin .ops-day.today{background:var(--ops-soft)}
body.ops-admin .ops-day.selected{border-color:var(--ops-accent);box-shadow:inset 0 0 0 1px var(--ops-accent)}
body.ops-admin .ops-day b{font-size:10px;background:#d5eef0;color:#125d70;border-radius:5px;padding:1px 4px}
body.ops-admin .ops-day small{font-size:9px;color:var(--ops-muted);width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
body.ops-admin .ops-day small.done{opacity:.55}
body.ops-admin .ops-calendar-grid.compact .ops-day{min-height:37px;align-items:center;justify-content:center;font-size:11px;padding:3px}
body.ops-admin .ops-day-count-label{display:none}
body.ops-admin .ops-calendar-preview{padding:2px 18px 18px}
body.ops-admin .ops-event,body.ops-admin .ops-job-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:13px 18px;border:0;border-top:1px solid var(--ops-line);background:transparent;text-align:left;color:var(--ops-ink);font:inherit;cursor:pointer}
body.ops-admin .ops-event:hover,body.ops-admin .ops-job-row:hover,body.ops-admin .ops-followup button:hover{background:var(--ops-soft)}
body.ops-admin .ops-event-date{font-size:10px;color:var(--ops-muted);min-width:74px}
body.ops-admin .ops-event>span:nth-child(2),body.ops-admin .ops-job-copy{display:grid;gap:2px;min-width:0;flex:1}
body.ops-admin .ops-event b,body.ops-admin .ops-job-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ops-admin .ops-event small,body.ops-admin .ops-job-copy small{font-size:11px;color:var(--ops-muted)}
body.ops-admin .ops-event>svg:last-child,body.ops-admin .ops-job-row>svg:last-child{width:15px;height:15px;color:var(--ops-accent)}
body.ops-admin .ops-list-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;background:var(--ops-soft);color:var(--ops-accent);border-radius:9px}
body.ops-admin .ops-job-owner{display:grid;gap:3px;min-width:100px;font-size:11px;text-align:right}
body.ops-admin .ops-job-owner small{color:var(--ops-muted)}
body.ops-admin .ops-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 8px;border-radius:7px;background:#e9eff1;color:#526c77;font-size:10px;font-weight:650}
body.ops-admin .ops-status.pending,body.ops-admin .ops-status.upcoming{background:#fff2dd;color:#8d5a19}
body.ops-admin .ops-status.in_progress,body.ops-admin .ops-status.planned{background:#e3f2f5;color:#126b80}
body.ops-admin .ops-status.done{background:#e3f5eb;color:#20704b}
body.ops-admin .ops-status.cancelled,body.ops-admin .ops-status.overdue{background:#ffeaeb;color:#a64146}
body.ops-admin .ops-followup button{width:100%;display:flex;align-items:center;gap:10px;padding:15px 20px;border:0;border-top:1px solid var(--ops-line);background:transparent;color:var(--ops-ink);font:inherit;text-align:left;cursor:pointer;font-size:13px}
body.ops-admin .ops-followup button span:nth-child(2){flex:1}
body.ops-admin .ops-followup button svg{width:15px;height:15px;color:var(--ops-accent)}
body.ops-admin .ops-dot{width:9px;height:9px;border-radius:50%;background:#2e9eab;flex:none}
body.ops-admin .ops-dot.danger{background:#d76060}body.ops-admin .ops-dot.amber{background:#c99541}body.ops-admin .ops-dot.green{background:#4b9c76}
body.ops-admin .ops-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 16px}
body.ops-admin .ops-toolbar label{font-size:12px;color:var(--ops-muted)}
body.ops-admin .ops-toolbar input,body.ops-admin .ops-toolbar select,body.ops-admin .ops-toolbar>select{display:block;min-height:43px;padding:9px 12px;border:1px solid var(--ops-line);border-radius:10px;background:var(--ops-panel);color:var(--ops-ink);font:inherit;font-size:13px}
body.ops-admin .ops-search{display:flex!important;align-items:center;gap:9px;flex:1;min-width:250px;max-width:540px;min-height:43px;padding:0 12px;border:1px solid var(--ops-line);border-radius:10px;background:var(--ops-panel);color:var(--ops-muted)}
body.ops-admin .ops-search input{margin:0;min-height:40px;width:100%;padding:0;border:0;background:transparent;color:var(--ops-ink);outline:0}
body.ops-admin .ops-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 14px}
body.ops-admin .ops-tabs button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--ops-line);border-radius:9px;background:var(--ops-panel);color:var(--ops-muted);font:600 12px 'CoolTrack Prompt',Tahoma,sans-serif;cursor:pointer}
body.ops-admin .ops-tabs button.active{background:var(--ops-soft);border-color:#71afbe;color:var(--ops-accent)}
body.ops-admin .ops-tabs b{background:#dbe9ed;border-radius:6px;padding:1px 6px;color:#315e70}
body.ops-admin .ops-task-board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;align-items:start}
body.ops-admin .ops-task-column{min-height:240px;padding:10px;border:1px solid var(--ops-line);border-radius:14px;background:var(--ops-soft)}
body.ops-admin .ops-task-column header{display:flex;justify-content:space-between;align-items:center;padding:9px 7px 13px}
body.ops-admin .ops-task-column h2{font-size:13px;margin:0}
body.ops-admin .ops-task-column header b{padding:2px 7px;border-radius:7px;background:var(--ops-panel);font-size:11px}
body.ops-admin .ops-task-card{width:100%;display:grid;gap:8px;text-align:left;margin-bottom:9px;padding:14px;border:1px solid var(--ops-line);border-radius:10px;background:var(--ops-panel);color:var(--ops-ink);font:inherit;cursor:pointer;box-shadow:0 2px 9px #143c500c}
body.ops-admin .ops-task-card:hover{transform:translateY(-1px)}
body.ops-admin .ops-task-card b{font-size:13px}
body.ops-admin .ops-task-card>span,body.ops-admin .ops-task-card footer{font-size:11px;color:var(--ops-muted)}
body.ops-admin .ops-task-type{font-weight:650;color:var(--ops-accent)!important}
body.ops-admin .ops-task-card footer{display:flex;justify-content:space-between;gap:7px;padding-top:8px;border-top:1px solid var(--ops-line)}
body.ops-admin .ops-column-empty{font-size:12px;color:var(--ops-muted);padding:8px}
body.ops-admin .ops-calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px}
body.ops-admin .ops-agenda .ops-event{flex-wrap:wrap}
body.ops-admin .ops-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.ops-admin .ops-report .ops-spaced{margin-top:16px}
body.ops-admin .ops-horizontal{display:grid;gap:15px;padding:14px 22px 25px}
body.ops-admin .ops-horizontal>div{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:12px;color:var(--ops-muted)}
body.ops-admin .ops-horizontal b{color:var(--ops-ink)}
body.ops-admin .ops-horizontal i{grid-column:1/-1;height:9px;border-radius:6px;background:var(--ops-soft);overflow:hidden}
body.ops-admin .ops-horizontal em{display:block;height:100%;border-radius:6px;background:#3b9bad}
body.ops-admin .ops-page table{background:var(--ops-panel);color:var(--ops-ink)}
body.ops-admin .ops-page table th{background:var(--ops-soft);color:var(--ops-muted);border-color:var(--ops-line)}
body.ops-admin .ops-page table td{color:var(--ops-ink);border-color:var(--ops-line);font-size:12px}
body.ops-admin .ops-page table small{color:var(--ops-muted)}
body.ops-admin .ops-inline-link{border:0;background:transparent;color:var(--ops-accent);font:700 12px 'CoolTrack Prompt',Tahoma,sans-serif;cursor:pointer;padding:0}
body.ops-admin .ops-results-count{padding:15px 18px;font-size:12px;color:var(--ops-muted)}
body.ops-admin .ops-pager{display:flex;justify-content:center;align-items:center;gap:13px;padding:18px;color:var(--ops-muted);font-size:12px}
body.ops-admin .ops-pager button{min-height:38px;padding:6px 11px;border:1px solid var(--ops-line);border-radius:8px;background:var(--ops-panel);color:var(--ops-ink);font:inherit;cursor:pointer}
body.ops-admin .ops-pager button:disabled{opacity:.4;cursor:default}
body.ops-admin .ops-pager button.active,body.ops-admin .asset-pager button.active{background:var(--ops-accent)!important;border-color:var(--ops-accent)!important;color:#fff!important}
body.ops-admin .ops-pager{flex-wrap:wrap}
body.ops-admin .asset-pager{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;margin-top:18px}
body.ops-admin .asset-pager button{min-width:38px;min-height:38px;padding:5px 8px!important}
body.ops-admin .asset-pager span{font-size:11px;color:var(--ops-muted);margin-left:8px}
body.ops-admin .ops-empty{display:grid;justify-items:center;align-content:center;gap:8px;min-height:145px;padding:22px;text-align:center;color:var(--ops-muted);font-size:13px}
body.ops-admin .ops-empty svg{width:28px;height:28px;color:var(--ops-accent)}
body.ops-admin .ops-empty b{color:var(--ops-ink);font-size:15px}
body.ops-admin .ops-empty p{margin:0}
body.ops-admin .ops-muted{color:var(--ops-muted);font-size:12px;padding:4px 18px}
body.ops-admin .real-asset-filter input{min-width:min(100%,420px);height:44px;border-color:var(--ops-line);background:var(--ops-panel);color:var(--ops-ink);border-radius:10px;font-size:13px}
body.ops-admin .ops-map-page{min-height:490px}
@media(max-width:1250px){body.ops-admin .ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body.ops-admin .ops-task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.ops-admin .ops-dashboard-top,body.ops-admin .ops-dashboard-middle,body.ops-admin .ops-dashboard-bottom,body.ops-admin .ops-report-grid,body.ops-admin .ops-calendar-layout{grid-template-columns:1fr}body.ops-admin .ops-map-layout.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:700px){body.ops-admin .content.ops-page{padding:18px 14px 110px}body.ops-admin .ops-topbar{padding:0 12px!important;gap:6px}body.ops-admin .ops-site-switch{min-width:0;max-width:190px;flex:1;padding:5px 7px;gap:5px}body.ops-admin .ops-site-switch select{font-size:11px}body.ops-admin .ops-topbar .ops-quick-search{min-width:36px;padding:0 6px}body.ops-admin .ops-quick-search span{display:none}body.ops-admin .ops-heading{display:block;margin-bottom:18px}body.ops-admin .ops-heading h1{font-size:25px}body.ops-admin .ops-mobile-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;min-height:36px;padding:5px 9px;border:1px solid var(--ops-line);border-radius:8px;background:var(--ops-panel);color:var(--ops-accent);font:600 12px 'CoolTrack Prompt',Tahoma,sans-serif}body.ops-admin .ops-mobile-back svg{transform:rotate(180deg);width:15px;height:15px}body.ops-admin .ops-heading .actions{justify-content:stretch;width:100%;margin-top:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body.ops-admin .ops-heading .actions>*{width:100%;white-space:normal;line-height:1.3}body.ops-admin .ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}body.ops-admin .ops-metric{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:5px;min-height:142px;padding:14px}body.ops-admin .ops-metric-icon{grid-row:auto;grid-column:1;width:34px;height:34px;border-radius:9px}body.ops-admin .ops-metric-icon svg{width:18px;height:18px}body.ops-admin .ops-metric-label,body.ops-admin .ops-metric strong,body.ops-admin .ops-metric small{grid-column:1}body.ops-admin .ops-metric strong{font-size:25px}body.ops-admin .ops-breakdown{min-height:0;flex-wrap:wrap;justify-content:center;padding:12px 18px 22px}body.ops-admin .ops-map-layout,body.ops-admin .ops-map-layout.compact{grid-template-columns:1fr;padding:5px 15px 18px}body.ops-admin .ops-map svg{max-height:300px}body.ops-admin .ops-map-sites{max-height:none}body.ops-admin .ops-calendar-layout{grid-template-columns:1fr}body.ops-admin .ops-calendar-grid:not(.compact) .ops-day{min-height:52px;padding:3px}body.ops-admin .ops-calendar-grid:not(.compact) .ops-day small{display:none}body.ops-admin .ops-calendar-grid:not(.compact) .ops-day b{font-size:9px}body.ops-admin .ops-task-board{grid-template-columns:1fr}body.ops-admin .ops-task-column{min-height:0}body.ops-admin .ops-toolbar{align-items:stretch}body.ops-admin .ops-search{min-width:100%;max-width:none}body.ops-admin .ops-job-owner{display:none}body.ops-admin .ops-event-date{min-width:60px}body.ops-admin .ops-event .ops-status{display:none}body.ops-admin .ops-page .panel>header{padding:17px 16px 10px}body.ops-admin .ops-map-page{min-height:0}}
@media(max-width:390px){body.ops-admin .ops-site-switch{max-width:155px}body.ops-admin .ops-metrics{grid-template-columns:1fr 1fr}body.ops-admin .ops-metric{min-height:132px}body.ops-admin .ops-metric small{font-size:10px}}

/* Registry-first dashboard: the first screen shows actual installed equipment. */
body.ops-admin,body.ops-admin button,body.ops-admin input,body.ops-admin select,body.ops-admin textarea{font-family:'Inter','IBM Plex Sans Thai',sans-serif!important}
body.ops-admin .sidebar *,body.ops-admin #app *,body.ops-admin #topbar *{font-family:'Inter','IBM Plex Sans Thai',sans-serif!important}
body.ops-admin .sidebar .brand-mark{display:grid;place-items:center;width:40px;height:40px;font-size:14px!important;font-weight:750;letter-spacing:-.6px;background:#f0fcff!important;color:#143c4e!important;box-shadow:none!important;border:1px solid #c8e5ec}
body.ops-admin .sidebar{background:#122a38!important;border-right:1px solid #2a4350!important;box-shadow:none!important}
body.ops-admin .sidebar .menu button{font-size:15px!important;min-height:44px!important;border-radius:9px;color:#c4d4dc!important;transition:background-color 150ms ease-out,color 150ms ease-out,box-shadow 150ms ease-out}
body.ops-admin .sidebar .menu button i{width:24px!important;height:24px!important;color:#bdd1d9!important}
body.ops-admin .sidebar .menu button i svg{width:19px;height:19px}
body.ops-admin .sidebar .menu button:not(.active):hover{background:#ffffff19!important;color:#fff!important}
body.ops-admin .sidebar .menu button:not(.active):hover i{color:#fff!important}
body.ops-admin .sidebar .menu button.active{background:#0f766e!important;box-shadow:0 4px 12px #051e2680!important;color:#fff!important}
body.ops-admin .sidebar .menu button.active i{background:transparent!important;color:#fff!important}
body.ops-admin .ops-topbar{background:var(--ops-panel)!important;min-height:68px}
body.ops-admin .ops-heading{margin-bottom:18px}
body.ops-admin .ops-heading h1{font-size:30px;letter-spacing:-.6px}
body.ops-admin .ops-heading .sub{font-size:14px}
body.ops-admin .ops-metrics.ops-metrics-primary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
body.ops-admin .ops-metrics-primary .ops-metric{min-height:116px;grid-template-columns:40px 1fr;column-gap:12px;padding:16px 18px;border-radius:14px;box-shadow:0 2px 12px #173c4e09}
body.ops-admin .ops-metrics-primary .ops-metric-icon{width:38px;height:38px;border-radius:10px}
body.ops-admin .ops-metrics-primary .ops-metric-label{font-size:14px;color:var(--ops-ink)}
body.ops-admin .ops-metrics-primary .ops-metric strong{font-size:30px}
body.ops-admin .ops-metrics-primary .ops-metric small{font-size:12px}
body.ops-admin .ops-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(315px,.8fr);gap:16px;align-items:stretch}
body.ops-admin .ops-overview-aside{display:grid;grid-template-rows:1fr 1fr;gap:16px}
body.ops-admin .ops-registry-panel{min-height:500px}
body.ops-admin .ops-registry-panel .ops-registry-search{margin:8px 20px 10px;max-width:none}
body.ops-admin .ops-registry-count{padding:2px 21px 10px;color:var(--ops-muted);font-size:13px}
body.ops-admin .ops-registry-list{border-top:1px solid var(--ops-line)}
body.ops-admin .ops-registry-row{width:100%;display:grid;grid-template-columns:minmax(125px,.9fr) minmax(190px,1.4fr) minmax(120px,1fr) auto;align-items:center;gap:15px;min-height:55px;padding:8px 20px;border:0;border-bottom:1px solid var(--ops-line);background:transparent;color:var(--ops-ink);text-align:left;cursor:pointer;font:inherit}
body.ops-admin .ops-registry-row:last-child{border-bottom:0}
body.ops-admin .ops-registry-row:hover{background:var(--ops-soft)}
body.ops-admin .ops-register-code{font-size:14px;font-weight:700;white-space:nowrap;color:var(--ops-accent)}
body.ops-admin .ops-register-main{display:grid;gap:2px;min-width:0}
body.ops-admin .ops-register-main b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ops-admin .ops-register-main small{font-size:12px;color:var(--ops-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ops-admin .ops-register-site{font-size:12px;color:var(--ops-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ops-admin .ops-register-action{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:13px;font-weight:650;color:var(--ops-accent)}
body.ops-admin .ops-register-action svg{width:15px;height:15px}
body.ops-admin .ops-register-breakdown{padding:12px 22px 21px;display:grid;align-content:start;gap:20px}
body.ops-admin .ops-register-group>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
body.ops-admin .ops-register-group b{font-size:14px;font-weight:600;color:var(--ops-ink)}
body.ops-admin .ops-register-group strong{font-size:18px;color:var(--ops-ink);white-space:nowrap}
body.ops-admin .ops-register-group strong small{font-size:12px;color:var(--ops-muted);font-weight:400}
body.ops-admin .ops-register-track{display:block;width:100%;height:9px;border-radius:20px;background:var(--ops-soft);overflow:hidden}
body.ops-admin .ops-register-track i{display:block;height:100%;border-radius:20px;background:#298ba1}
body.ops-admin .ops-register-group:nth-child(2) .ops-register-track i{background:#55aeb6}
body.ops-admin .ops-next-stat{display:flex;align-items:center;gap:12px;margin:9px 21px 15px;padding:14px;border-radius:11px;background:var(--ops-soft)}
body.ops-admin .ops-next-stat b{font-size:27px;line-height:1;color:var(--ops-ink)}
body.ops-admin .ops-next-stat span{font-size:14px;color:var(--ops-muted)}
body.ops-admin .ops-next-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:0 21px 21px}
body.ops-admin .ops-next-buttons .btn{flex:1;min-width:145px}
body.ops-admin .ops-dashboard-middle{margin-top:16px}
body.ops-admin .ops-page .panel>header{padding:18px 20px 10px}
body.ops-admin .ops-page .panel h2{font-size:17px!important}
body.ops-admin .ops-page .panel header p{font-size:13px!important}
@media(max-width:1240px){body.ops-admin .ops-overview-grid{grid-template-columns:1fr}body.ops-admin .ops-overview-aside{grid-template-columns:1fr 1fr;grid-template-rows:unset}body.ops-admin .ops-metrics.ops-metrics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.ops-admin .ops-heading h1{font-size:25px}body.ops-admin .ops-overview-aside{grid-template-columns:1fr}body.ops-admin .ops-registry-panel{min-height:0}body.ops-admin .ops-registry-row{grid-template-columns:1fr auto;gap:4px 8px;padding:11px 15px;min-height:70px}body.ops-admin .ops-register-code{grid-column:1;font-size:13px}body.ops-admin .ops-register-main{grid-column:1}body.ops-admin .ops-register-site{display:none}body.ops-admin .ops-register-action{grid-column:2;grid-row:1/3;font-size:12px}body.ops-admin .ops-metrics-primary .ops-metric{grid-template-columns:1fr;min-height:133px;padding:13px}body.ops-admin .ops-metrics-primary .ops-metric-icon,body.ops-admin .ops-metrics-primary .ops-metric-label,body.ops-admin .ops-metrics-primary .ops-metric strong,body.ops-admin .ops-metrics-primary .ops-metric small{grid-column:1}body.ops-admin .ops-metrics-primary .ops-metric strong{font-size:25px}}

/* Shared admin readability and equipment/area cards. */
body.ops-admin .ops-page{font-size:16px;line-height:1.55}
body.ops-admin .ops-page .panel header p,body.ops-admin .ops-heading .sub,body.ops-admin .ops-register-main small,body.ops-admin .ops-register-site,body.ops-admin .ops-metrics-primary .ops-metric small{font-size:14px!important}
body.ops-admin .ops-site-switch small{font-size:12px}
body.ops-admin .ops-site-switch select,body.ops-admin .ops-quick-search,body.ops-admin .ops-signout{font-size:15px}
body.ops-admin .ops-page .btn,body.ops-admin .ops-tabs button,body.ops-admin .ops-toolbar input,body.ops-admin .ops-toolbar select,body.ops-admin .real-asset-filter input,body.ops-admin .ops-pager,body.ops-admin .asset-pager{font-size:15px!important}
body.ops-admin .ops-event-date,body.ops-admin .ops-event small,body.ops-admin .ops-job-copy small,body.ops-admin .ops-job-owner,body.ops-admin .ops-status,body.ops-admin .ops-map-site small,body.ops-admin .ops-page table td,body.ops-admin .ops-results-count,body.ops-admin .ops-muted,body.ops-admin .ops-empty,body.ops-admin .ops-chart-labels span,body.ops-admin .ops-chart-note{font-size:14px!important}
body.ops-admin .ops-event b,body.ops-admin .ops-job-copy b,body.ops-admin .ops-task-card b,body.ops-admin .ops-map-site b{font-size:16px}
body.ops-admin .ops-day,body.ops-admin .ops-calendar-grid.compact .ops-day{font-size:14px}
body.ops-admin .ops-day small{font-size:12px}
body.ops-admin .ops-page .cards-grid{gap:16px}
body.ops-admin .ops-area-card{display:flex;flex-direction:column;min-height:190px;padding:20px!important}
body.ops-admin .ops-area-card-head{display:flex;align-items:center;gap:12px;min-width:0}
body.ops-admin .ops-area-card .ops-equipment-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:11px;background:var(--ops-soft);color:var(--ops-accent)}
body.ops-admin .ops-area-card .ops-equipment-icon svg{width:22px;height:22px}
body.ops-admin .ops-area-card-head h3{margin:0;color:var(--ops-ink);font-size:18px!important;line-height:1.35}
body.ops-admin .ops-area-card-head p{margin:3px 0 0;color:var(--ops-muted);font-size:14px;line-height:1.35}
body.ops-admin .ops-area-card .ops-equipment-open{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:auto;padding:10px 0 0;border:0;border-top:1px solid var(--ops-line);background:transparent;color:var(--ops-accent);font:600 15px 'Inter','IBM Plex Sans Thai',sans-serif;cursor:pointer;text-align:left}
body.ops-admin .ops-area-card .ops-equipment-open svg{width:18px;height:18px}
body.ops-admin .ops-area-card{min-height:190px}
body.ops-admin .ops-area-card-count{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0;color:var(--ops-muted);font-size:14px}
body.ops-admin .ops-area-card-count span{padding:6px 10px;border-radius:8px;background:var(--ops-soft)}
body.ops-admin .ops-page button:focus-visible,body.ops-admin .sidebar button:focus-visible,body.ops-admin .ops-topbar button:focus-visible{outline:3px solid #47aabc;outline-offset:2px}
@media(max-width:700px){body.ops-admin .ops-metrics.ops-metrics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}body.ops-admin .ops-area-card{padding:16px!important}body.ops-admin .ops-heading .sub{font-size:14px!important}body.ops-admin .ops-site-switch select{font-size:13px}}
@media(max-width:380px){body.ops-admin .ops-metrics.ops-metrics-primary{grid-template-columns:1fr}body.ops-admin .ops-metrics-primary .ops-metric{min-height:105px}}

/* Short, non-blocking interaction feedback. */
body:not(.local-auth-page) button:not(:disabled),body:not(.local-auth-page) a[href],body:not(.local-auth-page) [role="button"],body:not(.local-auth-page) [role="link"],body:not(.local-auth-page) summary{cursor:pointer}
body:not(.local-auth-page) button:disabled{cursor:not-allowed}
body:not(.local-auth-page) :is(button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:3px solid #38a8bb!important;outline-offset:3px}
body.ops-admin #app>.content{animation:ops-page-enter 180ms ease-out both}
@keyframes ops-page-enter{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
body.ops-admin .ops-card-interactive{cursor:pointer;transition:transform 180ms ease-out,box-shadow 180ms ease-out,border-color 180ms ease-out}
body.ops-admin .ops-card-interactive:focus-visible{outline:3px solid #38a8bb!important;outline-offset:3px}
body.ops-admin .ops-card-interactive:focus-visible .ops-equipment-open,body.ops-admin .ops-card-interactive:focus-visible>button{color:#125568}
body.ops-admin .ops-card-interactive :is(.ops-equipment-open,button[data-action="view-asset"],button[data-ops-action="open-branch"]){transition:color 160ms ease-out,background-color 160ms ease-out,border-color 160ms ease-out}
body.ops-admin .ops-card-interactive :is(.ops-equipment-open,button[data-action="view-asset"],button[data-ops-action="open-branch"]):hover{color:#104b5d;text-decoration:underline;text-underline-offset:3px}
body.ops-admin .ops-card-interactive :is(.ops-equipment-open,button[data-action="view-asset"],button[data-ops-action="open-branch"]) svg{transition:transform 160ms ease-out}
body.ops-admin .ops-card-interactive:hover :is(.ops-equipment-open,button[data-action="view-asset"],button[data-ops-action="open-branch"]) svg{transform:translateX(2px)}
body.ops-admin .ops-page .btn,body.ops-admin .ops-topbar button,body.ops-admin .sidebar button{transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out,transform 160ms ease-out}
body.ops-admin .ops-page .btn.primary:hover{filter:brightness(.94);box-shadow:0 6px 16px #0c577436}
body.ops-admin .ops-page .btn.secondary:hover{background:#eef7f9;border-color:#a3cbd5}
body.ops-admin .ops-status,body.ops-admin .ops-equipment-card>span{transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out}
@media(hover:hover){body.ops-admin .ops-card-interactive:hover{transform:translateY(-2px);box-shadow:0 10px 24px #102f4c24;border-color:#b9d1da}body.ops-admin .ops-page button:not(:disabled):hover,body.ops-admin .sidebar button:not(:disabled):hover{cursor:pointer}}
@media(hover:none){body.ops-admin .ops-card-interactive:active{transform:scale(.985);box-shadow:0 2px 8px #102f4c20}body:not(.local-auth-page) button:not(:disabled):active,body:not(.local-auth-page) a[href]:active{transform:scale(.98);filter:brightness(.96)}}
@media(max-width:767px){body:not(.local-auth-page) #topbar button,body:not(.local-auth-page) .mobile-nav button,body:not(.local-auth-page) .mobile-drawer button,body:not(.local-auth-page) .modal header .close,body.ops-admin .ops-page .actions button,body.ops-admin .ops-page .ops-equipment-open,body.ops-admin .ops-page .ops-registry-row,body.ops-admin .ops-page .ops-tabs button,body.ops-admin .ops-page .asset-pager button{min-width:44px;min-height:44px}body:not(.local-auth-page) .mobile-drawer-panel{transition:transform 180ms ease-in}body:not(.local-auth-page) .mobile-drawer.open .mobile-drawer-panel{transition-timing-function:ease-out}}
body:not(.local-auth-page) .modal-backdrop{display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity 180ms ease-in,visibility 0s linear 180ms}
body:not(.local-auth-page) .modal-backdrop.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity 180ms ease-out,visibility 0s}
body:not(.local-auth-page) .modal-backdrop .modal{opacity:0;transform:translateY(7px) scale(.98);transition:opacity 180ms ease-in,transform 180ms ease-in}
body:not(.local-auth-page) .modal-backdrop.open .modal{opacity:1;transform:translateY(0) scale(1);transition-timing-function:ease-out}
@media(prefers-reduced-motion:reduce){body.ops-admin #app>.content{animation:none}body:not(.local-auth-page) .modal-backdrop,body:not(.local-auth-page) .modal-backdrop .modal,body.ops-admin .ops-card-interactive,body.ops-admin .ops-card-interactive svg,body.ops-admin .ops-page .btn,body:not(.local-auth-page) .mobile-drawer-panel{transition:none!important}}
/* Summary color lives in the numbers; the detailed records below remain neutral. */
body.ops-admin .ops-metrics.ops-metrics-primary.ops-page-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
body.ops-admin .ops-page-summary .ops-metric{cursor:default;border-color:transparent;box-shadow:0 6px 18px #102d4220}
body.ops-admin .ops-page-summary .ops-metric:hover{transform:none;box-shadow:0 6px 18px #102d4220}
body.ops-admin .ops-page-summary .ops-metric strong{font-size:clamp(23px,2vw,30px);overflow-wrap:anywhere}

.asset-photo-panel{border-left:4px solid #0f8a91!important}
.asset-photo-panel>header{align-items:center;gap:18px}
.asset-photo-actions{display:flex;flex-wrap:wrap;gap:10px}
.asset-photo-upload{display:grid;justify-items:end;gap:5px;min-width:0}
.asset-photo-hint{display:block;color:var(--ops-muted,#647987);font-size:11px;line-height:1.4}
.asset-photo-actions label{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.asset-photo-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.asset-photo-actions .is-uploading{opacity:.55;pointer-events:none}
.asset-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:18px}
[data-job-photo-panel] .asset-photo-gallery{grid-template-columns:repeat(auto-fit,minmax(220px,320px));justify-content:center;padding:0 22px 22px}
[data-job-photo-panel] .asset-photo-item{width:100%}
[data-job-photo-panel] .asset-photo-open{height:210px}
.asset-photo-item{margin:0;overflow:hidden;border:1px solid #d8e3e8;border-radius:14px;background:#fff;box-shadow:0 1px 3px #102d4214}
.asset-photo-open{display:block;width:100%;height:132px;padding:0;border:0;background:#edf4f6;cursor:pointer;overflow:hidden}
.photo-input-group{display:grid;gap:12px;padding:16px;border:1px solid var(--ops-line,#d8e3e8);border-radius:14px;background:var(--ops-soft,#f6f9fa)}
.photo-input-heading b,.photo-input-heading small{display:block}.photo-input-heading b{color:var(--ops-ink,#173345);font-size:14px;font-weight:650}.photo-input-heading small{margin-top:3px;color:var(--ops-muted,#647987);font-size:12px}
.photo-input-actions,.asset-photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.photo-input-actions label,.asset-photo-actions label{display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}.photo-input-actions input,.asset-photo-actions input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}.photo-camera-action{display:none!important}
@media(max-width:1024px),(hover:none) and (pointer:coarse){.photo-camera-action{display:inline-flex!important}}
@media(max-width:767px){.asset-photo-upload{width:100%;justify-items:stretch}.photo-input-actions,.asset-photo-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.photo-input-actions label,.asset-photo-actions label{width:100%;white-space:normal}.asset-photo-hint{text-align:left}}
.asset-photo-open span,.asset-photo-open img{display:block;width:100%;height:100%;object-fit:cover}
.asset-photo-open:focus-visible{outline:3px solid #2dd4bf;outline-offset:-3px}
.asset-photo-item figcaption{min-height:44px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#425d6b}
.asset-photo-item figcaption button{min-width:44px;min-height:32px;border:0;background:transparent;color:#b42318;font-weight:600;cursor:pointer}
.asset-photo-empty{grid-column:1/-1;margin:0;padding:24px;border:1px dashed #c6d6de;border-radius:14px;text-align:center;color:#526d7a}
.asset-photo-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:28px;background:#061824eb;backdrop-filter:blur(8px)}
.asset-photo-lightbox img{display:block;max-width:min(1100px,94vw);max-height:88vh;border-radius:16px;box-shadow:0 24px 80px #0009;object-fit:contain}
.asset-photo-lightbox>button{position:fixed;right:20px;top:20px;width:48px;height:48px;border:1px solid #ffffff40;border-radius:999px;background:#fff;color:#102d42;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 30px #0005}
html[data-cooltrack-theme="dark"] .asset-photo-item{border-color:#314958;background:#142a36}
html[data-cooltrack-theme="dark"] .asset-photo-open{background:#203946}
html[data-cooltrack-theme="dark"] .asset-photo-item figcaption{color:#d7e5eb}
@media(max-width:767px){.asset-photo-panel>header{align-items:stretch}.asset-photo-actions{display:grid;grid-template-columns:1fr 1fr}.asset-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-photo-open{height:112px}[data-job-photo-panel] .asset-photo-gallery{grid-template-columns:minmax(0,320px);justify-content:center;padding:0 12px 16px}[data-job-photo-panel] .asset-photo-open{height:190px}.asset-photo-lightbox{padding:12px}.asset-photo-lightbox>button{right:12px;top:12px}}

/* One mobile breakpoint for chrome and page content; avoids the 701-767px hybrid layout. */
@media(max-width:767px){
  html,body,body.ops-admin,.shell,.shell>main,#app{max-width:100%;min-width:0;overflow-x:hidden}
  body.ops-admin{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  body.ops-admin .shell{display:block!important;min-height:0}
  body.ops-admin #sidebar{display:none!important}
  body.ops-admin .ops-topbar{display:flex!important;width:100%;min-width:0;min-height:70px!important;height:70px!important;padding:8px 10px!important;gap:7px;overflow:visible}
  body.ops-admin .ops-topbar>*{min-width:0}
  body.ops-admin .ops-topbar .mobile-menu-btn{flex:0 0 44px}
  body.ops-admin .ops-site-switch{flex:1 1 auto!important;align-self:center;max-width:none;min-width:0;height:54px;padding:5px 8px;gap:6px}
  body.ops-admin .ops-site-switch>svg{width:17px;height:17px}
  body.ops-admin .ops-site-switch small{display:none!important}
  body.ops-admin .ops-site-switch .ops-select-trigger{font-size:12px!important;overflow:hidden}
  body.ops-admin .ops-site-switch .ops-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.ops-admin .ops-topbar .account{flex:0 0 auto;gap:6px}
  body.ops-admin .ops-topbar .account>span:last-child,body.ops-admin .ops-topbar .bell{display:none!important}
  body.ops-admin .content.ops-page{width:100%;max-width:100%;min-width:0;padding:18px 12px 104px!important}
  body.ops-admin .ops-heading{min-width:0}
  body.ops-admin .ops-heading .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.ops-admin .ops-heading .actions>*{min-width:0;max-width:100%}
  body.ops-admin .ops-metrics,body.ops-admin .ops-metrics.ops-metrics-primary,body.ops-admin .ops-metrics.ops-metrics-primary.ops-page-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ops-admin .ops-metric{min-width:0;overflow:hidden}
  body.ops-admin .ops-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  body.ops-admin .ops-tabs::-webkit-scrollbar{display:none}
  body.ops-admin .ops-toolbar,body.ops-admin .real-asset-filter{max-width:100%;min-width:0}
  body.ops-admin .ops-toolbar>*,body.ops-admin .real-asset-filter>*{min-width:0;max-width:100%}
  body.ops-admin .mobile-nav{display:grid!important}
  body.ops-admin .mobile-drawer{display:block!important}
  body.ops-admin .mobile-drawer-panel{max-width:86vw;overflow-x:hidden!important}
  body.ops-admin .mobile-drawer-title{min-height:48px;margin:0 0 10px 0!important;padding:12px 4px 8px 58px}
  body.ops-admin .mobile-drawer .drawer-close.mobile-drawer-back{left:16px!important;right:auto!important;top:12px!important;width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;font-size:26px!important;line-height:1!important;color:#123f55!important;background:#edf5f7!important;border:1px solid #cbdde3!important}
  body.ops-admin .asset-photo-panel>header{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px}
  body.ops-admin .asset-photo-panel>header>div{width:100%;min-width:0}
  body.ops-admin .asset-photo-upload{width:100%}
}
@media(max-width:390px){
  body.ops-admin .ops-topbar{padding-inline:8px!important;gap:5px}
  body.ops-admin .ops-site-switch{padding-inline:6px}
  body.ops-admin .ops-site-switch>svg{display:none}
  body.ops-admin .ops-heading .actions{grid-template-columns:1fr}
  body.ops-admin .content.ops-page{padding-inline:10px!important}
  .photo-input-actions,.asset-photo-actions{grid-template-columns:1fr}
}

/* Scope-aware menu totals are shown consistently on desktop and mobile. */
body.ops-admin .mobile-drawer button .counter{margin-left:auto;min-width:30px;padding:3px 8px;border-radius:999px;background:#dceef2;color:#115a6d;font-size:12px;font-weight:700;text-align:center}
body.ops-admin .mobile-drawer button.active .counter{background:#fff;color:#0f6574}

/* Compact equipment gallery: part of the information card, never a tall standalone section. */
body.ops-admin .asset-info-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start}
body.ops-admin .asset-info-layout>.detail-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.ops-admin .asset-photo-compact{min-width:0;padding-left:22px;border-left:1px solid var(--ops-line,#d8e3e8)}
body.ops-admin .asset-photo-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
body.ops-admin .asset-photo-compact-head b,body.ops-admin .asset-photo-compact-head small{display:block}
body.ops-admin .asset-photo-compact-head b{color:var(--ops-ink,#173345);font-size:14px;font-weight:700}
body.ops-admin .asset-photo-compact-head small{margin-top:2px;color:var(--ops-muted,#647987);font-size:11px}
body.ops-admin .asset-photo-compact-head>span{flex:none;padding:3px 8px;border-radius:999px;background:#e6f3f5;color:#12687a;font-size:11px;font-weight:700}
body.ops-admin .asset-photo-compact-gallery{display:grid;gap:9px}
body.ops-admin .asset-photo-main{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;padding:0;border:1px solid #d5e2e7;border-radius:13px;background:#edf4f6;cursor:pointer}
body.ops-admin .asset-photo-main>span,body.ops-admin .asset-photo-main img{display:block;width:100%;height:100%;object-fit:cover}
body.ops-admin .asset-photo-main em{position:absolute;right:8px;bottom:8px;padding:4px 7px;border-radius:7px;background:#102d42cc;color:#fff;font-size:10px;font-style:normal}
body.ops-admin .asset-photo-main-empty{display:grid;place-content:center;gap:4px;padding:18px;text-align:center;color:#607783;cursor:default}
body.ops-admin .asset-photo-main-empty>span{font-size:28px;color:#14758a}
body.ops-admin .asset-photo-main-empty b{font-size:12px;color:#274654}
body.ops-admin .asset-photo-main-empty small{font-size:10px}
body.ops-admin .asset-photo-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.ops-admin .asset-photo-thumb{position:relative;display:block;aspect-ratio:1;margin:0;overflow:hidden;border:1px solid #d6e2e7;border-radius:9px;background:#f1f6f7}
body.ops-admin .asset-photo-thumb>button:first-child,body.ops-admin .asset-photo-thumb>button:first-child span,body.ops-admin .asset-photo-thumb img{display:block;width:100%;height:100%;padding:0;border:0;object-fit:cover}
body.ops-admin .asset-photo-thumb .asset-photo-remove{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:25px;min-width:25px;height:25px;min-height:25px;padding:0;border:0;border-radius:999px;background:#fff;color:#b42318;font-size:16px;font-weight:700;box-shadow:0 2px 8px #102d4240}
body.ops-admin .asset-photo-slot{display:grid;place-items:center;border-style:dashed;color:#78909b;font-size:20px}
body.ops-admin .asset-photo-compact .asset-photo-upload{justify-items:stretch;margin-top:10px}
body.ops-admin .asset-photo-compact .asset-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
body.ops-admin .asset-photo-compact .asset-photo-actions label{min-width:0;padding:7px 8px;font-size:11px!important;white-space:normal}
html[data-cooltrack-theme="dark"] body.ops-admin .asset-photo-compact{border-color:#36515f}
html[data-cooltrack-theme="dark"] body.ops-admin .asset-photo-main,html[data-cooltrack-theme="dark"] body.ops-admin .asset-photo-thumb{border-color:#36515f;background:#1d3946}
html[data-cooltrack-theme="dark"] body.ops-admin .asset-photo-compact-head>span{background:#234b59;color:#c9eef2}

/* Completed quick records show what was saved instead of an artificial four-step workflow. */
body.ops-admin .ops-service-record-state{display:flex;align-items:center;gap:12px;margin:18px 0;padding:14px;border:1px solid #bee4d9;border-radius:12px;background:#eefaf6}
body.ops-admin .ops-service-record-state>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#d7f3e8;color:#08775b}
body.ops-admin .ops-service-record-state small,body.ops-admin .ops-service-record-state b{display:block}
body.ops-admin .ops-service-record-state small{color:#58746c;font-size:11px}
body.ops-admin .ops-service-record-state b{margin-top:2px;color:#173d34;font-size:14px}
body.ops-admin .ops-service-record-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
body.ops-admin .ops-service-record-summary dl>div{padding-top:11px;border-top:1px solid var(--ops-line,#d8e3e8)}
body.ops-admin .ops-service-record-summary dl .wide{grid-column:1/-1;margin:0}
body.ops-admin .ops-service-record-summary dt{color:var(--ops-muted,#647987);font-size:11px}
body.ops-admin .ops-service-record-summary dd{margin:3px 0 0;color:var(--ops-ink,#173345);font-size:13px;font-weight:600;line-height:1.5}

/* Job ownership, evidence and service-record presentation */
.job-evidence-summary{min-width:0}
.job-evidence-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.job-evidence-gallery figure{min-width:0;margin:0;overflow:hidden;border:1px solid #d5e2e8;border-radius:12px;background:#f7fafb}
.job-evidence-gallery button{display:block;width:100%;height:170px;padding:0;border:0;background:#edf4f6;cursor:zoom-in}
.job-evidence-gallery button span{display:block;width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}
.job-evidence-gallery figcaption{padding:7px 10px;color:#526a78;font-size:12px;text-align:center}
.job-evidence-gallery figure:only-child{grid-column:1/-1}
.job-evidence-gallery figure:only-child button{height:240px}
.job-evidence-empty{display:grid;min-height:190px;place-items:center;padding:20px;border:1px dashed #b8cbd4;border-radius:12px;background:#f8fbfc;color:#718894;text-align:center}
.job-service-detail-panel{margin-top:16px;border-left:4px solid #0f8a91!important}
.job-service-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #d8e4e9;border-radius:14px;overflow:hidden}
.job-service-detail-grid>div{min-width:0;padding:16px;border-right:1px solid #d8e4e9;background:#fff}
.job-service-detail-grid>div:nth-child(4){border-right:0}
.job-service-detail-grid>div.wide{grid-column:1/-1;border-top:1px solid #d8e4e9;border-right:0}
.job-service-detail-grid small{display:block;color:#637b89;font-size:12px;font-weight:600}
.job-service-detail-grid b,.job-service-detail-grid p{display:block;margin:5px 0 0;color:#173345;font-size:15px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.job-service-detail-grid ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:10px 0 0;padding:0;list-style:none}
.job-service-detail-grid li{display:flex;gap:8px;align-items:flex-start;color:#314d5c;font-weight:500}
.job-service-detail-grid li span{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:#e6f7f1;color:#08745f;font-weight:700}
.job-service-detail-grid li.not-passed span{background:#eef2f4;color:#71808a}
.job-readonly-note{display:inline-flex;max-width:320px;align-items:center;padding:8px 12px;border:1px solid #f1d59b;border-radius:10px;background:#fff8e8;color:#745718;font-size:12px;font-weight:600;line-height:1.4}
.site-permission-panel{margin-top:18px}
.site-permission-list{display:grid;gap:10px}
.site-permission-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 16px;border:1px solid #d9e5ea;border-radius:13px;background:#fbfdfd}
.site-permission-list article b,.site-permission-list article small{display:block}
.site-permission-list article small{margin-top:3px;color:#647b88}
.permission-switch{display:flex;align-items:center;gap:10px;cursor:pointer}
.permission-switch input{position:absolute;opacity:0;pointer-events:none}
.permission-switch span{position:relative;width:46px;height:26px;border-radius:999px;background:#a9b8c0;transition:background .15s ease-out}
.permission-switch span:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease-out}
.permission-switch input:checked+span{background:#0f8a7c}
.permission-switch input:checked+span:after{transform:translateX(20px)}
.permission-switch input:focus-visible+span{outline:3px solid #5eead4;outline-offset:2px}
.permission-switch em{min-width:105px;color:#294858;font-style:normal;font-weight:600}
.permission-admin-note{margin:12px 0 0;color:#536d7a;font-size:13px}

@media(max-width:767px){
  .job-evidence-gallery{grid-template-columns:1fr}
  .job-evidence-gallery figure:only-child{grid-column:auto}
  .job-evidence-gallery button,.job-evidence-gallery figure:only-child button{height:210px}
  .job-service-detail-grid{grid-template-columns:1fr 1fr}
  .job-service-detail-grid>div{border-bottom:1px solid #d8e4e9}
  .job-service-detail-grid>div:nth-child(2n){border-right:0}
  .job-service-detail-grid>div.wide{border-bottom:0}
  .job-service-detail-grid ul{grid-template-columns:1fr}
  .site-permission-list article{align-items:flex-start;flex-direction:column}
  .permission-switch{width:100%;min-height:44px}
}

@media(max-width:900px){
  body.ops-admin .asset-info-layout{grid-template-columns:1fr;gap:18px}
  body.ops-admin .asset-photo-compact{padding:18px 0 0;border-left:0;border-top:1px solid var(--ops-line,#d8e3e8)}
  body.ops-admin .asset-photo-main{max-height:270px}
}
@media(max-width:390px){
  body.ops-admin .asset-info-layout>.detail-grid{grid-template-columns:1fr!important}
  body.ops-admin .asset-photo-compact .asset-photo-actions{grid-template-columns:1fr 1fr}
  body.ops-admin .ops-service-record-summary dl{grid-template-columns:1fr}
  body.ops-admin .ops-service-record-summary dl .wide{grid-column:auto}
}
body.ops-admin .sidebar .brand-mark{overflow:hidden;background:transparent!important;border:0;box-shadow:0 4px 12px #061f2a60!important}
body.ops-admin .sidebar .brand-mark img{display:block;width:40px;height:40px;object-fit:contain}
body.ops-admin .sidebar .brand .ops-brand-name{font-family:'Inter','IBM Plex Sans Thai',sans-serif!important;font-size:20px;font-weight:750;letter-spacing:-.035em;line-height:1.15;color:#fff}
body.ops-admin .sidebar .brand .ops-brand-name small{display:block;margin-top:5px;color:#a9c0cc;font-size:12px;font-weight:400;letter-spacing:0;line-height:1.3}
body.ops-admin .ops-branch-card>div:first-child{margin:-24px -24px 0;padding:24px;border-radius:16px 16px 0 0;background:linear-gradient(120deg,#134f69,#1a6d84);color:#fff}
body.ops-admin .ops-branch-card>div:first-child :is(h2,p,svg){color:#fff!important}
body.ops-admin .ops-branch-card>div:first-child>span{background:#ffffff28!important;color:#fff!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-branch-card{background:var(--ops-panel)!important}
@media(max-width:700px){body.ops-admin .ops-metrics.ops-metrics-primary.ops-page-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){body.ops-admin .ops-metrics.ops-metrics-primary.ops-page-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.ops-admin .ops-page-summary .ops-metric{min-height:140px}body.ops-admin .ops-branch-card>div:first-child{margin:-24px -24px 0}}
/* Keep the sidebar vertically scrollable without creating a horizontal axis. */
body.ops-admin .sidebar{min-width:0;overflow-x:hidden;overflow-y:auto}
body.ops-admin .sidebar .menu{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);overflow-x:hidden;overflow-y:auto}
body.ops-admin .sidebar .menu button{min-width:0;max-width:100%}
body.ops-admin .sidebar .menu button>span:not(.counter){min-width:0;overflow-wrap:anywhere}
body.ops-admin .sidebar .menu button i,body.ops-admin .sidebar .menu button .counter{flex-shrink:0}
body.ops-admin .sidebar .brand .ops-brand-name{min-width:0;overflow-wrap:anywhere}
body.ops-admin .sidebar .sidebar-foot{min-width:0;max-width:calc(100% - 12px)}

/* Location hierarchy: restrained colour on browse cards, not on detailed records. */
body.ops-admin .ops-area-card{border-radius:12px!important;transition:transform 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out}
body.ops-admin .ops-area-card .ops-equipment-icon{background:linear-gradient(135deg,#e9faf7,#edf4ff)!important;color:#17677c!important}
body.ops-admin .ops-area-card-count{gap:8px}
body.ops-admin .ops-area-card-count span{font-weight:600}
body.ops-admin .ops-area-card-count span:first-child{background:#eaf1ff;color:#284f91}
body.ops-admin .ops-area-card-count span:nth-child(2){background:#e1f4f1;color:#116a68}
/* Browse cards carry a gentle surface gradient through every hierarchy level. */
body.ops-admin .ops-page .panel.ops-area-card{position:relative;overflow:hidden;border-radius:14px!important;background:linear-gradient(135deg,#edf8f7,#e7f3f5)!important;border-color:#c8dfe4!important;box-shadow:0 4px 15px #14435816!important}
body.ops-admin .ops-page .panel.ops-area-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#127c82,#258b8d)}
body.ops-admin .ops-page .ops-area-card .ops-equipment-icon{background:linear-gradient(135deg,#176d80,#278696)!important;color:#fff!important;box-shadow:0 4px 10px #134d7530}
body.ops-admin .ops-page .ops-area-card-count span:first-child{background:#d7e5ff;color:#173e85}
body.ops-admin .ops-page .ops-area-card-count span:nth-child(2){background:#c8ebe5;color:#075f57}
@media(hover:hover){body.ops-admin .ops-page .panel.ops-area-card:hover{border-color:#6aa9b4!important;box-shadow:0 12px 26px #13445829!important}}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .panel.ops-area-card{background:linear-gradient(135deg,#1b3b48,#214550)!important;border-color:#365966!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .ops-area-card .ops-equipment-icon{background:linear-gradient(135deg,#247e8a,#348e99)!important;color:#fff!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .ops-area-card-count span:first-child{background:#314f81;color:#e8f0ff}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .ops-area-card-count span:nth-child(2){background:#1b6059;color:#e0fff7}
/* MA-aware hover feedback on the same shared equipment card in both lists. */
body.ops-admin .ops-equipment-card{transition:transform 180ms ease-out,border-color 180ms ease-out,background-color 180ms ease-out,box-shadow 180ms ease-out}
body.ops-admin .ops-equipment-card{background:linear-gradient(145deg,#fff 0%,#fff 60%,#f5fafb 100%)!important}
body.ops-admin .ops-equipment-card .ops-equipment-accent{height:4px}
body.ops-admin .ops-equipment-card .ops-asset-icon{box-shadow:inset 0 0 0 1px #ffffff8a}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card{background:linear-gradient(145deg,#132b39 0%,#132b39 60%,#1a3747 100%)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-planned .ops-asset-icon{background:linear-gradient(135deg,#245e54,#397970)!important;color:#e7fff8!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-upcoming .ops-asset-icon{background:linear-gradient(135deg,#765322,#927036)!important;color:#fff1cb!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-overdue .ops-asset-icon{background:linear-gradient(135deg,#7e3f4b,#9c5261)!important;color:#ffecf0!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-unscheduled .ops-asset-icon{background:linear-gradient(135deg,#3b5363,#516a79)!important;color:#f0f8fb!important}
@media(hover:hover){
  body.ops-admin .ops-equipment-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #143f5928!important}
  body.ops-admin .ops-equipment-planned:hover{border-color:#2a9a8d;background:#f1faf8!important}
  body.ops-admin .ops-equipment-upcoming:hover{border-color:#d69b28;background:#fffbf0!important}
  body.ops-admin .ops-equipment-overdue:hover{border-color:#dd6270;background:#fff5f6!important}
  body.ops-admin .ops-equipment-unscheduled:hover{border-color:#8194a7;background:#f5f8fb!important}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-planned:hover{background:#1b4042!important}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-upcoming:hover{background:#413727!important}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-overdue:hover{background:#422d38!important}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-unscheduled:hover{background:#203a4b!important}
}
body.ops-admin .ops-branch-stats>div{border:0!important;background:linear-gradient(135deg,#15596e,#1d7383)!important}
body.ops-admin .ops-branch-stats>div:nth-child(2){background:linear-gradient(135deg,#253f80,#4059a2)!important}
body.ops-admin .ops-branch-stats>div:nth-child(3){background:linear-gradient(135deg,#325265,#456b79)!important}
body.ops-admin .ops-branch-stats :is(strong,small){color:#fff!important}
@media(hover:hover){body.ops-admin .ops-area-card:hover{transform:translateY(-2px);border-color:#80b8c7!important;box-shadow:0 10px 24px #102f4c24!important}}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-area-card .ops-equipment-icon{background:linear-gradient(135deg,#214d5a,#263f5a)!important;color:#c6f1f1!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-area-card-count span:first-child{background:#253d65;color:#e0e9ff}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-area-card-count span:nth-child(2){background:#184b49;color:#d3f5ee}
body.ops-admin .ops-location-detail .cards-grid:has(>.ops-equipment-card){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.ops-admin .ops-location-detail .ops-equipment-card.selected{border-color:#1a889c!important;box-shadow:0 0 0 2px #1a889c33!important}
@media(max-width:1350px){body.ops-admin .ops-location-detail .cards-grid:has(>.ops-equipment-card){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){body.ops-admin .ops-location-detail .cards-grid:has(>.ops-equipment-card){grid-template-columns:1fr}}
body.ops-admin .ops-location-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 17px;color:var(--ops-muted);font-size:13px}
body.ops-admin .ops-location-breadcrumb button{min-height:36px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:var(--ops-ink);font:500 13px 'Inter','IBM Plex Sans Thai',sans-serif;cursor:pointer;text-align:left}
body.ops-admin .ops-location-breadcrumb button:hover{color:var(--ops-accent);text-decoration:underline;text-underline-offset:3px}
body.ops-admin .ops-location-breadcrumb button:focus-visible{outline:2px solid var(--ops-accent);outline-offset:2px}
body.ops-admin .ops-location-breadcrumb strong{min-width:0;color:var(--ops-ink);font-weight:600}
@media(max-width:767px){body.ops-admin .ops-location-breadcrumb{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:5px}body.ops-admin .ops-location-breadcrumb button{flex:none;min-height:44px}body.ops-admin .ops-location-breadcrumb strong{flex:none}}
@media(max-width:767px){body.ops-admin .ops-location-detail .page-head .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}body.ops-admin .ops-location-detail .page-head .actions>.btn{grid-column:auto!important;width:100%;min-width:0;min-height:48px;white-space:normal;line-height:1.25;padding:9px 10px}body.ops-admin .ops-location-detail .page-head .actions>[data-action="contextual-back"]{display:none!important}body.ops-admin .ops-location-detail .page-head .actions>[data-action="schedule-location-ma"]{grid-column:1/-1!important}}
/* Structured audit history: table on desktop, label/value cards on phones. */
body.ops-admin .ops-audit-table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
/* Shared two-tone equipment card: the upper colour communicates MA status. */
body.ops-admin .ops-equipment-card{min-width:0;min-height:0;padding:0!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 26px #143c501c!important}
body.ops-admin .ops-equipment-hero{display:flex;flex-direction:column;min-height:175px;padding:24px;border-radius:18px 18px 0 0;color:#fff}
body.ops-admin .ops-equipment-planned .ops-equipment-hero{background:linear-gradient(135deg,#078469,#04694f)}
body.ops-admin .ops-equipment-upcoming .ops-equipment-hero{background:linear-gradient(135deg,#ad6909,#8d5208)}
body.ops-admin .ops-equipment-overdue .ops-equipment-hero{background:linear-gradient(135deg,#dc3030,#b91c1c)}
body.ops-admin .ops-equipment-unscheduled .ops-equipment-hero{background:linear-gradient(135deg,#64748b,#475569)}
body.ops-admin .ops-equipment-identity{display:flex;align-items:flex-start;gap:13px;min-width:0}
body.ops-admin .ops-equipment-identity>div{min-width:0}
body.ops-admin .ops-equipment-hero .ops-asset-icon,html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card .ops-equipment-hero .ops-asset-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #ffffff70;border-radius:13px;background:#ffffff25!important;color:#fff!important;box-shadow:none}
body.ops-admin .ops-equipment-hero .ops-asset-icon svg{width:24px;height:24px}
body.ops-admin .ops-equipment-card .ops-equipment-hero h3,html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card .ops-equipment-hero h3{margin:0;color:#fff!important;font-size:20px!important;font-weight:700!important;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
body.ops-admin .ops-equipment-card .ops-equipment-hero p,html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card .ops-equipment-hero p{margin:5px 0 0;color:#fff!important;font-size:13px!important;font-weight:500;line-height:1.5;opacity:.96}
body.ops-admin .ops-equipment-card .ops-equipment-hero [class^="ops-ma-badge-"],html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card .ops-equipment-hero [class^="ops-ma-badge-"]{align-self:flex-start;margin-top:auto;padding:7px 11px;border:1px solid #ffffff80;border-radius:999px;background:#ffffff24!important;color:#fff!important;box-shadow:none!important;font-size:12px;font-weight:700;line-height:1.25}
body.ops-admin .ops-equipment-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:22px 24px 20px;border-radius:0 0 18px 18px;background:#fff}
body.ops-admin .ops-equipment-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:0}
body.ops-admin .ops-equipment-body dl>div,html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body dl>div{min-width:0;padding:0 0 13px;border:0;border-bottom:1px solid #e7eef1;border-radius:0;background:transparent!important}
body.ops-admin .ops-equipment-body dt{margin:0 0 6px;color:#586f7c;font-size:12px;font-weight:500;line-height:1.4}
body.ops-admin .ops-equipment-body dd{margin:0;color:#173345;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
body.ops-admin .ops-equipment-body button[data-action="view-asset"]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:auto;padding:17px 0 0;border:0;background:transparent;color:#0e6372;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
body.ops-admin .ops-equipment-body button[data-action="view-asset"] svg{width:18px;height:18px}
body.ops-admin .ops-asset-result-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:4px 0 16px}
body.ops-admin .ops-asset-result-bar #asset-result-meta{margin:0;color:#263c49!important;font-size:14px;font-weight:650}
body.ops-admin .ops-asset-result-bar .asset-pager{margin:0}
body.ops-admin .ops-page .asset-pager{gap:5px}
body.ops-admin .ops-page .asset-pager .pager-numbers{display:flex;align-items:center;gap:5px}
body.ops-admin .ops-page .asset-pager button{min-width:40px;min-height:40px;border:1px solid #c9d9df;border-radius:9px;background:#fff;color:#294551;font-size:14px;font-weight:650;cursor:pointer}
body.ops-admin .ops-page .asset-pager button:hover:not(:disabled):not(.active){border-color:#16828c;background:#ebf7f7;color:#0b5360}
body.ops-admin .ops-page .asset-pager button.active{border-color:#0f777f!important;background:#0f777f!important;color:#fff!important;font-weight:800!important;box-shadow:0 5px 12px #0f777f38!important}
body.ops-admin .ops-page .asset-pager button:focus-visible{outline:3px solid #50b5bb;outline-offset:2px}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-asset-result-bar #asset-result-meta{color:#e4f1f4!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .asset-pager button:not(.active){border-color:var(--ops-line);background:var(--ops-panel);color:var(--ops-ink)}
@media(max-width:700px){body.ops-admin .ops-asset-result-bar{align-items:flex-start;flex-direction:column}body.ops-admin .ops-page .asset-pager{justify-content:flex-start;max-width:100%}body.ops-admin .ops-page .asset-pager .pager-number:not(.pager-near){display:none}body.ops-admin .ops-page .asset-pager button{min-width:44px;min-height:44px}}
body.ops-admin .ops-equipment-hero .asset-select{display:flex;align-items:center;gap:8px;align-self:flex-start;min-height:32px;margin:-4px 0 12px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
body.ops-admin .ops-equipment-hero .asset-select input{width:18px;height:18px;margin:0;accent-color:#fff;cursor:pointer}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-card{background:var(--ops-panel)!important;box-shadow:0 12px 26px #0005!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body{background:var(--ops-panel)}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body dl>div{border-bottom-color:var(--ops-line)}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body dt{color:var(--ops-muted)}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body dd{color:var(--ops-ink)!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-equipment-body button[data-action="view-asset"]{color:#8bd4df!important}
@media(max-width:600px){body.ops-admin .ops-equipment-hero{min-height:155px;padding:20px}body.ops-admin .ops-equipment-body{padding:20px}body.ops-admin .ops-equipment-card .ops-equipment-hero h3{font-size:18px!important}}
body.ops-admin .ops-audit-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}
body.ops-admin .ops-audit-access .ops-audit-table th:nth-child(1){width:20%}body.ops-admin .ops-audit-access .ops-audit-table th:nth-child(2){width:16%}body.ops-admin .ops-audit-access .ops-audit-table th:nth-child(3){width:21%}body.ops-admin .ops-audit-access .ops-audit-table th:nth-child(4){width:16%}body.ops-admin .ops-audit-access .ops-audit-table th:nth-child(5){width:27%}
body.ops-admin .ops-audit-activity .ops-audit-table th:nth-child(1){width:18%}body.ops-admin .ops-audit-activity .ops-audit-table th:nth-child(2){width:39%}body.ops-admin .ops-audit-activity .ops-audit-table th:nth-child(3){width:27%}body.ops-admin .ops-audit-activity .ops-audit-table th:nth-child(4){width:16%}
body.ops-admin .ops-audit-table th{padding:14px 16px;border:0;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#526579;font-size:12px;font-weight:600;letter-spacing:0;text-align:left}
body.ops-admin .ops-audit-table td{padding:16px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;color:#263b4d;font-size:13px;line-height:1.5;white-space:normal;vertical-align:top;overflow-wrap:anywhere;transition:background-color 150ms ease-out}
body.ops-admin .ops-audit-table tbody tr:last-child td{border-bottom:0}
body.ops-admin .ops-audit-table tbody tr:hover td{background:#f8fafc}
body.ops-admin .ops-audit-table td:first-child{border-left:2px solid transparent}
body.ops-admin .ops-audit-table tr.ops-audit-current td:first-child{border-left-color:#14919a}
body.ops-admin .ops-audit-table strong,body.ops-admin .ops-audit-card strong{display:block;color:#162b3c;font-size:14px;font-weight:600}
body.ops-admin .ops-audit-badge{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:999px;background:#eaf3f5;color:#215c6b;font-size:11px;font-weight:600;line-height:1.3}
body.ops-admin .ops-audit-entity{display:block;margin-top:5px;color:#203d4b;font-weight:500}
body.ops-admin .ops-audit-table small,body.ops-admin .ops-audit-card small{display:block;margin-top:4px;color:#667b8c;font-size:12px}
body.ops-admin .ops-audit-mobile{display:none}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-table-wrap,html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-card{border-color:#355568;background:#183747}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-table th{border-color:#355568;background:#1e4051;color:#c8dae2}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-table td{border-color:#2c4d5c;background:#183747;color:#e3eef1}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-table tbody tr:hover td{background:#23495b}
html[data-cooltrack-theme="dark"] body.ops-admin :is(.ops-audit-table,.ops-audit-card) strong{color:#f0f7f8}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-badge{background:#275667;color:#e4f5f7}
@media(max-width:767px){body.ops-admin .ops-audit-page .panel{padding:16px!important}body.ops-admin .ops-audit-table-wrap{display:none}body.ops-admin .ops-audit-mobile{display:grid;gap:12px}body.ops-admin .ops-audit-card{padding:16px;border:1px solid #e2e8f0;border-left:2px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 2px 8px #12344b0b}body.ops-admin .ops-audit-card.ops-audit-current{border-left-color:#14919a}body.ops-admin .ops-audit-card dl{display:grid;gap:0;margin:0}body.ops-admin .ops-audit-card dl>div{display:grid;grid-template-columns:minmax(105px,35%) minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #eef2f5}body.ops-admin .ops-audit-card dl>div:first-child{padding-top:0}body.ops-admin .ops-audit-card dl>div:last-child{padding-bottom:0;border-bottom:0}body.ops-admin .ops-audit-card dt{color:#5f7484;font-size:12px;font-weight:500}body.ops-admin .ops-audit-card dd{min-width:0;margin:0;color:#203748;font-size:13px;line-height:1.5;overflow-wrap:anywhere}html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-card dl>div{border-color:#315464}html[data-cooltrack-theme="dark"] body.ops-admin .ops-audit-card :is(dt,dd){color:#dce9ec}}

/* Mobile app chrome only: desktop and tablet retain their existing layout. */
.ops-mobile-title{display:none}
@media(max-width:767px){
  html,body,body.ops-admin,body.ops-admin .shell,body.ops-admin .shell>main,body.ops-admin #app{overflow-x:clip!important;overflow-y:visible!important}
  body.ops-admin{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  body.ops-admin .ops-topbar{position:sticky!important;top:0!important;z-index:60!important;height:calc(58px + env(safe-area-inset-top))!important;min-height:calc(58px + env(safe-area-inset-top))!important;padding:calc(6px + env(safe-area-inset-top)) 10px 6px!important;gap:7px;border-bottom:1px solid var(--ops-line)!important;box-shadow:0 3px 12px #0e324415!important;backdrop-filter:blur(12px)}
  body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn){display:inline-flex!important;flex:0 0 44px;min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important;padding:0!important;border:1px solid #cbdde6;border-radius:12px;background:#f3f8fa;color:#174d61;transition:background-color 160ms ease-out,transform 160ms ease-out}
  body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn):active{transform:scale(.97);background:#e0f1f4}
  body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn) .ui-icon{width:22px;height:22px}
  body.ops-admin .ops-mobile-title{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#183645;font-size:15px;font-weight:700}
  body.ops-admin .ops-site-switch{height:44px;min-height:44px;padding:3px 8px}
  body.ops-admin .ops-topbar .account{margin-left:auto!important}
  body.ops-admin .mobile-nav{position:fixed!important;inset:auto 0 0!important;z-index:45!important;height:calc(64px + env(safe-area-inset-bottom))!important;padding:5px 6px calc(5px + env(safe-area-inset-bottom))!important;background:#fff;border-top:1px solid #d8e5eb;box-shadow:0 -4px 14px #102d4414}
  body.ops-admin .mobile-nav button{min-width:0;min-height:54px;padding:5px 2px;border-radius:12px;color:#496575;transition:background-color 160ms ease-out,color 160ms ease-out,transform 160ms ease-out}
  body.ops-admin .mobile-nav button.active{background:#e8f4f6;color:#0c5f6d;font-weight:700}
  body.ops-admin .mobile-nav button:active{transform:scale(.97)}
  body.ops-admin .mobile-drawer{inset:0!important;z-index:70!important;background:#0c243575!important;transition:opacity 180ms ease-in}
  body.ops-admin .mobile-drawer.open{transition-timing-function:ease-out}
  body.ops-admin .mobile-drawer-panel{width:min(320px,86vw)!important;max-width:86vw!important;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))!important;box-shadow:12px 0 30px #0b263339!important;transition:transform 200ms ease-in!important}
  body.ops-admin .mobile-drawer.open .mobile-drawer-panel{transition-timing-function:ease-out!important}
  body.ops-admin .mobile-drawer .drawer-close.mobile-drawer-back{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;top:calc(14px + env(safe-area-inset-top))!important;border-radius:12px!important;background:#eff7f9!important}
  body.ops-admin .mobile-drawer-back .ui-icon{width:23px;height:23px}
  body.ops-admin .mobile-drawer-title{padding-left:54px!important;min-height:46px}
  body.ops-admin .content.ops-page{padding-top:16px!important;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
}
@media(max-width:359px){body.ops-admin .ops-topbar{padding-inline:6px!important;gap:4px}body.ops-admin .ops-topbar .ops-site-switch{padding-inline:5px}body.ops-admin .ops-mobile-title{font-size:14px}}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn),html[data-cooltrack-theme="dark"] body.ops-admin .mobile-drawer .drawer-close.mobile-drawer-back{background:#244553!important;border-color:#456474!important;color:#e6f6f7!important}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-mobile-title{color:#e6f2f4}
html[data-cooltrack-theme="dark"] body.ops-admin .mobile-nav{background:#183747;border-color:#365666}
html[data-cooltrack-theme="dark"] body.ops-admin .mobile-nav button{color:#c4d8df}
html[data-cooltrack-theme="dark"] body.ops-admin .mobile-nav button.active{background:#27586a;color:#f2ffff}
html[data-cooltrack-theme="dark"] body.ops-admin .mobile-drawer-panel{background:#183747!important}
html[data-cooltrack-theme="dark"] body.ops-admin .mobile-drawer :is(.mobile-drawer-title,button[data-nav],small){color:#e4f0f2!important}
@media(prefers-reduced-motion:reduce){body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn),body.ops-admin .mobile-nav button,body.ops-admin .mobile-drawer,body.ops-admin .mobile-drawer-panel{transition:none!important}}

/* Mobile operational chrome: reuse the desktop notification control and scoped job total. */
@media(max-width:767px){
  body.ops-admin .ops-topbar .account .bell{display:grid!important;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;position:relative;border:1px solid #cbdde6;border-radius:12px;background:#fff;color:#174d61}
  body.ops-admin .ops-topbar .account .bell:active,body.ops-admin .ops-topbar .theme-toggle:active{background:#e6f3f5;transform:scale(.97)}
  body.ops-admin .ops-topbar .account .bell:focus-visible,body.ops-admin .ops-topbar :is(.mobile-menu-btn,.mobile-back-btn):focus-visible,body.ops-admin .mobile-nav button:focus-visible,body.ops-admin .ops-calendar-grid button:focus-visible{outline:3px solid #44aabd;outline-offset:2px}
  body.ops-admin .ops-topbar .account .avatar{flex:0 0 36px;width:36px;height:36px;font-size:11px}
  body.ops-admin .ops-site-switch{min-width:0;overflow:visible}
  body.ops-admin .ops-site-switch .ops-select-component{min-width:0}
  body.ops-admin .ops-site-switch .ops-select-trigger{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:3px}
  body.ops-admin .ops-site-switch .ops-select-trigger>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.ops-admin .ops-site-switch .ops-select-trigger>i{flex:0 0 auto}
  body.ops-admin .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600}
  body.ops-admin .mobile-nav button i{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:21px}
  body.ops-admin .mobile-nav button span:not(.ops-mobile-job-count){line-height:1.2;white-space:nowrap}
  body.ops-admin .ops-mobile-job-count{position:absolute;top:-8px;left:calc(100% - 3px);display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#c63540;color:#fff;font-size:10px;font-style:normal;font-weight:700;line-height:1;white-space:nowrap}
  body.ops-admin .ops-calendar-tools button{min-width:40px;min-height:40px}
  body.ops-admin .ops-calendar-tools button .ui-icon{width:17px;height:17px;vertical-align:middle}
  body.ops-admin .ops-calendar-grid .ops-day{position:relative;justify-content:flex-start;color:#253e50;font-weight:600}
  body.ops-admin .ops-calendar-grid .ops-day.today{box-shadow:inset 0 0 0 1px #4a9daa;background:#f1f9fa}
  body.ops-admin .ops-calendar-grid .ops-day.selected{border-color:#0e7180;background:#e4f3f5;box-shadow:inset 0 0 0 1px #0e7180;color:#104d60}
  body.ops-admin .ops-calendar-grid .ops-day.has-activity>span:first-child{color:#b72b37;font-weight:700}
  body.ops-admin .ops-calendar-grid .ops-day.has-activity:after{content:'';position:absolute;right:5px;top:6px;width:5px;height:5px;border-radius:50%;background:#ce3b46}
  body.ops-admin .ops-calendar-grid .ops-day.selected.has-activity>span:first-child{color:#8e1b2c}
  body.ops-admin .ops-calendar-grid .ops-day.outside{opacity:.43}
  body.ops-admin .ops-calendar-grid .ops-day b{background:#e3f0f3;color:#17576b}
  body.ops-admin .content:has(.job-hero-card){padding:12px 12px calc(90px + env(safe-area-inset-bottom))!important}
  body.ops-admin .content:has(.job-hero-card) .page-head{margin-bottom:12px}
  body.ops-admin .content:has(.job-hero-card) .page-head h1{font-size:21px;line-height:1.3}
  body.ops-admin .content:has(.job-hero-card) .page-head .actions :is([data-nav],[data-action="contextual-back"]){display:none!important}
  body.ops-admin .job-hero-card{gap:10px;margin-bottom:12px;padding:16px;border-color:#cbdfe8;border-radius:16px;background:#f5fafc}
  body.ops-admin .job-type-icon .ui-icon{width:24px;height:24px}
  body.ops-admin .job-hero-copy .eyebrow{margin:0 0 5px;color:#116779;font-size:12px;font-weight:700}
  body.ops-admin .job-hero-copy h2{color:#142d40;font-size:21px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
  body.ops-admin .job-hero-copy p:last-child{margin-top:7px;color:#3c5a6c;font-size:13px;font-weight:500;line-height:1.45}
  body.ops-admin .job-next{padding:12px 14px;border-color:#c9dfe6;background:#fff}
  body.ops-admin .job-next small{color:#526b79;font-size:12px;font-weight:500;line-height:1.4}
  body.ops-admin .job-next b{margin:4px 0;color:#193e51;font-size:16px;font-weight:700}
  body.ops-admin .job-section{padding:16px;border:1px solid #d6e5eb;border-radius:15px}
  body.ops-admin .job-detail-layout{gap:12px}
  body.ops-admin .job-section h2{padding-left:10px;border-left:3px solid #168b92;color:#163747;font-size:17px;font-weight:700}
  body.ops-admin .job-section>p{margin:5px 0 14px;color:#526d7d;font-size:12px;font-weight:500}
  body.ops-admin .job-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.ops-admin .job-info{min-width:0;gap:7px;padding:11px 9px;border-color:#d8e6ec;background:#fbfdfe}
  body.ops-admin .job-info-icon{flex:0 0 27px}
  body.ops-admin .job-info-icon .ui-icon{width:16px;height:16px}
  body.ops-admin .job-info small,body.ops-admin .job-asset-link small{color:#506c7c;font-size:12px;font-weight:500;line-height:1.3}
  body.ops-admin .job-info b,body.ops-admin .job-asset-link b{color:#193748;font-size:14px;font-weight:600;line-height:1.4}
  body.ops-admin .job-asset-link{min-width:0;flex-wrap:wrap;align-items:flex-start;border-color:#cfdfeb;background:#f5fafc;text-align:left}
  body.ops-admin .job-asset-link div{flex:1 1 calc(100% - 50px);min-width:0}
  body.ops-admin .job-asset-link .text-btn{display:flex;align-items:center;justify-content:flex-end;gap:5px;width:100%;min-height:35px;margin:4px 0 0;padding-top:7px;border-top:1px solid #dce8ec;white-space:nowrap}
  body.ops-admin .job-asset-link .air-visual .ui-icon{width:20px;height:20px}
  body.ops-admin .job-asset-link .text-btn .ui-icon{width:15px;height:15px;vertical-align:middle}
  body.ops-admin .ops-service-record-state{margin:13px 0;padding:12px}
  body.ops-admin .ops-service-record-summary dt{color:#526b79;font-size:12px;font-weight:600}
  body.ops-admin .ops-service-record-summary dd{color:#193748;font-size:14px;font-weight:600;overflow-wrap:anywhere}
  body.ops-admin .job-step small{color:#526d7d}
}
@media(max-width:359px){body.ops-admin .ops-topbar .account{gap:2px}body.ops-admin .ops-topbar .account .avatar{flex-basis:32px;width:32px;height:32px}body.ops-admin .job-info-grid{grid-template-columns:1fr}}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-topbar .account .bell{background:#244553;color:#e6f6f7;border-color:#456474}
html[data-cooltrack-theme="dark"] body.ops-admin .ops-mobile-job-count{border-color:#183747}
@media(max-width:767px){html[data-cooltrack-theme="dark"] body.ops-admin .ops-calendar-grid .ops-day.today{background:#244c59;box-shadow:inset 0 0 0 1px #73bbca}html[data-cooltrack-theme="dark"] body.ops-admin .ops-calendar-grid .ops-day.selected{background:#285b65;color:#f3fbfb}html[data-cooltrack-theme="dark"] body.ops-admin .ops-calendar-grid .ops-day.has-activity>span:first-child{color:#ff9299}html[data-cooltrack-theme="dark"] body.ops-admin .job-hero-card,html[data-cooltrack-theme="dark"] body.ops-admin .job-asset-link{background:#1c3a49;border-color:#426473}html[data-cooltrack-theme="dark"] body.ops-admin .job-next,html[data-cooltrack-theme="dark"] body.ops-admin .job-info{background:#1e4050;border-color:#426473}html[data-cooltrack-theme="dark"] body.ops-admin .job-hero-copy h2,html[data-cooltrack-theme="dark"] body.ops-admin .job-next b,html[data-cooltrack-theme="dark"] body.ops-admin .job-info b,html[data-cooltrack-theme="dark"] body.ops-admin .job-asset-link b,html[data-cooltrack-theme="dark"] body.ops-admin .ops-service-record-summary dd{color:#ecf6f8}html[data-cooltrack-theme="dark"] body.ops-admin .job-hero-copy p:last-child,html[data-cooltrack-theme="dark"] body.ops-admin .job-next small,html[data-cooltrack-theme="dark"] body.ops-admin .job-info small,html[data-cooltrack-theme="dark"] body.ops-admin .job-asset-link small,html[data-cooltrack-theme="dark"] body.ops-admin .job-section>p,html[data-cooltrack-theme="dark"] body.ops-admin .ops-service-record-summary dt{color:#b8d2dc}}

/* Shared typeahead for the existing site, asset, and province selects. */
.ops-combobox{position:relative;width:100%;min-width:0;margin-top:5px}
.ops-combobox>.ops-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important}
.form .ops-combobox-input{width:100%;min-height:43px;margin:0;padding:9px 32px 9px 11px;border:1px solid #cbdde4;border-radius:9px;background:#fff;color:#173443;font:600 14px 'Sarabun',sans-serif;outline:none}
.ops-combobox-chevron{position:absolute;right:12px;top:50%;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);color:#41677a;pointer-events:none;transition:transform 180ms ease}
.ops-combobox-chevron .ui-icon{width:16px;height:16px}
.ops-combobox.open .ops-combobox-chevron{transform:translateY(-50%) rotate(180deg)}
.ops-combobox.open .ops-combobox-input,.ops-combobox-input:focus-visible{border-color:#168497;box-shadow:0 0 0 3px #31a4b42d}
.ops-combobox.fixed .ops-combobox-input{background:#f1f7f8;color:#244c5e;cursor:default}
.ops-combobox-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1400;display:none;width:100%;min-width:220px;max-width:min(440px,calc(100vw - 36px));max-height:min(260px,40vh);padding:5px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #cbdde4;border-radius:10px;background:#fff;box-shadow:0 18px 38px #102e3d40}
.ops-combobox.open .ops-combobox-menu{display:block}
.ops-combobox-menu button{display:block;width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#244052;font:500 13px 'Sarabun',sans-serif;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.ops-combobox-menu button:hover,.ops-combobox-menu button.active{background:#e6f3f5;color:#105e70}
.ops-combobox-menu button[aria-selected="true"]{font-weight:700}
.ops-combobox-menu :is(p,small){display:block;margin:0;padding:10px;color:#5a7180;font-size:12px}
.modal:has(.ops-combobox.open){overflow:visible}
.ops-site-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid #d6e4e9;border-radius:11px;background:#f3f7f8}
.ops-site-mode button{min-height:43px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#3f6070;font:600 13px 'Sarabun',sans-serif;cursor:pointer}
.ops-site-mode button.active{background:#fff;color:#0d6475;box-shadow:0 2px 6px #153b4b1a}
.ops-form-help{margin:0 0 10px;color:#4e6877;font-size:13px;line-height:1.5}
.ops-form-context{display:grid;gap:2px;padding:10px 12px;border:1px solid #cfe2e7;border-radius:9px;background:#f0f8f9}
.ops-form-context small{color:#5d7784;font-size:12px}
.ops-form-context strong{color:#163d4e;font-size:14px}
.ops-job-locked-context{margin-bottom:2px}
.ops-job-locked-context strong{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}
.ops-job-locked-context strong .ui-icon{width:21px;height:21px;flex:none;color:#146d7d}
.ops-job-locked-context small:last-child{overflow-wrap:anywhere}
.ops-site-existing[hidden],.ops-site-new[hidden],.ops-site-existing label[hidden]{display:none!important}
body.ops-admin .ops-status.pending,body.ops-admin .ops-status.in_progress,body.ops-admin .ops-status.open{background:#e9edff;color:#393b91}
body.ops-admin .ops-status.done{background:#def5e9;color:#146444}
body.ops-admin .ops-status.cancelled{background:#fce8e8;color:#9d2d37}
body.ops-admin .ops-job-row.status-done{box-shadow:inset 3px 0 #278a61}
body.ops-admin .ops-job-row.status-pending,body.ops-admin .ops-job-row.status-in_progress{box-shadow:inset 3px 0 #5a62b6}
body.ops-admin .ops-job-row.status-cancelled{box-shadow:inset 3px 0 #b74e4b}
body.ops-admin .job-hero-card.ops-job-done{border-color:#b6ddc8;background:linear-gradient(135deg,#fff,#f1faf5)}
body.ops-admin .job-hero-card.ops-job-cancelled{border-color:#ebc4c4;background:linear-gradient(135deg,#fff,#fff6f5)}
body.ops-admin .job-hero-card.ops-job-pending,body.ops-admin .job-hero-card.ops-job-in_progress{border-color:#c9d1ef;background:linear-gradient(135deg,#fff,#f5f6ff)}
body.ops-admin .job-hero-card.ops-job-done .job-type-icon{background:#e0f5e9;color:#176d4b}
body.ops-admin .job-hero-card.ops-job-cancelled .job-type-icon{background:#fce8e8;color:#a13a40}
body.ops-admin .ops-job-status-badge{display:inline-flex;align-items:center;gap:5px;font-weight:700}
body.ops-admin .ops-job-status-badge .ui-icon{width:13px;height:13px}
body.ops-admin .job-service-detail-panel.ops-job-done{border-left-color:#238961!important}
.work-order-print-link .ui-icon{width:17px;height:17px;vertical-align:middle;margin-right:4px}
html[data-cooltrack-theme="dark"] .ops-combobox-input{background:#17313f;color:#edf7f8;border-color:#365666}
html[data-cooltrack-theme="dark"] .ops-combobox-menu,html[data-cooltrack-theme="dark"] .ops-site-mode button.active{background:#183747;border-color:#365666}
html[data-cooltrack-theme="dark"] .ops-combobox-menu button{color:#e5f0f2}
html[data-cooltrack-theme="dark"] .ops-combobox-menu button:is(:hover,.active){background:#265565;color:#f5ffff}
html[data-cooltrack-theme="dark"] .ops-site-mode,html[data-cooltrack-theme="dark"] .ops-form-context{background:#173747;border-color:#365666}
html[data-cooltrack-theme="dark"] .ops-site-mode button.active,html[data-cooltrack-theme="dark"] .ops-form-context strong{color:#eaf7f8}
html[data-cooltrack-theme="dark"] .ops-job-locked-context small{color:#b8d2dc}
html[data-cooltrack-theme="dark"] .ops-job-locked-context .ui-icon{color:#8bd1df}
html[data-cooltrack-theme="dark"] body.ops-admin .job-hero-card:is(.ops-job-done,.ops-job-cancelled,.ops-job-pending,.ops-job-in_progress){background:#1c3a49;border-color:#426473}
@media(max-width:600px){.modal[data-form="Local new work order"] .form .two{grid-template-columns:1fr}.ops-site-mode button{font-size:12px;line-height:1.25}}

/* Work order flow presentation; no print template or state changes. */
@media screen{
  body.ops-admin .ops-job-pending .job-next,body.ops-admin .ops-job-in_progress .job-next{background:var(--ops-active-bg,#e9edff);border-color:var(--ops-active-border,#aab7e5)}
  body.ops-admin .ops-job-cancelled .job-next{background:var(--ops-cancel-bg,#fbe9e9);border-color:var(--ops-cancel-border,#dfa0a4)}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-job-done .job-next{background:var(--ops-success-bg);border-color:var(--ops-success-border)}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-job-pending .job-next,html[data-cooltrack-theme="dark"] body.ops-admin .ops-job-in_progress .job-next{background:var(--ops-active-bg);border-color:var(--ops-active-border)}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-job-cancelled .job-next{background:var(--ops-cancel-bg);border-color:var(--ops-cancel-border)}
  body.ops-admin .job-next{display:grid;justify-items:start;gap:5px;min-width:210px;padding:15px 17px}
  body.ops-admin .job-next>b{margin:2px 0 0;font-size:19px;line-height:1.3;font-weight:700}
  body.ops-admin .job-next>small:first-child{font-size:12px;font-weight:600}
  body.ops-admin .job-next>small:last-child{font-size:12px;line-height:1.5;color:#4d6575}
  body[data-role="staff"] .job-next{display:grid;justify-items:start;gap:5px;padding:15px 17px}
  body[data-role="staff"] .job-next>b{margin:2px 0 0;font-size:19px;line-height:1.3;font-weight:700}
  body[data-role="staff"] .job-next>small{font-size:12px;line-height:1.5;color:#4d6575}
  body[data-role="staff"] .job-next.job-status-pending,body[data-role="staff"] .job-next.job-status-in_progress{background:#e9edff;border-color:#aab7e5}
  body[data-role="staff"] .job-next.job-status-done{background:#e5f5ec;border-color:#83c7a4}
  body[data-role="staff"] .job-next.job-status-cancelled{background:#fbe9e9;border-color:#dfa0a4}
  body[data-role="staff"] .job-next.job-status-pending>b,body[data-role="staff"] .job-next.job-status-in_progress>b{color:#35428e}
  body[data-role="staff"] .job-next.job-status-done>b{color:#125d3e}
  body[data-role="staff"] .job-next.job-status-cancelled>b{color:#91323b}
  body.ops-admin .ops-job-pending .job-next>b,body.ops-admin .ops-job-in_progress .job-next>b{color:var(--ops-active-text,#35428e)}
  body.ops-admin .ops-job-cancelled .job-next>b{color:var(--ops-cancel-text,#91323b)}
  .close-job-form{gap:0}
  .close-job-summary{display:grid;gap:4px;padding:14px 16px;border:1px solid #cbddec;border-radius:12px;background:#f3f8fc}
  .close-job-summary small{color:#4d667a;font-size:12px;font-weight:700}
  .close-job-summary b{color:#15344b;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
  .close-job-summary span{color:#526b7c;font-size:12px;line-height:1.45}
  .close-job-section{margin-top:18px}
  .close-job-section-head{margin-bottom:10px}
  .close-job-section-head h3{margin:0;color:#19394c;font-size:15px;font-weight:700}
  .close-job-section-head p{margin:3px 0 0;color:#526b7c;font-size:12px;line-height:1.45}
  .close-job-checklist{display:grid;gap:8px}
  .close-job-form .check-item{margin:0;border-color:#d5e4ed;background:#fff}
  .close-job-form .check-item:has(input:checked){border-color:#82c5a2;background:#e9f7ef}
  .close-job-form .badge.red{border:1px solid #edcf9d;background:#fff0dd;color:#795017}
  .close-job-form .check-copy small{color:#566e7e;font-size:12px}
  .close-job-required{display:inline-block;vertical-align:middle;margin-left:5px;padding:2px 7px;border-radius:6px;background:#fff0dd;color:#795017;font-size:11px;font-weight:700}
  .close-job-detail{display:block}
  .close-job-detail textarea{min-height:88px}
  .close-job-attachments .photo-input-group{margin:0;background:#f3f8fb;border-style:dashed}
  .close-job-actions{border-top:1px solid #dbe5ec;padding-top:14px}
  .close-job-actions .btn.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-weight:700}
  .close-job-actions .btn.primary .ui-icon{width:17px;height:17px}
  html[data-cooltrack-theme="dark"] .close-job-summary,html[data-cooltrack-theme="dark"] .close-job-attachments .photo-input-group{background:#1c3949;border-color:#426473}
  html[data-cooltrack-theme="dark"] .close-job-summary :is(small,b,span),html[data-cooltrack-theme="dark"] .close-job-section-head :is(h3,p),html[data-cooltrack-theme="dark"] .close-job-form .check-copy small{color:#d8eaf0}
  html[data-cooltrack-theme="dark"] .close-job-form .check-item{background:#1b3542;border-color:#426473}
  html[data-cooltrack-theme="dark"] .close-job-form .check-item:has(input:checked){background:#214937;border-color:#5eab81}
  html[data-cooltrack-theme="dark"] body.ops-admin .job-next>small:last-child{color:#c3d9e3}
  html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next.job-status-pending,html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next.job-status-in_progress{background:#30375a;border-color:#747eb2}
  html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next.job-status-done{background:#183f34;border-color:#418f6b}
  html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next.job-status-cancelled{background:#513039;border-color:#a66d75}
  html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next>b,html[data-cooltrack-theme="dark"] body[data-role="staff"] .job-next>small{color:#e0ecf0}
}
@media(max-width:700px){body.ops-admin .job-next{width:100%;min-width:0}}

/* Focused semantic polish: shared screen-only tokens for status, checks and calendar activity. */
@media screen{
  body.ops-admin{--ops-success-bg:#e5f5ec;--ops-success-border:#83c7a4;--ops-success-text:#125d3e;--ops-success-icon:#087a4e;--ops-active-bg:#e9edff;--ops-active-border:#aab7e5;--ops-active-text:#35428e;--ops-cancel-bg:#fbe9e9;--ops-cancel-border:#dfa0a4;--ops-cancel-text:#91323b;--ops-activity-bg:#fde9eb;--ops-activity-text:#ae2030;--ops-activity-dot:#c52e3d}
  html[data-cooltrack-theme="dark"] body.ops-admin{--ops-success-bg:#183f34;--ops-success-border:#418f6b;--ops-success-text:#b5eccf;--ops-success-icon:#89dfad;--ops-active-bg:#30375a;--ops-active-border:#747eb2;--ops-active-text:#dce1ff;--ops-cancel-bg:#513039;--ops-cancel-border:#a66d75;--ops-cancel-text:#ffd9dc;--ops-activity-bg:#57313c;--ops-activity-text:#ffbcc3;--ops-activity-dot:#ff818d}
  body.ops-admin .ops-status.done,body.ops-admin .badge.green{background:var(--ops-success-bg)!important;border:1px solid var(--ops-success-border);color:var(--ops-success-text)!important;font-weight:700}
  body:not(.ops-admin) .badge.green{background:#e5f5ec;border:1px solid #83c7a4;color:#125d3e;font-weight:700}
  html[data-cooltrack-theme="dark"] body:not(.ops-admin) .badge.green{background:#183f34;border-color:#418f6b;color:#b5eccf}
  body.ops-admin .ops-status:is(.pending,.in_progress,.open){background:var(--ops-active-bg);border:1px solid var(--ops-active-border);color:var(--ops-active-text)}
  body.ops-admin .ops-status.cancelled{background:var(--ops-cancel-bg);border:1px solid var(--ops-cancel-border);color:var(--ops-cancel-text)}
  body.ops-admin .ops-job-done .job-next{border-color:var(--ops-success-border);background:var(--ops-success-bg)}
  body.ops-admin .ops-job-done .job-next b,body.ops-admin .ops-job-done .job-next .ops-job-status-badge .ui-icon{color:var(--ops-success-text)!important}
  body.ops-admin .ops-service-record-state{border-color:var(--ops-success-border);background:var(--ops-success-bg)}
  body.ops-admin .ops-service-record-state>span{background:var(--ops-success-border);color:#073f2a}
  body.ops-admin .ops-service-record-state b{color:var(--ops-success-text)}
  body.ops-admin .job-service-detail-grid li.passed span{border:1px solid var(--ops-success-border);background:var(--ops-success-bg);color:var(--ops-success-icon)}
  body.ops-admin .job-service-detail-grid li.passed span .ui-icon{width:15px;height:15px;stroke-width:2.4}
  body.ops-admin .ops-day.has-activity{position:relative}
  body.ops-admin .ops-day.has-activity b,html[data-cooltrack-theme="dark"] body.ops-admin .ops-day.has-activity b{border:1px solid color-mix(in srgb,var(--ops-activity-dot) 30%,transparent);background:var(--ops-activity-bg);color:var(--ops-activity-text)!important;font-weight:800}
  html[data-cooltrack-theme="dark"] body.ops-admin .ops-page .panel .ops-day.has-activity b{color:var(--ops-activity-text)!important}
  body.ops-admin .ops-day.has-activity:after{content:'';position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--ops-activity-dot)}
  body.ops-admin .ops-day.selected.has-activity{border-color:var(--ops-accent)}
  body.ops-admin .ops-select-trigger i{display:inline-flex;align-items:center;justify-content:center}
  body.ops-admin .ops-select-trigger i .ui-icon{width:16px;height:16px}
  body.ops-admin .ops-select-component.open .ops-select-trigger i{transform:rotate(180deg)}
  body.ops-admin .ops-select-menu button b .ui-icon{width:15px;height:15px;color:var(--ops-success-icon)}
  body.ops-admin .ops-page .page-head .actions [data-action="contextual-back"]{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
  body.ops-admin .ops-mobile-back{align-items:center;justify-content:center;gap:7px;border-radius:10px;transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
  body.ops-admin .ops-page .page-head .actions [data-action="contextual-back"]:hover,body.ops-admin .ops-mobile-back:hover{background:var(--ops-soft)!important;border-color:var(--ops-accent)!important}
  body.ops-admin .ops-page .page-head .actions [data-action="contextual-back"]:active,body.ops-admin .ops-mobile-back:active{transform:scale(.98)}
  body.ops-admin .ops-mobile-back .ui-icon{transform:none!important}
  body.ops-admin .ops-calendar-tools button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;transition:background-color 180ms ease,border-color 180ms ease}
  body.ops-admin .ops-calendar-tools button:hover,body.ops-admin .ops-pager button:hover:not(:disabled),body.ops-admin .asset-pager .pager-arrow:hover:not(:disabled){background:var(--ops-soft);border-color:var(--ops-accent)}
  body.ops-admin .ops-calendar-tools button .ui-icon,body.ops-admin .ops-pager button .ui-icon,body.ops-admin .asset-pager .pager-arrow .ui-icon{width:17px;height:17px;vertical-align:middle}
  .cooltrack-arrow-label{display:inline-flex;align-items:center;gap:5px}
  .cooltrack-arrow-label .ui-icon{width:15px;height:15px;flex:none}
}

/* ============================================================
   CoolTrack Component Elevation layer (UI 2.0)
   Appended screen-only polish. Scoped to body.ops-admin.
   No business markup, data, or print behavior is affected.
   ============================================================ */
body.ops-admin{
  --ct-radius-s:10px;--ct-radius-m:12px;--ct-radius-l:16px;
  --ct-shadow-1:0 1px 2px rgba(16,54,71,.06),0 1px 3px rgba(16,54,71,.05);
  --ct-shadow-2:0 6px 18px rgba(16,54,71,.10);
  --ct-hover-tint:#f2f8fa;
  --ct-ease:cubic-bezier(.3,.7,.4,1);
}
/* Buttons: one coherent system — 40px height, refined radius, gentle states */
body.ops-admin .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:var(--ct-radius-s);font-weight:600;letter-spacing:.005em;transition:background-color .16s var(--ct-ease),border-color .16s var(--ct-ease),box-shadow .16s var(--ct-ease),color .16s var(--ct-ease)}
body.ops-admin .btn svg{width:15px;height:15px;flex-shrink:0}
body.ops-admin .btn:active{transform:translateY(1px)}
body.ops-admin .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
body.ops-admin .btn.primary{box-shadow:var(--ct-shadow-1)}
body.ops-admin .btn.primary:hover{box-shadow:0 4px 12px rgba(13,90,110,.2)}
body.ops-admin .btn.primary:active{box-shadow:none}
body.ops-admin .btn.secondary:hover{border-color:#9fcadd;background:#f4f9fb}
/* Status badges: consistent shape, readable size */
body.ops-admin .badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.01em}
body.ops-admin .asset-card .list-actions .badge.green::before,body.ops-admin .asset-card .list-actions .badge.red::before,body.ops-admin .asset-card .list-actions .badge.amber::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
/* Asset cards: soft elevation, tile-like equipment icon, living footer link */
body.ops-admin .asset-card{transition:border-color .18s var(--ct-ease),box-shadow .18s var(--ct-ease),transform .18s var(--ct-ease)}
body.ops-admin .asset-card:hover{border-color:#9fcadd;box-shadow:var(--ct-shadow-2);transform:translateY(-2px)}
body.ops-admin .asset-card .air-visual{border-radius:12px;box-shadow:inset 0 0 0 1px rgba(20,80,100,.08)}
body.ops-admin .asset-card .asset-title h3{font-size:15.5px;line-height:1.35;letter-spacing:.005em}
body.ops-admin .asset-card .asset-title p{margin:2px 0 0;color:#5b7482;font-size:12.5px;line-height:1.45}
body.ops-admin .asset-card footer{margin-top:12px;padding-top:10px;border-top:1px solid #ecf3f6}
body.ops-admin .asset-card footer>span{display:inline-flex;align-items:center;gap:5px;color:#5b7482;font-size:12px;line-height:1.5;min-width:0}
body.ops-admin .asset-card footer>span svg{width:14px;height:14px;flex-shrink:0;color:#7b95a1}
body.ops-admin .text-btn{transition:color .15s var(--ct-ease)}
body.ops-admin .text-btn:hover{color:#0e6d80}
body.ops-admin .text-btn svg{transition:transform .18s var(--ct-ease)}
body.ops-admin .asset-card:hover .text-btn svg,body.ops-admin .text-btn:hover svg{transform:translateX(3px)}
/* Clickable rows & cards: tinted hover, 1-2px lift, chevron slide */
body.ops-admin .ops-job-row,body.ops-admin .location-card,body.ops-admin .province-site-card,body.ops-admin .ops-event,body.ops-admin .ops-task-card{transition:background-color .16s var(--ct-ease),border-color .16s var(--ct-ease),box-shadow .18s var(--ct-ease),transform .18s var(--ct-ease)}
body.ops-admin .ops-job-row:hover,body.ops-admin .ops-event:hover{background:var(--ct-hover-tint)}
body.ops-admin .ops-job-row:hover{transform:translateY(-1px)}
body.ops-admin .location-card:hover,body.ops-admin .province-site-card:hover{transform:translateY(-2px);box-shadow:var(--ct-shadow-2)}
body.ops-admin .ops-job-row>svg:last-child,body.ops-admin .location-card .location-arrow svg,body.ops-admin .province-site-card .site-card-open svg{transition:transform .18s var(--ct-ease)}
body.ops-admin .ops-job-row:hover>svg:last-child,body.ops-admin .location-card:hover .location-arrow svg,body.ops-admin .province-site-card:hover .site-card-open svg{transform:translateX(3px)}
/* Modals: one premium dialog family — radius, motion, close affordance */
body.ops-admin #modal.open .modal{animation:ct-modal-in .18s var(--ct-ease)}
@keyframes ct-modal-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
body.ops-admin #modal .modal>header{padding:16px 18px 12px}
body.ops-admin #modal .modal>header h2{font-size:17px;line-height:1.4}
body.ops-admin #modal .modal .close{transition:background-color .15s var(--ct-ease),color .15s var(--ct-ease)}
body.ops-admin #modal .modal .close:hover{background:#eef4f7;color:#16333e}
@media(min-width:701px){body.ops-admin #modal .modal{border-radius:var(--ct-radius-l)}}

/* ============================================================
   CoolTrack UI 2.0 — System Redesign layer
   Token-driven visual redesign of the modern shells.
   Presentation only: same data, same actions, same behavior.
   ============================================================ */
body.ops-admin,body.staff{
  --ct-canvas:#eef4f6;--ct-surface:#ffffff;--ct-surface-2:#f2f7f9;--ct-field:#fbfdfe;--ct-hover:#f2f8fa;
  --ct-ink:#132f3d;--ct-muted:#5b7482;--ct-line:#dde8ec;--ct-line-soft:rgba(19,47,61,.07);
  --ct-accent:#0e7d96;--ct-accent-strong:#0b6a81;--ct-accent-soft:#e3f2f5;
  --ct-radius:16px;--ct-ease:cubic-bezier(.3,.7,.4,1);
  --ct-shadow-1:0 1px 2px rgba(16,54,71,.05),0 4px 14px rgba(16,54,71,.06);
  --ct-shadow-2:0 10px 26px rgba(10,60,80,.14);
}
html[data-cooltrack-theme="dark"] body.ops-admin,html[data-cooltrack-theme="dark"] body.staff{
  --ct-canvas:#0c1d28;--ct-surface:#14303f;--ct-surface-2:#1a3c4d;--ct-field:#122b38;--ct-hover:#1c4152;
  --ct-ink:#e7f3f5;--ct-muted:#9cb7c2;--ct-line:#28505f;--ct-line-soft:rgba(231,243,245,.08);
  --ct-accent:#3fb6cd;--ct-accent-strong:#57c4d8;--ct-accent-soft:rgba(63,182,205,.14);
  --ct-shadow-1:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);
  --ct-shadow-2:0 10px 26px rgba(0,0,0,.4);
  --ops-bg:#0c1d28;--ops-panel:#14303f;--ops-ink:#e7f3f5;--ops-muted:#9cb7c2;--ops-line:#28505f;--ops-soft:#1a3c4d;--ops-accent:#3fb6cd;--ops-shadow:0 8px 24px rgba(2,10,15,.4);
}
/* Canvas: soft branded gradient wash */
body.ops-admin,body.staff{background:radial-gradient(1100px 480px at 88% -8%,rgba(23,162,184,.10),transparent 60%),radial-gradient(900px 420px at -8% 108%,rgba(23,120,160,.07),transparent 55%),var(--ct-canvas)!important;background-attachment:fixed!important}
body.ops-admin ::-webkit-scrollbar,body.staff ::-webkit-scrollbar{width:10px;height:10px}
body.ops-admin ::-webkit-scrollbar-thumb,body.staff ::-webkit-scrollbar-thumb{background:#b9cdd6;border-radius:99px;border:2px solid transparent;background-clip:content-box}
html[data-cooltrack-theme="dark"] body.ops-admin ::-webkit-scrollbar-thumb,html[data-cooltrack-theme="dark"] body.staff ::-webkit-scrollbar-thumb{background:#2d5262;background-clip:content-box}
body.ops-admin ::selection,body.staff ::selection{background:rgba(42,165,189,.28)}
/* Sidebar: deep navy gradient, icon tiles, glowing active pill */
body.ops-admin .sidebar,body.staff .sidebar{background:radial-gradient(520px 240px at 0% 0%,rgba(32,162,184,.20),transparent 62%),linear-gradient(178deg,#0f2d46 0%,#0b2136 100%)}
body.ops-admin .brand-mark,body.staff .brand-mark{background:linear-gradient(135deg,#23b6cf,#0d7d95);box-shadow:0 6px 16px rgba(13,125,149,.45),inset 0 1px 0 rgba(255,255,255,.35)}
body.ops-admin .workspace,body.staff .workspace{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(6px)}
body.ops-admin .menu-label,body.staff .menu-label{letter-spacing:.14em}
body.ops-admin .menu button,body.staff .menu button{border-radius:11px;gap:10px;transition:background-color .16s var(--ct-ease),color .16s var(--ct-ease)}
body.ops-admin .menu button i,body.staff .menu button i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.07);transition:background-color .16s var(--ct-ease)}
body.ops-admin .menu button:hover,body.staff .menu button:hover{background:rgba(255,255,255,.06)}
body.ops-admin .menu button:hover i,body.staff .menu button:hover i{background:rgba(255,255,255,.14)}
body.ops-admin .menu button.active{background:linear-gradient(135deg,rgba(32,178,205,.30),rgba(32,178,205,.12));box-shadow:inset 0 0 0 1px rgba(94,200,220,.35);color:#fff}
body.ops-admin .menu button.active i{background:linear-gradient(135deg,#1fa2bd,#0d7d95);color:#fff;box-shadow:0 4px 10px rgba(13,110,135,.4)}
/* Topbar: frosted glass */
@media(min-width:701px){
  body.ops-admin #topbar.topbar,body.staff #topbar.topbar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--ct-surface) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ct-line)}
}
body.ops-admin .topbar .search,body.staff .topbar .search{border-radius:999px;background:var(--ct-surface-2);border:1px solid transparent;transition:border-color .16s var(--ct-ease),background .16s var(--ct-ease),box-shadow .16s var(--ct-ease)}
body.ops-admin .topbar .search:focus-within,body.staff .topbar .search:focus-within{background:var(--ct-surface);border-color:var(--ct-accent);box-shadow:0 0 0 3px rgba(24,123,149,.16)}
/* Page header system */
body.ops-admin .page-head .eyebrow,body.staff .page-head .eyebrow{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;background:var(--ct-accent-soft);color:var(--ct-accent);font-size:10.5px;font-weight:700;letter-spacing:.14em}
body.ops-admin .page-head .eyebrow::before,body.staff .page-head .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
body.ops-admin .page-head h1,body.staff .page-head h1{font-size:27px;font-weight:800;letter-spacing:-.02em;line-height:1.22;margin:10px 0 0}
body.ops-admin .page-head .sub,body.staff .page-head .sub{color:var(--ct-muted);font-size:13px;line-height:1.6;margin:6px 0 0}
/* Surfaces: layered panel system */
body.ops-admin .panel,body.staff .panel{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:18px;box-shadow:var(--ct-shadow-1)}
body.ops-admin .panel>header,body.staff .panel>header{padding:18px 20px 12px;border-bottom:1px solid var(--ct-line-soft)}
body.ops-admin .panel>header h2,body.staff .panel>header h2{font-size:15.5px;font-weight:700;line-height:1.4}
body.ops-admin .panel>header p,body.staff .panel>header p{color:var(--ct-muted);font-size:12.5px;line-height:1.55;margin:3px 0 0}
/* KPI tiles: depth, stronger numbers, layered icon tile */
body.ops-admin .ops-metric{border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(10,60,80,.18),inset 0 1px 0 rgba(255,255,255,.25)!important;transition:transform .18s var(--ct-ease),box-shadow .18s var(--ct-ease)!important}
body.ops-admin .ops-metric:hover{transform:translateY(-3px)!important;box-shadow:0 16px 32px rgba(10,60,80,.26),inset 0 1px 0 rgba(255,255,255,.25)!important}
body.ops-admin .ops-metric strong{font-size:31px!important;font-weight:800!important;letter-spacing:-.03em}
body.ops-admin .ops-metric .ops-metric-icon{width:44px!important;height:44px!important;border-radius:13px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 4px 10px rgba(0,0,0,.12)!important}
body.ops-admin .ops-metric .ops-metric-label{font-size:10.5px!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase;opacity:.85!important}
body.ops-admin .ops-metric .ops-metric-watermark{opacity:.12!important}
@media(max-width:700px){body.ops-admin .ops-metric strong{font-size:25px!important}}
/* Asset cards: premium identity component */
body.ops-admin .asset-card{padding:16px;display:grid;gap:12px;border-radius:16px}
body.ops-admin .asset-card-head{display:flex;align-items:center;gap:12px}
body.ops-admin .asset-card .air-visual{width:46px;height:46px;font-size:20px;display:grid;place-items:center;border-radius:14px;flex-shrink:0}
body.ops-admin .asset-card-id{min-width:0;flex:1}
body.ops-admin .asset-card-id h3{margin:0;font-size:15.5px;font-weight:700;line-height:1.3;letter-spacing:.005em}
body.ops-admin .asset-card-id p{margin:2px 0 0;color:var(--ct-muted);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
body.ops-admin .asset-card-loc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--ct-muted);font-size:12px;line-height:1.5}
body.ops-admin .asset-card-loc>svg{width:14px;height:14px;flex-shrink:0;color:#7b95a1}
body.ops-admin .asset-card-loc .badge.soft{margin-left:auto}
body.ops-admin .asset-card-data{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;border-radius:12px;background:var(--ct-surface-2)}
body.ops-admin .asset-card-data .detail{display:grid;gap:2px;min-width:0}
body.ops-admin .asset-card-data small{color:var(--ct-muted);font-size:11px;line-height:1.4}
body.ops-admin .asset-card-data b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
body.ops-admin .asset-card footer{display:flex;justify-content:flex-end;margin:0;padding:10px 0 0;border-top:1px solid var(--ct-line-soft)}
/* Tables: modern registries */
body.ops-admin .table-wrap,body.staff .table-wrap{border:1px solid var(--ct-line);border-radius:14px;background:var(--ct-surface)}
body.ops-admin .table-wrap table,body.staff .table-wrap table{border-collapse:separate;border-spacing:0}
body.ops-admin .table-wrap th,body.staff .table-wrap th{background:var(--ct-surface-2);color:var(--ct-muted);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:11px 14px;border-bottom:1px solid var(--ct-line);text-align:left}
body.ops-admin .table-wrap td,body.staff .table-wrap td{padding:12px 14px;border-bottom:1px solid var(--ct-line-soft);font-size:13px;line-height:1.5;vertical-align:middle}
body.ops-admin .table-wrap tbody tr,body.staff .table-wrap tbody tr{transition:background-color .15s var(--ct-ease)}
body.ops-admin .table-wrap tbody tr:hover td,body.staff .table-wrap tbody tr:hover td{background:var(--ct-hover)}
body.ops-admin .table-wrap tbody tr:last-child td,body.staff .table-wrap tbody tr:last-child td{border-bottom:0}
/* Forms: modern app controls */
body.ops-admin .form label,body.staff .form label{font-size:12.5px;font-weight:600;color:var(--ct-ink)}
body.ops-admin .form input,body.ops-admin .form select,body.ops-admin .form textarea,body.staff .form input,body.staff .form select,body.staff .form textarea{min-height:42px;border:1px solid var(--ct-line);border-radius:10px;background:var(--ct-field);color:var(--ct-ink);font:inherit;font-size:13.5px;line-height:1.5;padding:9px 12px;transition:border-color .15s var(--ct-ease),box-shadow .15s var(--ct-ease),background-color .15s var(--ct-ease)}
body.ops-admin .form input:focus,body.ops-admin .form select:focus,body.ops-admin .form textarea:focus,body.staff .form input:focus,body.staff .form select:focus,body.staff .form textarea:focus{outline:0;border-color:var(--ct-accent);background:var(--ct-surface);box-shadow:0 0 0 3px rgba(24,123,149,.16)}
body.ops-admin .form input::placeholder,body.ops-admin .form textarea::placeholder,body.staff .form input::placeholder,body.staff .form textarea::placeholder{color:#93a9b3}
body.ops-admin .form input[readonly],body.staff .form input[readonly]{background:var(--ct-surface-2);border-style:dashed;color:var(--ct-muted);cursor:default;box-shadow:none}
body.ops-admin select,body.staff select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2358717f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
body.ops-admin input[type="checkbox"],body.ops-admin input[type="radio"],body.staff input[type="checkbox"],body.staff input[type="radio"]{accent-color:var(--ct-accent)}
/* Switch: teal skin for the photo-requirement toggle */
body.ops-admin .checklist-photo-switch .switch-track{background:#c3d3da;box-shadow:inset 0 0 0 1px rgba(19,47,61,.12)}
body.ops-admin .checklist-photo-switch input:checked+.switch-track{background:linear-gradient(135deg,#1ea6c2,#0b7c96);box-shadow:inset 0 0 0 1px rgba(11,124,150,.4)}
/* Segmented controls */
body.ops-admin .ops-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--ct-line);border-radius:12px;background:var(--ct-surface-2)}
body.ops-admin .ops-tabs button{border:0;border-radius:9px;background:transparent;color:var(--ct-muted);font-weight:600;transition:background-color .15s var(--ct-ease),color .15s var(--ct-ease),box-shadow .15s var(--ct-ease)}
body.ops-admin .ops-tabs button.active{background:var(--ct-surface);color:var(--ct-accent);box-shadow:0 1px 4px rgba(16,54,71,.14)}
/* Empty states: intentional, branded */
body.ops-admin .empty,body.staff .empty{display:grid;place-items:center;gap:4px;min-height:120px;padding:28px 18px;border:1.5px dashed var(--ct-line);border-radius:14px;background:var(--ct-surface-2);color:var(--ct-muted);text-align:center;font-size:13px;line-height:1.6}
body.ops-admin .empty::before,body.staff .empty::before{content:'';width:34px;height:34px;margin-bottom:4px;background:center/contain no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e7d96' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='.55'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M20.7 7 3.3 17'/%3E%3Cpath d='M12 2l-2.2 2.6M12 2l2.2 2.6M12 22l-2.2-2.6M12 22l2.2-2.6M3.3 7l3.3.7M3.3 7l.7-3.3M20.7 17l-3.3-.7M20.7 17l-.7 3.3M20.7 7l-3.3.7M20.7 7l-.7-3.3M3.3 17l3.3-.7M3.3 17l.7 3.3'/%3E%3C/svg%3E")}
/* Buttons: application-grade primaries */
body.ops-admin .btn.primary,body.staff .btn.primary{background:linear-gradient(135deg,#1ea6c2,#0b7c96);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(12,110,135,.28),inset 0 1px 0 rgba(255,255,255,.25)}
body.ops-admin .btn.primary:hover,body.staff .btn.primary:hover{background:linear-gradient(135deg,#23b1cf,#0d86a3);box-shadow:0 6px 16px rgba(12,110,135,.36),inset 0 1px 0 rgba(255,255,255,.25)}
body.ops-admin .btn.secondary,body.staff .btn.secondary{background:var(--ct-surface);border-color:var(--ct-line);color:var(--ct-ink)}
body.ops-admin .btn.secondary:hover,body.staff .btn.secondary:hover{border-color:#9fcadd;background:var(--ct-hover)}
body.ops-admin .btn.danger-btn,body.staff .btn.danger-btn{background:#fff5f5;border-color:#efc4c9;color:#a32837}
/* Dark-mode badge remap */
html[data-cooltrack-theme="dark"] body.ops-admin .badge.green,html[data-cooltrack-theme="dark"] body.staff .badge.green{background:rgba(34,197,140,.16);color:#5ce0ab}
html[data-cooltrack-theme="dark"] body.ops-admin .badge.blue,html[data-cooltrack-theme="dark"] body.staff .badge.blue{background:rgba(80,150,230,.16);color:#7db8f2}
html[data-cooltrack-theme="dark"] body.ops-admin .badge.amber,html[data-cooltrack-theme="dark"] body.staff .badge.amber{background:rgba(217,132,19,.18);color:#eab069}
html[data-cooltrack-theme="dark"] body.ops-admin .badge.red,html[data-cooltrack-theme="dark"] body.staff .badge.red{background:rgba(219,77,89,.16);color:#ef8a93}
html[data-cooltrack-theme="dark"] body.ops-admin .badge.soft,html[data-cooltrack-theme="dark"] body.staff .badge.soft{background:#1a3c4d;color:#9cb7c2}
/* Focus ring consistency */
body.ops-admin :focus-visible,body.staff :focus-visible{outline:3px solid rgba(42,165,189,.45);outline-offset:2px}
/* Mobile rhythm */
@media(max-width:700px){
  body.ops-admin .page-head h1,body.staff .page-head h1{font-size:22px}
  body.ops-admin .panel,body.staff .panel{border-radius:16px}
}

/* ============================================================
   CoolTrack UI v3 — rebuilt presentation components
   Sidebar / topbar / registry rows / job cards / checklist cards
   ============================================================ */
/* Sidebar v3: switcher card, nav labels, version chip */
body.ops-admin .sidebar .workspace,body.staff .sidebar .workspace{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:13px}
body.ops-admin .sidebar .ws-icon,body.staff .sidebar .ws-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,rgba(35,182,207,.9),rgba(13,125,149,.9));color:#fff;box-shadow:0 4px 10px rgba(13,110,135,.35),inset 0 1px 0 rgba(255,255,255,.3)}
body.ops-admin .sidebar .ws-icon svg,body.staff .sidebar .ws-icon svg{width:16px;height:16px}
body.ops-admin .sidebar .ws-copy,body.staff .sidebar .ws-copy{flex:1;min-width:0}
body.ops-admin .sidebar .ws-copy small,body.staff .sidebar .ws-copy small{display:block;font-size:8.5px;letter-spacing:.12em;color:#8ea8c0}
body.ops-admin .sidebar .ws-copy b,body.staff .sidebar .ws-copy b{display:block;font-size:12px;color:#fff;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ops-admin .sidebar .ws-caret,body.staff .sidebar .ws-caret{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.08);color:#a9c2d4;font-style:normal}
body.ops-admin .sidebar .ws-caret svg,body.staff .sidebar .ws-caret svg{width:13px;height:13px}
body.ops-admin .sidebar .menu button .nav-label,body.staff .sidebar .menu button .nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
body.ops-admin .sidebar .menu-label,body.staff .sidebar .menu-label{display:flex;align-items:center;gap:8px}
body.ops-admin .sidebar .menu-label::after,body.staff .sidebar .menu-label::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
body.ops-admin .sidebar .ver-chip,body.staff .sidebar .ver-chip{display:inline-flex;align-self:flex-start;margin-top:8px;padding:2px 9px;border-radius:999px;background:rgba(35,182,207,.16);box-shadow:inset 0 0 0 1px rgba(94,200,220,.35);color:#7fd4e4;font-size:9.5px;font-weight:700;letter-spacing:.12em}
/* Topbar v3: account block */
body.ops-admin .topbar .account,body.staff .topbar .account{gap:11px}
body.ops-admin .topbar .account .account-copy,body.staff .topbar .account .account-copy{display:grid;line-height:1.3}
body.ops-admin .topbar .account .account-copy b,body.staff .topbar .account .account-copy b{font-size:12.5px;color:var(--ct-ink)}
body.ops-admin .topbar .account .account-copy small,body.staff .topbar .account .account-copy small{font-size:10.5px;color:var(--ct-muted)}
body.ops-admin .topbar .account .avatar,body.staff .topbar .account .avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#1ea6c2,#0b7c96);color:#fff;font-size:12px;font-weight:700;box-shadow:0 3px 8px rgba(12,110,135,.3),inset 0 1px 0 rgba(255,255,255,.3)}
body.ops-admin .topbar .account .avatar.staff,body.staff .topbar .account .avatar.staff{background:linear-gradient(135deg,#43bf9c,#18846d);box-shadow:0 3px 8px rgba(24,132,109,.3),inset 0 1px 0 rgba(255,255,255,.3)}
body.ops-admin .topbar .bell,body.staff .topbar .bell{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--ct-surface-2);border:1px solid var(--ct-line);color:var(--ct-muted);transition:color .15s var(--ct-ease),border-color .15s var(--ct-ease)}
body.ops-admin .topbar .bell:hover,body.staff .topbar .bell:hover{color:var(--ct-accent);border-color:#9fcadd}
body.ops-admin .topbar .search kbd,body.staff .topbar .search kbd{border:1px solid var(--ct-line);border-radius:7px;background:var(--ct-surface);color:var(--ct-muted);font-size:10px;padding:2px 7px}
@media(max-width:860px){body.ops-admin .topbar .search kbd,body.staff .topbar .search kbd{display:none}}
/* Ops page header eyebrow */
body.ops-admin .ops-eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:4px 11px;border-radius:999px;background:var(--ct-accent-soft);color:var(--ct-accent);font-size:10.5px;font-weight:700;letter-spacing:.14em}
body.ops-admin .ops-eyebrow i{width:6px;height:6px;border-radius:50%;background:currentColor}
body.ops-admin .ops-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
/* Registry table rows */
body.ops-admin .ct-reg-row td{vertical-align:middle}
body.ops-admin .ct-cell-id{display:flex;align-items:center;gap:10px;min-width:0}
body.ops-admin .ct-type{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:24px;padding:2px 8px;border-radius:8px;background:#eef5f8;color:#2b5a6b;font-size:10.5px;font-weight:700;letter-spacing:.05em;line-height:1.3;flex-shrink:0}
body.ops-admin .ct-id-copy{display:grid;gap:1px;min-width:0}
body.ops-admin .ct-id-copy b{font-size:13px;color:var(--ct-ink)}
body.ops-admin .ct-id-copy small{color:var(--ct-muted);font-size:11px}
body.ops-admin .ct-cell-desc{display:grid;gap:1px;min-width:0}
body.ops-admin .ct-cell-desc b{font-size:13px;color:var(--ct-ink)}
body.ops-admin .ct-cell-desc small{color:var(--ct-muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}
body.ops-admin .ct-cell-action{text-align:right}
body.ops-admin .ct-reg-row:hover .ct-type{background:#e0f1f6;color:#0e6d80}
/* Work Order cards: semantic type + schedule block */
body.ops-admin .ops-job-type{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:58px;min-height:30px;padding:3px 10px;border-radius:9px;font-size:11px;font-weight:700;letter-spacing:.04em;background:#eef5f8;color:#2b5a6b}
body.ops-admin .ops-job-type.type-ma{background:#e3f2f5;color:#0e6d80}
body.ops-admin .ops-job-type.type-repair{background:#fdf1e3;color:#a86112}
body.ops-admin .ops-job-type.type-inspection{background:#efebfa;color:#6a53b8}
body.ops-admin .ops-job-when{display:grid;gap:1px;justify-items:end;text-align:right;min-width:86px}
body.ops-admin .ops-job-when small{color:var(--ct-muted);font-size:10.5px;letter-spacing:.04em}
body.ops-admin .ops-job-when b{font-size:12.5px;color:var(--ct-ink);line-height:1.35}
/* Checklist cards: builder-style configuration cards */
body.ops-admin .checklist-template-card{gap:12px}
body.ops-admin .checklist-card-head{display:flex;align-items:center;gap:12px}
body.ops-admin .checklist-card-head .ct-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:13px;background:linear-gradient(135deg,#e3f2f5,#d3ebf1);color:#0e6d80;box-shadow:inset 0 0 0 1px rgba(14,125,150,.14)}
body.ops-admin .checklist-card-head .ct-icon svg{width:19px;height:19px}
body.ops-admin .checklist-card-head div{min-width:0;flex:1}
body.ops-admin .checklist-card-head h3{margin:0;font-size:15px;font-weight:700;line-height:1.35;color:var(--ct-ink);overflow-wrap:anywhere}
body.ops-admin .checklist-card-head p{margin:2px 0 0;color:var(--ct-muted);font-size:12px;line-height:1.45}
body.ops-admin .checklist-usedby{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
body.ops-admin .checklist-usedby .usedby-none{font-size:11.5px;color:var(--ct-muted);font-style:italic}
body.ops-admin .checklist-items-v3{display:grid;gap:6px;padding:11px 12px;border-radius:12px;background:var(--ct-surface-2)}
body.ops-admin .ct-item{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;color:var(--ct-ink)}
body.ops-admin .ct-item .ct-dot{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;margin-top:1px;border-radius:6px;background:#fff;color:transparent;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px var(--ct-line)}
body.ops-admin .ct-item.req .ct-dot{background:linear-gradient(135deg,#1ea6c2,#0b7c96);color:#fff;box-shadow:none}
body.ops-admin .ct-item em{margin-left:auto;flex-shrink:0;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;color:#a86112;background:#fdf1e3;border-radius:6px;padding:1px 7px}
body.ops-admin .checklist-template-card footer{display:flex;justify-content:flex-end;margin:0;padding:10px 0 0;border-top:1px solid var(--ct-line-soft)}
body.ops-admin .checklist-template-card footer .btn{min-height:36px;padding:0 13px;font-size:12px;border-radius:9px;display:inline-flex;align-items:center;gap:6px}
body.ops-admin .checklist-template-card footer .btn svg{width:14px;height:14px}
@media(max-width:640px){
  body.ops-admin .ops-job-owner{display:none}
  body.ops-admin .ct-cell-desc small{max-width:none;white-space:normal}
  body.ops-admin .ct-cell-action .text-btn svg{display:none}
}
/* CoolTrack equipment objects — scoped to the asset registry only. */
body.ops-admin .ct-assets-page{--ct-object-ink:#173345;--ct-object-muted:#617986}
body.ops-admin .ct-assets-page .ct-fleet-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:12px 0 28px;gap:0;background:linear-gradient(110deg,#123648,#1b5260);border-radius:18px;padding:23px 12px;color:#fff}
.ct-fleet-stat{padding:0 24px;border-right:1px solid #ffffff25}.ct-fleet-stat:last-child{border:0}.ct-fleet-stat>span{font-size:13px;color:#c8dde3}.ct-fleet-stat strong{display:block;font-size:32px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums}.ct-fleet-stat strong small{margin-left:9px;font-size:12px;font-weight:400;color:#c8dde3}.ct-fleet-stat-2 strong{color:#ffe0a4}.ct-fleet-stat-3 strong{color:#ffbdb5}
body.ops-admin .ct-assets-page .ct-equipment-search{display:flex;align-items:center;gap:12px;background:var(--ops-panel,#fff);border-radius:14px;padding:8px 18px;box-shadow:0 3px 14px #17334509;border:1px solid var(--ops-line,#dce7eb)}
.ct-equipment-search>span:first-child{color:#168b91;display:flex}.ct-equipment-search svg{width:23px;height:23px}
body.ops-admin .ct-assets-page .ct-equipment-search input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;margin:0;padding:8px 0}.ct-search-hint{font-size:12px;color:#69808b;white-space:nowrap}
body.ops-admin .ct-assets-page .ops-asset-result-bar{margin:18px 0;align-items:center}
body.ops-admin .ct-assets-page .ct-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.ops-admin .ct-assets-page .ct-equipment{--service:#147f76;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:0!important;border:0!important;border-radius:18px!important;background:var(--ops-panel,#fff)!important;box-shadow:0 5px 20px #163b5010!important;min-width:0}
body.ops-admin .ct-assets-page .ct-equipment-upcoming{--service:#9b650e}body.ops-admin .ct-assets-page .ct-equipment-overdue{--service:#bc4052}body.ops-admin .ct-assets-page .ct-equipment-unscheduled{--service:#657d8b}
.ct-equipment-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px 0}.ct-equipment-mark{font-size:9px;letter-spacing:.16em;color:#78909b;font-weight:700}.ct-health{font-size:11px;color:#147f76;display:flex;align-items:center;gap:5px}.ct-health.red{color:#b73f50}.ct-health.amber{color:#9b650e}.ct-health i{width:6px;height:6px;background:currentColor;border-radius:50%}
.ct-equipment-object{display:flex;align-items:center;gap:16px;padding:24px 20px}.ct-equipment-object>div{min-width:0}.ct-equipment-object small{font-size:9px;letter-spacing:.12em;color:#75909c}.ct-equipment-object h3{margin:3px 0!important;font-size:22px!important;letter-spacing:-.03em;overflow-wrap:anywhere;color:var(--ops-ink,#173345)}.ct-equipment-object p{margin:0;font-size:12px;line-height:1.6;color:var(--ops-muted,#617986);overflow-wrap:anywhere}
.ct-unit{position:relative;width:78px;height:78px;flex:none;border-radius:22px;background:linear-gradient(145deg,#e7f4f2,#d5e6ec);box-shadow:inset 0 2px 1px #fff,0 5px 9px #123b4d10;display:grid;place-items:center;color:#236773}.ct-unit svg{width:52px;height:52px}.ct-unit i{position:absolute;bottom:11px;right:13px;width:5px;height:5px;border-radius:50%;background:#22b596;box-shadow:0 0 0 3px #22b59619}
.ct-equipment-location{display:flex;gap:10px;margin:0 20px 19px;min-height:49px}.ct-equipment-location>svg{width:17px;height:17px;flex:none;color:#74929e;margin-top:2px}.ct-equipment-location strong{font-size:12px;color:var(--ops-ink,#173345)}.ct-equipment-location p{font-size:12px;color:var(--ops-muted,#617986);margin:3px 0 0;line-height:1.6;overflow-wrap:anywhere}
.ct-equipment-service{display:grid;grid-template-columns:1fr 1fr;margin-top:auto;padding:17px 20px;background:var(--ops-soft,#f0f6f7);gap:18px;position:relative}.ct-equipment-service:before{content:'';position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 4px 4px 0;background:var(--service)}.ct-equipment-service>div{min-width:0}.ct-equipment-service small{display:block;font-size:10px;color:var(--ops-muted,#617986)}.ct-equipment-service strong{display:block;font-size:14px;margin:4px 0;color:var(--ops-ink,#173345);overflow-wrap:anywhere}.ct-ma-state{font-size:11px;color:var(--service)}.ct-equipment-serial strong{font-family:monospace;font-size:12px;padding-top:3px}
body.ops-admin .ct-assets-page .ct-equipment footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 20px;margin:0;border:0}.ct-equipment footer>span{font-size:10px;color:#78909b}.ct-equipment footer button{display:flex;align-items:center;gap:9px;padding:8px 0;border:0;background:transparent;color:#147c80;font:600 12px Sarabun,sans-serif;cursor:pointer}.ct-equipment footer button svg{width:17px;height:17px}
body.ops-admin .ct-assets-page #asset-pager{padding:24px 0;justify-content:center}.ct-assets-page .pager-number.active{background:#175868!important;color:#fff!important;border-radius:10px}.ct-equipment-search:focus-within{outline:2px solid #249b9b;outline-offset:2px}
@media(min-width:1700px){body.ops-admin .ct-assets-page .ct-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){body.ops-admin .ct-assets-page .ct-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-search-hint{display:none}.ct-fleet-stat{padding:0 15px}}
@media(max-width:650px){body.ops-admin .ct-assets-page .ct-equipment-grid{grid-template-columns:1fr}.ct-assets-page .ct-fleet-summary{grid-template-columns:repeat(2,1fr)!important;row-gap:18px!important}.ct-fleet-stat:nth-child(2){border:0}.ct-fleet-stat strong{font-size:26px}.ct-equipment-object{padding-top:20px}.ct-assets-page .ops-asset-result-bar{flex-direction:column;align-items:flex-start!important}}

/* Asset-only surface depth; retain the approved composition and breakpoints. */
body.ops-admin .ct-assets-page{background:#edf3f5}
body.ops-admin .ct-assets-page .ct-equipment{
  border:1px solid #bdd2d8!important;
  background:linear-gradient(155deg,#fff 55%,#f6fbfb 100%)!important;
  box-shadow:inset 0 1px 0 #fff,0 2px 4px #163b5010,0 8px 20px #163b501a!important;
}
body.ops-admin .ct-assets-page .ct-equipment-service{
  background:linear-gradient(110deg,#e0f0f0,#e8f2f5);
  box-shadow:inset 0 1px 0 #c9e0e3,inset 0 -1px 0 #d1e4e7;
}
body.ops-admin .ct-assets-page .ct-unit{
  color:#145e6c;
  background:linear-gradient(145deg,#d8efed,#bcdce2);
  box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px #99c5cd,0 3px 5px #194e6010,0 7px 12px #194e6014;
}
body.ops-admin .ct-assets-page .ct-health{
  padding:4px 8px;
  border-radius:999px;
  color:#126c57;
  background:#e3f3eb;
  box-shadow:inset 0 0 0 1px #b9dccd;
  font-weight:600;
  line-height:1.4;
}
body.ops-admin .ct-assets-page .ct-health.red{color:#a53447;background:#fbe9ed;box-shadow:inset 0 0 0 1px #ecc4ce}
body.ops-admin .ct-assets-page .ct-health.amber{color:#88590d;background:#fbf1dc;box-shadow:inset 0 0 0 1px #e7d4aa}
body.ops-admin .ct-assets-page .ct-health i{flex-shrink:0}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page{background:#102530}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-equipment{
  border-color:#426574!important;
  background:linear-gradient(155deg,#1c3948,#193341)!important;
  box-shadow:inset 0 1px 0 #ffffff0a,0 2px 4px #0002,0 8px 20px #0003!important;
}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-equipment-service{background:linear-gradient(110deg,#254b56,#244450);box-shadow:inset 0 1px 0 #365f69,inset 0 -1px 0 #365761}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-unit{color:#b9efec;background:linear-gradient(145deg,#32616a,#274c59);box-shadow:inset 0 1px 0 #ffffff1a,inset 0 0 0 1px #4c7c85,0 5px 12px #0002}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-health{color:#a0e3c7;background:#234e43;box-shadow:inset 0 0 0 1px #3d7562}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-health.red{color:#ffc0cc;background:#583441;box-shadow:inset 0 0 0 1px #885361}
html[data-cooltrack-theme="dark"] body.ops-admin .ct-assets-page .ct-health.amber{color:#f2d395;background:#51462d;box-shadow:inset 0 0 0 1px #7e6b41}
