:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f8;--surface:#fff;--surface-soft:#f6f9fc;--surface-muted:#eaf0f7;--line:#d8e2ee;--line-strong:#aebed0;--text:#111827;--muted:#63758d;--muted-2:#8b9aae;--brand:#1976d2;--brand-dark:#0f5fab;--brand-soft:#1976d21a;--green:#12a150;--red:#dc2626;--orange:#f59e0b;--teal:#0891b2;--purple:#7c3aed;--topbar-bg:#ffffffeb;--nav-bg:#102033;--nav-border:#24364b;--nav-link-bg:#ffffff14;--nav-link-text:#eaf2fb;--nav-link-hover:#fff;--input-bg:#fff;--danger-soft:#fff2f2;--warning-soft:#fff8eb;--success-soft:#effaf3;--shadow:0 16px 38px #0f233c1a;--shadow-soft:0 8px 20px #0f233c12;--button-shadow:0 10px 18px #1976d22e;--focus-ring:#1976d22e}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--surface:#121c2b;--surface-soft:#182437;--surface-muted:#223149;--line:#28364a;--line-strong:#3b4c64;--text:#edf4fb;--muted:#a7b4c6;--muted-2:#7f8da1;--brand:#4da3ff;--brand-dark:#84c1ff;--brand-soft:#4da3ff29;--green:#22c55e;--red:#f87171;--orange:#fbbf24;--teal:#22d3ee;--purple:#a78bfa;--topbar-bg:#0d1624f0;--nav-bg:#111c2d;--nav-border:#26364b;--nav-link-bg:#ffffff0f;--nav-link-text:#dbe9f7;--nav-link-hover:#182942;--input-bg:#101a29;--danger-soft:#f8717124;--warning-soft:#fbbf2421;--success-soft:#22c55e21;--shadow:0 18px 40px #00000057;--shadow-soft:0 10px 24px #0000003d;--button-shadow:0 12px 22px #4da3ff2e;--focus-ring:#4da3ff3d}:root[data-theme=dark] .static-map-fallback{color:#edf4fb2e;background:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(0deg,#ffffff0d 1px,#0000 1px),linear-gradient(135deg,#13243a,#17263a 42%,#15352f)}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}html{background:var(--bg);min-width:320px}body{color:var(--text);background:radial-gradient(circle at top left, #1976d21f, transparent 32rem), radial-gradient(circle at top right, #0891b21a, transparent 30rem), var(--bg);letter-spacing:0;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--line);background:var(--input-bg);width:100%;min-height:40px;color:var(--text);border-radius:8px;outline:none;padding:9px 11px}textarea{resize:vertical;min-height:92px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.app-shell{min-height:100vh;padding-top:124px}.topbar{z-index:10000;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);box-shadow:var(--shadow-soft);gap:5px;padding:10px 18px 12px;display:grid;position:fixed;top:0;left:0;right:0}.topbar-main{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.agency-logo{object-fit:contain;flex:none;height:auto;display:block}.agency-logo-header{width:120px;max-width:min(42vw,156px)}.agency-logo-login{width:min(250px,100%);margin-bottom:22px}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{color:var(--muted);font-size:12px}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--brand), var(--teal));width:38px;height:38px;box-shadow:var(--button-shadow);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.brand-mark.large{width:52px;height:52px}.main-menu{scrollbar-width:thin;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;min-width:0;padding:5px;display:flex;overflow:auto hidden}.mobile-menu{display:none;position:relative}.mobile-menu-button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 11px;font-weight:850;list-style:none;display:inline-flex}.mobile-menu-button::-webkit-details-marker{display:none}.mobile-menu[open] .mobile-menu-button{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.mobile-menu-panel{gap:8px;display:grid}.menu-link,.profile-button,.ghost-button,.primary-button,.icon-button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:20px;display:inline-flex}.menu-link{width:auto;min-width:0;color:var(--nav-link-text);background:#2c4a73;border-color:#ffffff1f;flex:none;padding:5px 8px;font-weight:500;transition:transform .14s,border-color .14s,background-color .14s,color .14s,box-shadow .14s}.main-menu .menu-link{justify-content:flex-start}.main-menu .menu-link svg{flex:none}.main-menu .menu-link span{text-overflow:ellipsis;min-width:0;overflow:hidden}.menu-link:hover{color:var(--text);background:var(--nav-link-hover);border-color:#4da3ff80;transform:translateY(-1px);box-shadow:0 8px 18px #0000001f}.account-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.account-actions>*{flex:none}.theme-toggle{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);white-space:nowrap;box-shadow:var(--shadow-soft);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:850;transition:transform .14s,border-color .14s,background-color .14s,color .14s,box-shadow .14s;display:inline-flex}.theme-toggle:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);box-shadow:var(--button-shadow);transform:translateY(-1px)}.notification-bell{display:inline-flex;position:relative}.notification-bell-button{border:1px solid var(--line);background:var(--surface);width:42px;min-height:40px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);border-radius:8px;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s;display:inline-flex;position:relative}.notification-bell-button:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);transform:translateY(-1px)}.notification-bell-button.alert{background:var(--danger-soft);color:var(--red);border-color:#dc26267a;animation:.9s infinite notification-bell-ring}.notification-count{background:var(--red);color:#fff;text-align:center;border:2px solid #fff;border-radius:999px;min-width:18px;height:18px;font-size:10px;font-weight:900;line-height:14px;position:absolute;top:-5px;right:-5px}.notification-popover{z-index:10020;background:var(--surface);width:min(320px,100vw - 28px);box-shadow:var(--shadow);border:1px solid #dc262633;border-radius:8px;padding:10px;position:absolute;top:calc(100% + 9px);right:0}.notification-popover header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.notification-list{gap:8px;margin-top:9px;display:grid}.notification-section{gap:6px;display:grid}.notification-section+.notification-section{border-top:1px solid var(--line);margin-top:2px;padding-top:10px}.notification-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:11px;font-weight:700}.notification-item{border:1px solid var(--line);background:var(--danger-soft);color:var(--red);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.notification-item.form-one-notification-item{text-align:left;width:100%}.notification-item.form-one-notification-item:hover{background:var(--warning-soft);border-color:#f59e0b73}.notification-item strong,.notification-item small{overflow-wrap:anywhere;min-width:0;display:block}.notification-item strong{color:var(--text);font-size:13px}.notification-item small{color:var(--red);margin-top:2px;font-size:12px;font-weight:850}.notification-item.seen{opacity:.45;border-color:var(--line);background:0 0}.notification-item.seen:hover{opacity:.7;border-color:var(--line);background:0 0}.notification-header-actions{align-items:center;gap:4px;display:flex}.notification-clear-button{color:var(--muted);background:0 0;border-color:#0000;gap:5px;padding:2px 7px;font-size:11px}.notification-clear-button:hover{color:var(--text);background:var(--line)}.profile-button{border-color:var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);padding:5px 8px;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s}.profile-copy{text-align:left;min-width:0;display:block}.profile-copy strong,.profile-copy small{text-overflow:ellipsis;max-width:150px;display:block;overflow:hidden}.profile-copy small{color:var(--muted);font-size:12px}.avatar{color:#fff;text-align:center;border:2px solid #fff;border-radius:50%;flex:none;place-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:inline-flex}.avatar.small{border-width:1px;width:25px;height:25px;font-size:10px}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-7px}.icon-button{background:var(--surface);border-color:var(--line);width:42px;box-shadow:var(--shadow-soft);padding:0;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s;position:relative}.icon-button svg+svg{position:absolute;bottom:6px;right:6px}.icon-button.danger{color:var(--red)}.icon-button.success{color:var(--green)}.icon-button.warning{color:var(--orange)}.icon-button:hover,.profile-button:hover{border-color:var(--line-strong);background:var(--surface-soft);box-shadow:var(--shadow);transform:translateY(-1px)}@keyframes notification-bell-ring{0%,to{transform:rotate(0);box-shadow:0 0 #dc262600}20%{transform:rotate(-9deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-6deg);box-shadow:0 0 0 5px #dc26261f}80%{transform:rotate(5deg)}}.app-main{margin-top:50px;padding:22px}.page-loading{justify-content:center;align-items:center;min-height:40vh;display:flex}.page-loading-spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite page-spin;display:block}@keyframes page-spin{to{transform:rotate(360deg)}}.login-page{background:linear-gradient(90deg, var(--brand-soft), #0891b214), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--surface);width:min(920px,100%);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(280px,1fr) minmax(320px,420px);gap:0;display:grid;overflow:hidden}.login-copy{background:linear-gradient(135deg, var(--nav-bg), #123655);color:#fff;padding:42px}.login-copy h1{margin:22px 0 10px;font-size:34px;line-height:1.1}.login-copy p{color:#cbd5e1;max-width:420px;margin:0;line-height:1.6}.login-badges{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.login-badges span{color:#e2e8f0;border:1px solid #fff3;border-radius:8px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.login-form{align-content:center;gap:18px;padding:42px;display:grid}.login-form label,.admin-form label,.quick-task-form label,.region-device-row label,.date-range label{color:var(--muted);gap:7px;font-size:13px;display:grid}.field-with-icon,.search-field,.select-control,.inline-select{border:1px solid var(--line);background:var(--input-bg);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex;box-shadow:inset 0 1px #ffffff0a}.field-with-icon input,.search-field input,.select-control select,.inline-select select{box-shadow:none;background:0 0;border:0;min-height:38px;padding-inline:0}.form-error{color:var(--red);margin:0;font-weight:700}.primary-button{background:linear-gradient(135deg, var(--brand), var(--teal));color:#fff;box-shadow:var(--button-shadow);border:1px solid #0000;padding:9px 15px;font-weight:850;transition:transform .14s,box-shadow .14s,filter .14s}.primary-button:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 14px 26px #1976d23d}.primary-button:disabled{cursor:wait;opacity:.7}.primary-button.danger{background:linear-gradient(135deg,#dc2626,#b91c1c)}.primary-button.success{background:linear-gradient(135deg,#16a34a,#0f8a3f)}.primary-button.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.ghost-button{border-color:var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft);padding:8px 11px;font-weight:800;transition:transform .14s,border-color .14s,background-color .14s,color .14s,box-shadow .14s}.ghost-button:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);box-shadow:var(--button-shadow);transform:translateY(-1px)}.ghost-button.danger{color:var(--red);border-color:#dc262638}.page-error{margin-bottom:14px}.must-change-password-backdrop{z-index:10500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.must-change-password-modal{border:1px solid var(--line);background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow-strong);text-align:center;border-radius:10px;gap:14px;padding:24px 22px;display:grid}.must-change-password-icon{color:var(--orange);justify-content:center;display:flex}.must-change-password-modal h2{margin:0;font-size:17px}.must-change-password-form{text-align:left;gap:12px;margin-top:4px;display:grid}.field-label{color:var(--muted);gap:5px;font-size:13px;font-weight:600;display:grid}.field-label span{color:var(--text)}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:var(--muted);pointer-events:none;position:absolute;left:10px}.input-with-icon input{width:100%;padding-left:32px}.confirm-dialog-backdrop{z-index:10200;background:#0f172a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--line);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-strong);border-radius:8px;gap:12px;padding:18px;display:grid}.confirm-dialog h2{margin:0;font-size:18px}.confirm-dialog p{color:var(--muted);margin:0;line-height:1.45}.confirm-dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.page-header.compact{margin-bottom:14px}.page-header h1{margin:4px 0 7px;font-size:30px;line-height:1.16}.page-header p{color:var(--muted);margin:0}.eyebrow{color:var(--brand);text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.metric-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.metric{border:1px solid var(--line);background:var(--surface);min-width:112px;box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:10px 12px;display:grid}.metric-button{appearance:none;color:var(--text);font:inherit;text-align:left;transition:border-color .15s,background-color .15s,box-shadow .15s}.metric-button:hover,.metric-button.active{background:var(--danger-soft);border-color:#dc262661;box-shadow:0 8px 18px #dc26261f}.metric span{font-size:20px;font-weight:850}.metric small{color:var(--muted);grid-column:1/-1}.offline-device-popout{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #dc262638;border-radius:8px;gap:12px;margin:-2px 0 14px;padding:14px;display:grid}.offline-device-popout header{justify-content:space-between;align-items:center;gap:12px;display:flex}.offline-device-popout h2{margin:2px 0 0;font-size:18px;line-height:1.2}.offline-device-popout-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.offline-device-popout-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:5px;min-width:0;padding:12px;display:grid}.offline-device-popout-card:hover{background:var(--danger-soft);border-color:#dc262652}.offline-device-popout-card strong,.offline-device-popout-card span,.offline-device-popout-card small{overflow-wrap:anywhere;min-width:0}.offline-device-popout-card strong{color:var(--text);font-size:17px;font-weight:900;line-height:1.25}.offline-device-popout-card span,.offline-device-popout-card small{color:var(--muted);font-size:12px;font-weight:800}.filter-bar,.tag-filter,.table-toolbar,.tag-create-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-bar{margin-bottom:10px}.sync-message{color:var(--muted);font-size:12px;font-weight:800}.sync-message.error{color:var(--red)}.tag-filter{margin-bottom:14px}.tag-create-form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.device-tag-filter-control{flex:360px;gap:8px;min-width:300px;display:grid}.device-tag-search-field{min-width:0}.device-tag-search-field input{min-width:120px}.compact-add-button{min-height:30px;padding:4px 8px;font-size:12px}.selected-device-tag-filter{flex-wrap:wrap;gap:8px;display:flex}.region-device-tag-filter{margin-top:12px;margin-bottom:12px}.dashboard-tag-filters{flex-direction:column;gap:0;display:flex}.dashboard-tag-filters .tag-filter{margin-bottom:8px}.dashboard-tag-filters .tag-filter:last-child{margin-bottom:14px}.tag-filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;align-self:center;padding-right:2px;font-size:11px;font-weight:700}.search-field{flex:260px;min-width:260px}.select-control{min-width:210px}.compact-filter-control{flex:0 190px;min-width:150px}.tag-toggle{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-weight:750;transition:transform .14s,border-color .14s,background-color .14s,color .14s;display:inline-flex}.tag-toggle:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);transform:translateY(-1px)}.tag-toggle.active{background:var(--brand-soft);color:var(--brand-dark);border-color:#1976d26b;font-weight:850}.tag-toggle.compact{min-height:30px;font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,4fr) minmax(320px,1fr);align-items:stretch;gap:16px;display:grid}.map-surface,.surface,.task-rail{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px}.map-surface{min-height:650px;overflow:hidden}.map-canvas{background:var(--surface-muted);width:100%;height:100%;min-height:650px;position:relative;overflow:hidden}.google-map-canvas{z-index:0;background:var(--surface-muted);width:100%;height:100%;position:absolute;inset:0}.google-map-canvas .gm-style{font-family:inherit}.static-map-image,.static-map-fallback{z-index:0;width:100%;height:100%;position:absolute;inset:0}.static-map-image{filter:saturate(.96)contrast(1.02);-webkit-user-select:none;user-select:none;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover}.static-map-fallback{color:#17203338;letter-spacing:0;pointer-events:none;background:linear-gradient(90deg,#ffffffa3 1px,#0000 1px) 0 0/46px 46px,linear-gradient(0deg,#ffffffa3 1px,#0000 1px) 0 0/46px 46px,linear-gradient(135deg,#dbeafe,#e2e8f0 42%,#dcfce7);place-items:center;font-size:74px;font-weight:950;display:grid}.map-mode-badge{z-index:4;border:1px solid var(--line);background:var(--topbar-bg);max-width:min(420px,100% - 28px);color:var(--text);pointer-events:none;box-shadow:var(--shadow-soft);border-radius:8px;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:14px;left:14px}.map-status-legend{z-index:4;border:1px solid var(--line);background:var(--topbar-bg);max-width:min(340px,100% - 28px);color:var(--text);box-shadow:var(--shadow-soft);border-radius:8px;flex-wrap:wrap;gap:8px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:14px;right:14px}.map-status-legend span{align-items:center;gap:6px;display:inline-flex}.map-status-legend .status-dot{width:8px;height:8px;box-shadow:none}.map-load-state{z-index:2;background:var(--surface-muted);color:var(--muted);text-align:center;place-items:center;font-size:14px;font-weight:800;display:grid;position:absolute;inset:0}.map-road{fill:none;stroke:#ffffffeb;stroke-width:18px;stroke-linecap:round;filter:drop-shadow(0 1px #17203314)}.map-road.thin{stroke-width:10px}.map-label{fill:#17203373;font-size:24px;font-weight:800}.map-marker-overlay{z-index:3;pointer-events:auto;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.map-marker-overlay:has(.device-marker.selected){z-index:8}.map-marker-overlay:has(.device-marker.editing){z-index:9}.device-marker{z-index:3;text-align:center;justify-items:center;width:92px;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-marker-overlay .device-marker{position:relative}.device-marker.selected{z-index:8}.device-marker.editing{z-index:9;cursor:grab}.device-marker.editing:active{cursor:grabbing}.pin-shell{color:#fff;cursor:pointer;border:1px solid #fff;border-radius:6px;align-items:center;gap:3px;max-width:84px;min-height:22px;padding:3px 4px;font-size:10px;line-height:1.1;display:inline-flex;box-shadow:0 5px 10px #17203324}button.pin-shell{font:inherit}.pin-shell svg{flex:none;width:12px;height:12px}.device-marker.selected .pin-shell{outline:2px solid #2563eb47}.device-marker.editing .pin-shell{outline:3px solid #f9731657}.device-marker.online .pin-shell{background:var(--green)}.device-marker.offline .pin-shell{background:var(--red)}.device-marker.error .pin-shell{background:var(--orange)}.device-marker-name{font-weight:850}.device-marker-name:hover{text-decoration:underline}.device-name{max-width:92px;color:var(--text);background:#ffffffe0;border-radius:6px;margin-top:2px;padding:1px 4px;font-size:11px;font-weight:700;line-height:1.2;box-shadow:0 2px 6px #17203314}.assignment-ring{border:1px solid var(--line);border-radius:8px;align-items:flex-end;gap:2px;padding:2px;display:inline-flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #1720331f}.assignment-ring .avatar{border:1px solid #fff;grid-template-rows:13px 1fr;place-items:center;width:60px;height:34px;padding:0;font-size:10px;display:grid;overflow:hidden}.assignment-ring .avatar+.avatar{margin-left:0}.assignment-status{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:20px;width:100%;min-width:0;margin-bottom:10px;font-size:11px;font-weight:900;line-height:13px;display:block;overflow:hidden}.assignment-status.in_progress{color:#c2410c}.assignment-status.blocked{color:var(--red)}.assignment-status.done{color:var(--green)}.assignment-initials{color:#fff;font-size:.6rem;font-weight:600;line-height:1;display:block}.assignment-popover{z-index:10;border:1px solid var(--line);background:var(--surface);width:260px;box-shadow:var(--shadow);text-align:left;border-radius:8px;padding:12px;position:absolute;bottom:75px;left:50%;transform:translate(-50%)}.device-popover{z-index:12;border:1px solid var(--line);background:var(--surface);width:270px;box-shadow:var(--shadow);text-align:left;border-radius:8px;padding:12px;position:absolute;top:35px;left:50%;transform:translate(-50%)}.device-popover>button{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:8px}.device-popover strong,.device-popover span,.device-popover small{padding-right:22px;display:block}.device-popover span{color:var(--muted);margin-top:3px;font-weight:700}.device-popover .device-region{color:var(--text);font-weight:850}.device-popover-tags,.device-tags-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.device-popover-tags .tag-toggle,.device-tags-list .tag-toggle{color:var(--brand-dark);margin-top:0;padding-right:9px;display:inline-flex}.device-popover small{color:var(--brand-dark);margin-top:8px;font-weight:850}.device-popover p{color:#c2410c;margin:10px 0 0;font-size:12px;font-weight:800}.popover-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.popover-actions a,.popover-actions button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-weight:850;display:inline-flex}.popover-actions a:hover,.popover-actions button:hover{background:#2563eb14;border-color:#2563eb59}.assignment-popover button{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:6px;right:8px}.assignment-popover strong,.assignment-popover-title>span{padding-right:22px;display:block}.assignment-popover-title>span{color:var(--brand-dark);margin-top:3px;font-weight:750}.assignment-popover-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:3px;display:grid}.assignment-popover-title>span{min-width:0;padding-right:0}.assignment-task-link{border:1px solid var(--line);background:var(--surface-soft);min-height:28px;color:var(--brand-dark);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:5px 7px;font-size:11px;font-weight:850;display:inline-flex}.assignment-task-link:hover{background:#2563eb1a;border-color:#2563eb59}.assignment-popover .status-pill{margin-top:8px}.assignment-popover p{color:var(--muted);margin:8px 0 0;line-height:1.45}.task-rail{flex-direction:column;height:min(760px,100vh - 238px);min-height:520px;padding:14px;display:flex;overflow:hidden}.task-rail-scroll{flex:auto;min-height:0;margin-top:14px;padding-right:3px;overflow-y:auto}.task-rail-scroll .task-list{margin-top:0;padding-right:0;overflow:visible}.rail-header,.section-title,.task-card-top,.timeline-head{justify-content:space-between;align-items:center;gap:12px;display:flex}button.section-title{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:0;padding:0;transition:opacity .15s}button.section-title:hover{opacity:.7}.rail-header h2,.section-title h2{margin:0;font-size:18px}.count-pill,.status-pill,.priority-label,.visibility-pill{border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:800;display:inline-flex}.count-pill{background:var(--surface-soft);color:var(--text)}.quick-task-form,.admin-form{gap:10px;display:grid}.admin-form>*,.admin-form label,.admin-form .form-row>*{min-width:0}.admin-form input,.admin-form select,.admin-form textarea,.quick-task-form input,.quick-task-form select,.quick-task-form textarea{width:100%;min-width:0}.quick-task-form{margin:0;padding:16px;overflow-y:auto}.quick-task-modal-backdrop{z-index:10010;background:#08101c80;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.quick-task-modal-backdrop-bell{z-index:10010;background:#08101c80;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:150px 0 0}.quick-task-modal{border:1px solid var(--line);background:var(--surface);width:min(620px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.quick-task-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.quick-task-modal h2{margin:2px 0 0;font-size:20px;line-height:1.22}.quick-task-modal .assignee-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assignee-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.avatar-choice{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;justify-items:center;gap:4px;padding:8px 4px;display:grid}.avatar-choice span{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:850;display:inline-flex}.avatar-choice.active{border-color:var(--brand);color:var(--brand-dark);background:#2563eb14}.task-list{gap:10px;margin-top:14px;padding-right:3px;display:grid;overflow:auto}.compact-list{max-height:none;overflow:visible}.task-card{border:1px solid var(--line);border-inline-start:4px solid var(--brand);background:var(--surface);border-radius:8px;padding:12px}.task-card-link{color:inherit;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:block}.task-card-link:hover{border-color:#2563eb59;transform:translateY(-1px);box-shadow:0 10px 26px #0f172a17}.task-card h3{margin:9px 0 6px;font-size:15px;line-height:1.25}.task-card p{color:var(--muted);margin:0;line-height:1.45}.task-card footer{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;display:flex}.task-card footer a,.task-card-detail,.rail-link,.inline-link,.table-title-link{color:var(--brand-dark);font-weight:800}.task-card footer a:hover,.task-card-link:hover .task-card-detail,.rail-link:hover,.inline-link:hover,.table-title-link:hover{text-decoration:underline}.rail-link{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:center;margin-top:12px;padding:9px 10px;display:inline-flex}.task-card footer span,.task-table-row>span,.event-row,.asset-row span{align-items:center;gap:6px;display:inline-flex}.status-pill.planned,.status-pill.open{color:var(--brand-dark);background:#2563eb1a}.status-pill.in_progress,.status-pill.planned.timeline{color:#c2410c;background:#f973161f}.status-pill.blocked{color:var(--red);background:#dc26261c}.status-pill.done,.status-pill.resolved{color:var(--green);background:#16a34a1f}.priority-urgent{background:var(--danger-soft)}.priority-high{background:var(--warning-soft)}.priority-normal,.priority-low{background:var(--surface)}.content-grid{gap:16px;display:block}.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.content-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.content-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.surface{padding:16px}.surface h2{margin:0}.stat-surface{gap:7px;display:grid}.stat-surface svg{color:var(--brand)}.stat-surface span{color:var(--muted)}.stat-surface strong{font-size:22px}.device-tags-editor{align-content:start}.device-tags-editor-actions{flex-wrap:wrap;gap:8px;display:flex}.device-tags-edit-panel{gap:10px;margin-top:4px;display:grid}.device-tag-create{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.device-tag-create input{min-width:0}.device-tag-edit-actions{gap:8px;display:grid}.device-tags-empty{color:var(--muted);font-size:15px}.back-link{color:var(--muted);align-items:center;gap:5px;margin-bottom:10px;font-weight:700;display:inline-flex}.device-status-card{color:#fff;border-radius:8px;justify-items:start;gap:5px;min-width:170px;padding:14px;display:grid}.device-status-card.online{background:var(--green)}.device-status-card.offline{background:var(--red)}.device-status-card.error{background:var(--orange)}.device-status-card small{color:#ffffffd1}.details-list,.inline-meta{gap:12px;margin:12px 0 0;display:grid}.details-list div,.inline-meta div{gap:4px;display:grid}.details-list dt,.inline-meta dt{color:var(--muted);font-size:12px}.details-list dd,.inline-meta dd{margin:0;font-weight:750}.chip-cloud{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:8px;padding:7px 9px;font-size:12px;font-weight:750}.device-asset-list,.event-list,.rank-list,.summary-bars,.permission-user-list,.region-device-list{gap:10px;margin-top:14px;display:grid}.asset-row,.event-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;justify-content:space-between;gap:12px;padding:10px}.asset-row small,.muted{color:var(--muted)}.timeline{gap:14px;margin-top:14px;display:grid;position:relative}.timeline-item{grid-template-columns:20px minmax(0,1fr);gap:10px;display:grid;position:relative}.timeline-dot{background:var(--brand);border-radius:50%;width:12px;height:12px;margin-top:7px;box-shadow:0 0 0 4px #2563eb1f}.timeline-item.resolved .timeline-dot{background:var(--green);box-shadow:0 0 0 4px #16a34a1f}.timeline-item.open .timeline-dot{background:var(--red);box-shadow:0 0 0 4px #dc26261f}.timeline-item h3{margin:0;font-size:16px}.timeline-item p{color:var(--muted);margin:7px 0;line-height:1.5}.inline-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.empty-state{color:var(--green);align-items:center;gap:8px;font-weight:800;display:flex}.task-admin-grid{grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);align-items:start}.task-create-form{align-content:start;align-self:start;display:block}.problem-report-grid{grid-template-columns:minmax(520px,.8fr) minmax(0,1.2fr);align-items:start}.task-admin-list,.permission-matrix-panel{min-width:0;overflow:hidden}.problem-report-list{min-width:0;overflow:auto hidden}.problem-report-form{grid-template-columns:minmax(0,1fr);align-self:start;gap:14px;position:sticky;top:146px;overflow:visible}.problem-report-form .section-title{border-bottom:1px solid var(--line);margin:-4px -4px 2px;padding:2px 4px 12px}.problem-report-form>.section-title,.problem-report-form>label,.problem-report-form>.form-row,.problem-report-form>.task-tag-picker,.problem-report-form>.task-assignee-edit,.problem-report-form>.primary-button{grid-column:1/-1}.problem-report-form label,.problem-report-form .task-tag-picker,.problem-report-form .task-assignee-edit{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;padding:10px}.problem-report-form label>span,.problem-report-form .task-tag-picker>span,.problem-report-form .task-assignee-edit>span{color:var(--muted);font-size:12px;font-weight:850}.problem-report-form input,.problem-report-form select,.problem-report-form textarea{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-color:#0000;margin-top:7px}.problem-report-form input:focus,.problem-report-form select:focus,.problem-report-form textarea:focus{box-shadow:inset 0 0 0 1px var(--brand), 0 0 0 3px var(--focus-ring);border-color:#0000}.problem-report-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.problem-report-form textarea{resize:vertical;min-height:112px}.problem-report-form .row-tags{border-radius:8px;max-height:148px;padding:2px 2px 4px;overflow:auto}.problem-report-form .tag-toggle.compact{white-space:normal;overflow-wrap:anywhere;max-width:100%}.problem-report-form .primary-button{width:100%;min-height:44px}.task-table{gap:8px;margin-top:14px;display:grid}.problem-report-table{gap:8px;min-width:1020px;margin-top:14px;padding-bottom:4px;display:grid}.problem-report-head,.problem-report-row{grid-template-columns:18px minmax(180px,.75fr) minmax(250px,1.25fr) minmax(100px,.38fr) minmax(130px,.45fr) minmax(110px,.35fr) auto;align-items:center;gap:10px;display:grid}.problem-report-head{color:var(--muted);padding:0 10px;font-size:12px;font-weight:850}.problem-report-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px;padding:10px}.problem-report-row.editing{grid-template-columns:1fr;align-items:stretch}.problem-report-row.editing label{color:var(--muted);gap:7px;font-size:13px;display:grid}.problem-summary-cell{gap:5px;min-width:0;display:grid}.problem-summary-cell strong,.problem-summary-cell p{overflow-wrap:anywhere;min-width:0}.problem-summary-cell p{color:var(--muted);margin:0;line-height:1.35}.form-one-page{gap:16px;display:grid}.form-one-surface{gap:16px;display:grid;overflow:hidden}.form-one-attention{animation:.58s ease-in-out 3 form-one-attention}@keyframes form-one-attention{0%,to{box-shadow:var(--shadow-soft)}50%{border-color:#f59e0bbf;box-shadow:0 0 0 5px #f59e0b29}}.form-one-fields{grid-template-columns:minmax(220px,1.1fr) minmax(180px,.7fr) minmax(170px,.5fr) minmax(170px,.5fr);gap:12px;display:grid}.form-one-fields label{min-width:0;color:var(--muted);gap:7px;font-size:13px;display:grid}.form-one-fields label>span{font-size:12px;font-weight:850}.form-one-fields input,.form-one-fields select{min-width:0}.form-one-fields input[readonly]{cursor:default;color:var(--muted);font-weight:800}.form-one-meta{flex-wrap:wrap;gap:8px;display:flex}.form-one-meta span{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--muted);border-radius:8px;align-items:center;padding:5px 9px;font-size:12px;font-weight:850;display:inline-flex}.form-one-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}.form-one-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1060px}.form-one-table th,.form-one-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;padding:10px}.form-one-table th:last-child,.form-one-table td:last-child{border-right:0}.form-one-table thead th{background:var(--surface-soft);color:var(--muted);text-align:left;font-size:12px;font-weight:900}.form-one-table thead th:first-child,.form-one-number-cell{text-align:center;width:54px}.form-one-table thead th:last-child,.form-one-quantity-cell{width:116px}.form-one-model-group:last-child tr:last-child td{border-bottom:0}.form-one-number-cell{color:var(--text);font-weight:900}.form-one-model-cell{background:var(--surface-soft);width:28%}.form-one-model-cell select,.form-one-service-cell select,.form-one-service-cell input{background:var(--surface);min-height:42px}.form-one-service-cell{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.form-one-service-inputs{gap:8px;min-width:0;display:grid}.form-one-service-actions{align-items:flex-start;gap:8px;display:flex}.form-one-add-service{white-space:nowrap;min-height:40px}.form-one-quantity-cell input{text-align:center;min-width:76px;font-weight:850}.form-one-row-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.form-one-row-actions .ghost-button,.form-one-add-model,.form-one-add-service{justify-content:center;align-items:center;gap:7px;display:inline-flex}.form-one-row-actions .icon-button,.form-one-service-cell .icon-button{width:40px;min-height:40px;box-shadow:none;flex:0 0 40px}.form-one-row-actions button:disabled,.form-one-service-cell button:disabled{cursor:not-allowed;opacity:.45;transform:none}.form-one-add-model{justify-self:start}.form-one-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.form-one-actions .primary-button,.form-one-actions .ghost-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.form-one-history{gap:14px;display:grid}.form-one-record-list{gap:12px;display:grid}.form-one-record{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;gap:12px;padding:14px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.form-one-record:hover,.form-one-record:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.form-one-record-in-progress{border-color:var(--line)}.form-one-record-pending-approval{background:#eab3080a;border-color:#eab3088c}.form-one-record-rejected-twice{background:#dc262608;border-color:#dc262666}.form-one-record-overdue{border-color:#dc262657}.form-one-record-completed{border-color:#12a15057}.form-one-record-summary{grid-template-columns:minmax(150px,.95fr) minmax(118px,.7fr) minmax(94px,.45fr) minmax(88px,.45fr) minmax(92px,.45fr) minmax(180px,1fr) auto;align-items:center;gap:10px;display:grid}.form-one-record-summary>span{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:2px;min-width:0;padding:8px 10px;display:grid}.form-one-record-summary strong,.form-one-record-summary small{overflow-wrap:anywhere;min-width:0}.form-one-record-summary small{color:var(--muted);font-size:11px;font-weight:850}.form-one-status-badge{background:var(--warning-soft);color:#9a5a00;overflow-wrap:anywhere;border:1px solid #f59e0b94;border-radius:8px;align-items:center;gap:2px;width:fit-content;max-width:100%;padding:7px 10px;font-weight:900;display:inline-grid}.form-one-status-badge small{color:inherit;font-size:11px;font-weight:850}.form-one-status-badge.completed{background:var(--success-soft);color:var(--green);border-color:#12a1508f}.form-one-status-badge.pending-approval{color:#92610a;background:#eab3081f;border-color:#eab308a6}.form-one-status-badge.rejected-twice,.form-one-status-badge.overdue{background:var(--danger-soft);color:var(--red);border-color:#dc262680}.form-one-comment-count strong,.form-one-comments-preview,.form-one-record-comments{color:var(--red)}.form-one-due-date-list strong{font-size:13px;line-height:1.35}.form-one-due-date-list.changed strong,.form-one-due-date-value.changed{color:var(--red)}.form-one-record-foot{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;font-weight:850;display:flex}.form-one-comments-preview{overflow-wrap:anywhere}.form-one-record-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-one-record-head strong{overflow-wrap:anywhere}.form-one-record-meta{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.form-one-record-meta span{background:var(--surface-soft);min-height:26px;color:var(--muted);border-radius:8px;align-items:center;padding:4px 8px;font-size:12px;font-weight:850;display:inline-flex}.form-one-record-items{border:1px solid var(--line);border-radius:8px;display:grid;overflow-x:auto}.form-one-record-item{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(180px,.8fr) minmax(320px,1.4fr) 86px;min-width:760px;display:grid}.form-one-record-item:last-child{border-bottom:0}.form-one-record-item.head{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:900}.form-one-record-item>*{border-right:1px solid var(--line);overflow-wrap:anywhere;min-width:0;padding:9px 10px}.form-one-record-item>:last-child{text-align:center;border-right:0;font-weight:900}.form-one-record-item>:first-child{text-align:center;font-weight:900}.form-one-detail-modal,.form-one-notification-modal{grid-template-rows:auto;width:min(860px,100%);overflow-y:auto}.form-one-detail-summary,.form-one-notification-stats{flex-wrap:wrap;gap:8px;padding:14px 16px 0;display:flex}.form-one-detail-summary>span,.form-one-notification-stats>span{border:1px solid var(--line);background:var(--surface-soft);min-height:30px;color:var(--muted);border-radius:8px;align-items:center;padding:5px 9px;font-size:12px;font-weight:850;display:inline-flex}.form-one-detail-summary .form-one-status-badge{min-height:30px;padding-block:5px}.form-one-record-items.modal-items,.form-one-notification-items{margin:14px 16px 0}.form-one-record-comments{gap:8px;margin:14px 16px 0;display:grid}.form-one-record-comments p,.form-one-record-comment{background:var(--danger-soft);overflow-wrap:anywhere;border:1px solid #dc262638;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:7px;margin:0;padding:9px 10px;font-size:13px;font-weight:850;display:grid}.form-one-record-comment>div{gap:8px;min-width:0;display:grid}.form-one-record-comment strong{color:var(--red);overflow-wrap:anywhere}.form-one-comment-actions{flex-wrap:wrap;gap:8px;display:flex}.form-one-comment-actions .ghost-button{min-height:34px}.form-one-response-section{gap:8px;margin:0 16px 4px;display:grid}.form-one-response-comment-field{gap:6px;display:grid}.form-one-response-comment-field span{color:var(--muted);font-size:12px;font-weight:700}.form-one-response-comment-field textarea{resize:vertical;min-height:72px}.form-one-detail-actions,.form-one-notification-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 16px 16px;display:flex}.form-one-notification-details{display:grid}.form-one-notification-items{gap:8px;display:grid}.form-one-notification-items>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) 56px;align-items:start;gap:8px;padding:9px 10px;display:grid}.form-one-notification-items span,.form-one-notification-items strong{overflow-wrap:anywhere;min-width:0}.form-one-notification-items small{color:var(--muted);justify-self:end;font-weight:900}.form-one-notification-comment,.form-one-notification-comment-field{margin:14px 16px 0}.form-one-notification-comment{background:var(--danger-soft);color:var(--red);overflow-wrap:anywhere;border:1px solid #dc26263d;border-radius:8px;padding:10px;font-weight:850}.form-one-notification-comment-field{color:var(--muted);gap:7px;font-size:12px;font-weight:850;display:grid}.phone-inline{overflow-wrap:anywhere;width:fit-content;max-width:100%;color:var(--teal);background:#0f766e1a;border-radius:8px;align-items:center;gap:5px;padding:5px 7px;font-size:12px;font-weight:850;display:inline-flex}.task-phone-cell{justify-self:start}.date-cell{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.issue-indicator{background:var(--orange);border-radius:50%;place-self:center;width:12px;height:12px;display:inline-flex;box-shadow:0 0 0 4px #f9731624}.issue-indicator.active{animation:1.1s infinite issue-indicator-pulse}.issue-indicator.overdue{background:var(--red);width:17px;height:17px;box-shadow:0 0 0 5px #dc262629}.issue-indicator.done{background:var(--green);box-shadow:0 0 0 4px #16a34a1f}.issue-indicator.empty{box-shadow:none;background:0 0}@keyframes issue-indicator-pulse{0%,to{box-shadow:0 0 0 3px #f973161a}50%{box-shadow:0 0 0 7px #f9731642}}.task-tag-filter{margin-top:12px}.task-tag-picker{color:var(--muted);gap:7px;padding-bottom:5px;font-size:13px;display:grid}.tag-chip-control{align-items:center;gap:4px;max-width:100%;display:inline-flex}.tag-chip-control .tag-toggle{min-width:0}.tag-delete-button{width:28px;height:28px;color:var(--red);background:#dc262614;border:1px solid #dc262638;border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.tag-delete-button:hover:not(:disabled){background:#dc262624;border-color:#dc26266b;transform:translateY(-1px)}.tag-delete-button:disabled{cursor:not-allowed;opacity:.55}.task-tag-create{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.task-tag-create input{width:100%;min-width:0}.task-tags{flex-wrap:wrap;gap:5px;margin:0 0 7px;display:flex}.task-table-head,.task-table-row{grid-template-columns:18px minmax(180px,.82fr) minmax(240px,1.15fr) minmax(120px,.42fr) minmax(100px,.4fr) minmax(150px,.55fr) minmax(110px,.4fr) auto;align-items:center;gap:10px;display:grid}.task-table-head{color:var(--muted);padding:0 10px;font-size:12px;font-weight:850}.task-table-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:8px;padding:10px}.task-table-row.editing{grid-template-columns:1fr;align-items:stretch}.task-table-row strong{margin-bottom:5px;display:block}.task-device-cell{gap:6px;display:grid}.task-summary-cell{min-width:0;display:block}.clickable-cell{border-radius:8px;margin:-6px;padding:6px}.clickable-cell:hover{background:#2563eb12}.task-device-cell strong{color:var(--text);margin:0;font-size:16px;font-weight:900;line-height:1.2}.device-name-inline{width:fit-content;color:var(--brand-dark);background:#2563eb1a;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:850;display:inline-flex}.task-table-row p{color:var(--muted);margin:0 0 6px;line-height:1.35}.task-comment-text,p.task-comment-text{color:var(--red);font-weight:750}.priority-label.urgent{color:var(--red);background:#dc26261a}.priority-label.high{color:#c2410c;background:#f973161f}.priority-label.normal,.priority-label.low{background:var(--surface-soft);color:var(--muted)}.inline-select{min-width:150px}.inline-select select:disabled{cursor:not-allowed;color:var(--muted)}.task-edit-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;display:grid}.task-edit-grid label,.task-assignee-edit{color:var(--muted);gap:7px;font-size:13px;display:grid}.task-edit-issue,.task-edit-comment,.task-assignee-edit{grid-column:span 3}.task-comment-textarea{color:var(--red);font-weight:750}.task-comment-detail{gap:10px;display:grid}.task-row-actions{justify-content:flex-end}.region-grid{grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);align-items:start}.permissions-grid,.user-admin-grid{grid-template-columns:minmax(280px,.45fr) minmax(0,1.55fr)}.device-create-form{align-self:start}.region-left-column{align-self:start;gap:16px;display:grid}.summary-bar{gap:8px;display:grid}.summary-bar div{justify-content:space-between;gap:10px;display:flex}progress{background:var(--surface-soft);border:0;border-radius:999px;width:100%;height:9px;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-soft)}progress::-webkit-progress-value{background:var(--brand)}.region-device-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(160px,.55fr) minmax(150px,.45fr) minmax(180px,.75fr) minmax(130px,.35fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.region-device-row.editing{grid-template-columns:1fr}.user-admin-list{min-width:0}.user-create-form{grid-template-columns:minmax(0,1fr);align-self:start;gap:14px}.user-create-form>.section-title,.user-create-form>label,.user-create-form>.form-row,.user-create-form>.primary-button{grid-column:1/-1}.user-create-form label{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;min-width:0;padding:10px}.user-create-form label>span{color:var(--muted);font-size:12px;font-weight:850}.user-create-form input,.user-create-form select{background:var(--surface);margin-top:7px}.user-create-form input[type=color]{min-height:42px;padding:4px}.user-create-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-create-form .primary-button{width:100%;min-height:44px}.user-table{gap:10px;margin-top:14px;display:grid}.compact-user-table{margin-top:14px}.user-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:42px minmax(180px,1fr) minmax(140px,.5fr) minmax(100px,.35fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.user-row.editing{grid-template-columns:42px minmax(0,1fr) auto}.edit-grid{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;display:grid}.user-row strong,.user-row span{display:block}.user-row div span{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:13px;display:inline-flex}.role-pill{width:fit-content;color:var(--brand-dark);background:#2563eb1a;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;font-weight:850;display:inline-flex}.region-device-row>div:first-child{gap:4px;display:grid}.region-device-row>div:first-child strong{font-size:16px;font-weight:850;line-height:1.2}.region-device-row>div:first-child span{color:var(--muted);font-size:12px}.row-tags{flex-wrap:wrap;gap:6px;display:flex}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.device-exclusion-cell{justify-items:start;gap:4px;display:grid}.device-exclusion-cell small{color:var(--muted);font-size:11px;font-weight:750}.device-exclusion-toggle{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--green);border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:850;display:inline-flex}.device-exclusion-toggle.active{color:var(--red);background:#dc262614;border-color:#dc26263d}.device-exclusion-toggle:disabled{cursor:not-allowed;opacity:.65}.region-admin-form{grid-template-columns:44px minmax(0,1fr);gap:8px;margin-top:14px;display:grid}.region-admin-form input:first-child{grid-column:1/-1}.region-admin-list{gap:8px;margin-top:14px;display:grid}.region-admin-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:14px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px;display:grid}.region-admin-row:has(input){grid-template-columns:minmax(0,1fr) 40px 30px}.region-admin-row strong,.region-admin-row small{display:block}.region-admin-row small{color:var(--muted);font-size:11px}.region-admin-row strong{font-size:13px;line-height:1.2}.region-swatch,.role-icon{border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.role-icon{width:22px;height:22px;color:var(--brand-dark);background:#2563eb1a;border-radius:8px}.region-admin-row .row-actions{grid-template-columns:1fr;justify-items:end;display:grid}.region-admin-row .icon-button{width:28px;min-height:28px}.region-admin-row .icon-button svg{width:14px;height:14px}.role-create-form{border-bottom:1px solid var(--line);gap:8px;margin-bottom:12px;padding-bottom:12px;display:grid}.role-create-form input{background:var(--surface);min-height:38px}.role-create-form .primary-button{width:100%;min-height:40px;padding-inline:10px;font-size:13px}.permission-user{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.permission-user.active{border-color:var(--brand);background:#2563eb14}.permission-user strong,.permission-user small{display:block}.permission-user small{color:var(--muted)}.permission-matrix{gap:8px;margin-top:14px;display:grid;overflow-x:auto}.permission-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(160px,.5fr) minmax(0,1.5fr) minmax(120px,.35fr);align-items:center;gap:8px;min-width:780px;padding:10px;display:grid}.permission-row.head{background:var(--surface-soft);color:var(--muted);border-color:#0000;font-size:12px;font-weight:850}.permission-action-list{flex-wrap:wrap;gap:7px;display:flex}.permission-toggle{border:1px solid var(--line);background:var(--surface);width:auto;min-height:34px;color:var(--muted-2);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:4px 8px 4px 5px;font-size:12px;font-weight:850;display:inline-flex}.permission-toggle.enabled{color:var(--green);background:#16a34a17;border-color:#16a34a40}.permission-toggle:disabled{cursor:not-allowed;opacity:.6}.permission-toggle.sub-permission{border-style:dashed;font-size:11px}.permission-toggle.sub-permission:disabled:not(.enabled){opacity:.35}.visibility-pill.visible{color:var(--green);background:#16a34a1a}.visibility-pill.hidden{color:var(--muted);background:#6070871c}.date-range{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.date-range label{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;min-width:180px;padding:6px 8px}.date-range input{min-height:32px;box-shadow:none;border:0;padding:0}.rank-panel{min-height:300px}.rank-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:10px;display:grid}.rank-row strong,.rank-row span{display:block}.rank-row-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rank-row-head>div:first-child{min-width:0}.rank-row-actions{flex:none;gap:6px;display:inline-flex}.rank-row-actions .icon-button{width:32px;min-height:32px;box-shadow:none}.rank-row span{color:var(--muted);margin-top:3px}.rank-bar{background:var(--surface-soft);border-radius:999px;height:9px;position:relative;overflow:hidden}.rank-bar:after{width:var(--bar-width);content:"";background:var(--brand);border-radius:inherit;position:absolute;inset:0 auto 0 0}.ghost-button:disabled{cursor:not-allowed;opacity:.62}.offline-filter-bar{margin-bottom:16px}.date-control,.threshold-control{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--muted);border-radius:8px;grid-template-columns:auto auto minmax(130px,1fr);align-items:center;gap:8px;padding:6px 9px;font-size:13px;display:grid}.date-control input,.threshold-control input{min-height:30px;box-shadow:none;border:0;padding:0}.threshold-control{max-width:220px}.offline-record-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr) minmax(260px,.72fr)}.offline-device-panel,.offline-snapshot-panel,.offline-rank-panel{min-width:0}.offline-device-panel .search-field{min-width:0;margin-top:14px}.offline-device-panel .offline-sort-control{min-width:0;margin-top:10px}.offline-device-panel .offline-sort-control select{width:100%}.offline-monitor-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.offline-device-list,.offline-snapshot-list{gap:10px;margin-top:14px;display:grid}.offline-device-list{max-height:620px;padding-right:3px;overflow:auto}.offline-device-option{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;display:grid;overflow:hidden}.offline-device-option:hover,.offline-device-option.selected{background:#2563eb12;border-color:#2563eb6b}.offline-device-main{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0 10px 10px;display:grid}.offline-device-main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.offline-device-option strong,.offline-device-option small{text-overflow:ellipsis;display:block;overflow:hidden}.offline-device-option small{color:var(--muted);margin-top:2px}.monitor-indicators{justify-content:flex-end;align-items:center;gap:6px;padding-right:10px;display:inline-flex}.monitor-pill{width:25px;height:25px;color:var(--brand-dark);background:#2563eb1a;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.monitor-count-pill{background:var(--danger-soft);min-width:26px;height:24px;color:var(--red);border:1px solid #dc262659;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:inline-flex}button.monitor-count-pill{padding:0 8px}.monitor-count-pill:hover{background:#dc262624;border-color:#dc262685}.monitor-count-pill.inactive{border-color:var(--line);background:var(--surface-soft);color:var(--muted)}.offline-history-backdrop{z-index:80;background:#08101c7a;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.offline-history-modal{border:1px solid var(--line);background:var(--surface);width:min(560px,100%);max-height:min(620px,100vh - 36px);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.offline-history-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.offline-history-modal h2{margin:2px 0 4px;font-size:20px;line-height:1.22}.offline-history-modal header span{color:var(--muted);font-size:13px;font-weight:800}.offline-history-list{gap:10px;margin:0;padding:14px 16px 16px;list-style:none;display:grid;overflow:auto}.offline-history-row{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.offline-history-index{background:var(--danger-soft);width:30px;height:30px;color:var(--red);border-radius:8px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.offline-history-time{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:inline-grid}.offline-history-time svg{color:var(--red)}.offline-history-time strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.offline-history-empty{min-height:180px;color:var(--muted);text-align:center;place-items:center;gap:8px;padding:24px;display:grid}.status-dot{background:var(--muted-2);border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 4px #6070871a}.status-dot.online{background:var(--green);box-shadow:0 0 0 4px #16a34a1f}.status-dot.offline{background:var(--red);box-shadow:0 0 0 4px #dc26261f}.status-dot.error{background:var(--orange);box-shadow:0 0 0 4px #f9731624}.offline-snapshot-day{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:12px}.offline-snapshot-day header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.offline-snapshot-day header strong,.offline-snapshot-day header span{display:block}.offline-snapshot-day header span{color:var(--muted);margin-top:2px;font-size:12px;font-weight:750}.snapshot-device-cloud{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.snapshot-device-chip{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-width:0;color:var(--text);border-radius:8px;grid-template-columns:auto auto;align-items:center;gap:1px 6px;padding:7px 9px;display:inline-grid}.snapshot-device-chip svg{color:var(--red);grid-row:1/3}.snapshot-device-chip strong,.snapshot-device-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snapshot-device-chip strong{font-size:12px}.snapshot-device-chip small{color:var(--muted);font-size:11px;font-weight:800}.snapshot-device-chip.critical,.rank-row.critical{background:var(--danger-soft);border-color:#dc262652}.snapshot-device-chip.critical strong,.rank-row.critical strong{color:var(--red)}.snapshot-device-chip.alerting,.offline-device-option.alerting{animation:1.15s infinite offline-alert-pulse}.offline-device-option.alerting{border-color:#dc262657}@keyframes offline-alert-pulse{0%,to{box-shadow:0 0 #dc262600}50%{box-shadow:0 0 0 4px #dc26262e}}@media (max-width:1180px){.app-shell{padding-top:124px}.topbar{padding:10px 14px 12px}.topbar-main{gap:10px}.main-menu{gap:6px}.main-menu .menu-link{padding:5px 6px;font-size:12px}.profile-copy strong,.profile-copy small{max-width:108px}.account-actions{justify-content:flex-end}.dashboard-grid,.task-admin-grid,.problem-report-grid,.region-grid,.offline-record-grid,.user-admin-grid,.permissions-grid,.content-grid.two,.content-grid.three,.content-grid.four{grid-template-columns:1fr}.task-rail{height:min(680px,100vh - 190px);min-height:420px;max-height:none}.problem-report-form{position:static}.task-table,.problem-report-table{overflow-x:auto}.task-table-head,.task-table-row,.problem-report-head,.problem-report-row{min-width:1120px}}@media (max-width:760px){.app-shell{padding-top:72px}.app-main{margin-top:0;padding:12px}.topbar{padding:10px 12px;display:block}.topbar-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{flex:auto}.brand small{display:none}.brand strong{font-size:14px}.brand-mark{width:34px;height:34px}.agency-logo-header{width:92px;max-width:28vw}.main-menu{display:none}.mobile-menu{flex:none;display:block}.mobile-menu-button{min-height:38px;padding:7px 10px}.mobile-menu-panel{border:1px solid var(--nav-border);background:var(--nav-bg);max-height:calc(100dvh - 76px);box-shadow:var(--shadow);border-radius:8px;padding:10px;position:fixed;top:64px;left:12px;right:12px;overflow:auto}.mobile-menu-panel .menu-link{justify-content:flex-start;width:100%}.account-actions{flex:none;gap:6px}.profile-copy,.theme-toggle span{display:none}.theme-toggle{width:38px;padding-inline:0}.profile-button{padding:4px}.profile-button>svg{display:none}.icon-button{width:38px;min-height:38px}.page-header{gap:12px;display:grid}.page-header h1{font-size:24px}.metric-strip,.date-range{justify-content:flex-start}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.metric{min-width:0}.offline-device-popout{padding:12px}.offline-device-popout-list,.login-panel{grid-template-columns:1fr}.login-copy,.login-form{padding:28px}.filter-bar,.tag-filter,.table-toolbar{display:grid}.filter-bar .ghost-button,.filter-bar .primary-button{width:100%}.search-field,.select-control,.device-tag-filter-control{min-width:0}.rank-row-head{align-items:stretch}.rank-row-actions{justify-content:flex-end}.map-surface,.map-canvas{min-height:480px}.device-marker{width:84px}.pin-shell{max-width:78px;min-height:21px;padding:3px 4px;font-size:8px}.device-name{max-width:84px;font-size:8px}.assignment-popover{width:220px}.map-status-legend{top:56px;left:14px;right:auto}.form-row,.assignee-picker,.inline-meta,.task-edit-grid{grid-template-columns:1fr}.quick-task-modal .assignee-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-report-form .form-row,.user-create-form .form-row,.form-one-fields,.form-one-record-summary{grid-template-columns:1fr}.form-one-record-summary .row-actions,.form-one-detail-actions,.form-one-notification-actions{justify-content:flex-start}.form-one-notification-items>div{grid-template-columns:1fr}.task-edit-issue,.task-edit-comment,.task-assignee-edit{grid-column:auto}.region-device-row{grid-template-columns:1fr}.user-row{grid-template-columns:38px 1fr}.user-row.editing,.edit-grid,.region-admin-form,.region-admin-row{grid-template-columns:1fr}.region-admin-row:has(input){grid-template-columns:1fr}.row-actions{justify-content:flex-start}}@media (max-width:430px){.mobile-menu-button span{display:none}.brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:104px;overflow:hidden}.agency-logo-header{width:68px;max-width:22vw}.avatar{width:28px;height:28px}.metric-strip{grid-template-columns:1fr}.map-surface,.map-canvas{min-height:430px}.task-rail{height:min(560px,100vh - 116px);min-height:360px}.quick-task-modal-backdrop{padding:10px}.quick-task-form,.quick-task-modal header{padding:12px}.quick-task-modal .assignee-picker{grid-template-columns:1fr}.device-popover{width:min(250px,100vw - 32px)}}
