:root{--ink:#34302b;--ink-soft:#4a453e;--muted:#7a7164;--line:#34302b1a;--line-strong:#34302b2e;--paper:#f7eedf;--paper-2:#efe4d0;--panel:#fffbf4e0;--panel-solid:#fffcf6;--brand:#a6192e;--brand-mid:#b80d31;--brand-deep:#730010;--gold:#ab965d;--gold-dark:#8a7449;--gold-soft:#bbae96;--frost:#8a7449;--frost-soft:#f0e8d4;--ok:#42683d;--ok-bg:#e8f0e6;--warn:#8a7449;--warn-bg:#f5edd8;--crit:#a6192e;--crit-bg:#f8e6e9;--off:#6b645a;--off-bg:#ebe6dc;--shadow:0 18px 50px #34302b1a;--radius:14px;--font-display:"minion-pro-display", "Times New Roman", Times, Georgia, serif;--font-ui:"Source Sans 3", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;font-feature-settings:"liga";-webkit-user-select:none;user-select:none;direction:ltr;flex-shrink:0;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-block}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-ui);background:var(--paper);background-attachment:fixed;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-shell{grid-template-rows:1fr;grid-template-columns:240px 1fr;min-height:100vh}.shell-main{background:var(--paper);flex-direction:column;min-width:0;min-height:100vh;display:flex;overflow-x:clip}.shell{box-sizing:border-box;flex:1;width:100%;max-width:none;margin:0;padding:1rem 1.25rem 3rem;overflow-x:clip}.app-top-header{z-index:25;background:var(--panel-solid);border-bottom:1px solid var(--line);min-height:64px;box-shadow:none;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex;position:sticky;top:0}.app-top-search{color:#8e8e93;background:#fff;border:1px solid #3c3c4324;border-radius:999px;flex:280px;align-items:center;gap:.55rem;max-width:520px;min-height:40px;padding:0 .95rem;display:flex;box-shadow:0 1px #00000005}.app-top-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.92rem;font-weight:500}.app-top-search input::placeholder{color:#8e8e93}.app-top-links{flex-shrink:0;align-items:center;gap:.15rem;margin-left:auto;display:flex}.app-top-link{color:#636366;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:background .14s,color .14s;display:inline-flex}.app-top-link:hover{color:var(--ink);background:#3c3c430f}.app-top-link.active{color:var(--brand);background:0 0}.app-top-divider{background:#3c3c432e;flex-shrink:0;width:1px;height:22px}.app-top-utils{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.app-top-icon-btn{color:#3a3a3c;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:40px;height:40px;transition:background .14s,color .14s;display:inline-grid;position:relative}.app-top-icon-btn:hover,.app-top-icon-btn.open{color:var(--ink);background:#3c3c4314}.app-top-notif-dot{background:#ff3b30;border:1.5px solid #f7f7f8;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:10px}.app-top-profile{position:relative}.app-top-profile-menu{border:1px solid var(--line);z-index:60;background:#fffdf9;border-radius:12px;min-width:200px;padding:.35rem;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 12px 32px #2a080c38}.app-top-profile-meta{border-bottom:1px solid var(--line);flex-direction:column;gap:.1rem;margin-bottom:.2rem;padding:.55rem .75rem .65rem;display:flex}.app-top-profile-meta strong{color:var(--ink);font-size:.88rem}.app-top-profile-meta span{color:var(--muted);font-size:.72rem;font-weight:650}@media (width<=1100px){.app-top-header{flex-wrap:wrap;gap:.65rem;padding:.65rem .85rem}.app-top-search{flex:100%;order:1;max-width:none}.app-top-links{order:2;margin-left:0;overflow-x:auto}.app-top-divider,.app-top-utils{order:2}}.sidebar{background:linear-gradient(180deg, #5c000d 0%, var(--brand-deep) 35%, #2a080c 100%);color:#f7eedf;z-index:30;border-right:1px solid #ab965d59;flex-direction:column;gap:1rem;height:100vh;padding:1.1rem .9rem 1rem;display:flex;position:sticky;top:0;overflow:visible}.sidebar-brand{border-bottom:1px solid #f7eedf1f;align-items:center;gap:.75rem;padding:.35rem .45rem .85rem;display:flex}.sidebar .brand-name{color:#fff;font-size:1.1rem}.sidebar .brand-sub{color:var(--gold-soft)}.sidebar .brand-mark{box-shadow:0 0 0 2px var(--gold), 0 0 0 4px #00000059, 0 8px 22px #00000059}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;min-height:0;padding:.2rem 0;display:flex}.sidebar-nav-scroll{flex-direction:column;flex:1;gap:.2rem;padding-right:.1rem;display:flex;overflow-y:auto}.sidebar-nav-link{color:#f7eedfc7;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.7rem;padding:.6rem .8rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:background .16s,color .16s;display:flex}.sidebar-nav-link .material-symbols-outlined{color:inherit;opacity:.92}.sidebar-nav-link:hover{color:#fff;background:#f7eedf14}.sidebar-nav a.active,.sidebar-nav-link.active{color:#fff;background:linear-gradient(90deg,#b80d31f2,#a6192ebf);box-shadow:inset 0 0 0 1px #ab965d59}.sidebar-nav-actions{border-top:1px solid #f7eedf1f;flex-direction:column;flex-shrink:0;gap:.2rem;margin-top:auto;padding-top:.55rem;display:flex}.sidebar-nav-action{color:#f7eedfb3}.sidebar-foot{z-index:40;border-top:1px solid #f7eedf1f;margin-top:0;padding:.75rem .2rem .15rem;position:relative;overflow:visible}.sidebar-user{background:0 0;border:0;border-radius:0;flex-direction:column;gap:.95rem;padding:.55rem .35rem .35rem;display:flex;position:relative;overflow:visible}.sidebar-user-top{align-items:center;gap:.7rem;min-width:0;display:flex}.sidebar-user-avatar{background:linear-gradient(145deg, var(--gold), #8a7340);color:#2a080c;letter-spacing:.02em;border:1.5px solid #f7eedf73;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:.78rem;font-weight:800;display:grid;box-shadow:0 0 0 1px #0003}.sidebar-user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.sidebar-user-meta strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.sidebar-user-meta span{color:#f7eedf9e;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-size:.62rem;font-weight:700;overflow:hidden}.sidebar-user-bottom{justify-content:flex-end;align-items:center;padding:0 .1rem;display:flex}.sidebar-settings-wrap,.sidebar-notif{position:relative;overflow:visible}.sidebar-icon-btn{color:#ffffffeb;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;padding:0;transition:background .16s,color .16s;display:inline-grid;position:relative}.sidebar-icon-btn:hover,.sidebar-icon-btn.open{color:#fff;background:#f7eedf1a}.sidebar-notif-badge{color:#fff;text-align:center;background:#c00;border:1.5px solid #5c000d;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:800;line-height:16px;position:absolute;top:-4px;right:-4px}.sidebar-notif-dropdown{z-index:80;border:1px solid var(--line);background:#fffdf9;border-radius:14px;flex-direction:column;width:min(340px,100vw - 260px);max-height:min(480px,100vh - 1.25rem);display:flex;position:absolute;bottom:0;left:calc(100% + .55rem);right:auto;overflow:hidden;box-shadow:0 14px 36px #2a080c52}.sidebar-notif-dropdown .header-notif-list{flex:1;min-height:0;max-height:min(340px,48vh)}.sidebar-settings-menu{border:1px solid var(--line);z-index:40;background:#fffdf9;border-radius:12px;min-width:180px;padding:.35rem;position:absolute;bottom:calc(100% + .45rem);left:0;box-shadow:0 12px 32px #2a080c47}.sidebar-settings-item{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.86rem;font-weight:650;display:flex}.sidebar-settings-item:hover{color:var(--brand-deep);background:#b80d3114}.sidebar-settings-item-danger{border-top:1px solid var(--line);color:var(--brand-deep);border-radius:0 0 9px 9px;margin-top:.2rem}.sidebar-menu-count{background:var(--brand);color:#fff;text-align:center;border-radius:999px;min-width:1.25rem;padding:.1rem .35rem;font-size:.68rem;font-weight:800;line-height:1.2}.help-list{color:var(--ink-soft);margin:.75rem 0 0;padding-left:1.15rem;font-size:.9rem;line-height:1.45}.help-list li+li{margin-top:.45rem}.sidebar-site{color:#fff;font-weight:700}.sidebar-sync{color:var(--gold-soft);margin-top:.25rem}.shell-topbar{z-index:20;position:sticky;top:0}.shell-topbar-inner{justify-content:space-between;align-items:flex-start;gap:1rem;width:min(1280px,100% - 2rem);margin:0 auto;padding:.75rem 0;display:flex}.topbar-title .eyebrow{margin-bottom:.15rem}.topbar-site{color:var(--ink-soft);font-size:.88rem;font-weight:600}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.header-icon-btn{width:40px;height:40px;color:var(--ink-soft);cursor:pointer;background:#fffdf9eb;border:1px solid #ab965d66;border-radius:12px;place-items:center;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-grid;position:relative}.header-icon-btn:hover,.header-icon-btn.open{color:var(--brand-deep);background:#fff;border-color:#a6192e59}.header-icon-badge{background:var(--brand);color:#fff;border:2px solid #fffdf9;border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .28rem;font-size:.62rem;font-weight:800;line-height:1;display:inline-grid;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 8px #a6192e59}.header-icon-badge-info{background:#9a5b00;box-shadow:0 2px 8px #9a5b0047}.header-notif{position:relative}.header-notif-dropdown{z-index:60;background:#fffdf9;border:1px solid #ab965d66;border-radius:16px;width:min(360px,100vw - 2rem);animation:.16s rise;position:absolute;top:calc(100% + .55rem);right:0;overflow:hidden;box-shadow:0 18px 40px #2a080c38}.header-notif-head{border-bottom:1px solid #ab965d47;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.85rem 1rem .7rem;display:flex}.header-notif-head strong{color:var(--ink);font-size:.95rem}.header-notif-head span{color:var(--muted);font-size:.72rem;font-weight:650}.header-notif-list{max-height:min(360px,50vh);padding:.35rem;overflow:auto}.header-notif-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.7rem .75rem;display:flex}.header-notif-item:hover{background:#a6192e0f}.header-notif-dot{background:var(--gold-dark);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.4rem}.header-notif-dot.critical{background:var(--crit);box-shadow:0 0 0 4px #a6192e1f}.header-notif-dot.warn{background:#9a5b00;box-shadow:0 0 0 4px #9a5b001f}.header-notif-dot.info{background:var(--gold-dark)}.header-notif-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.header-notif-copy strong{color:var(--ink);font-size:.86rem;font-weight:750}.header-notif-copy span{color:var(--muted);font-size:.75rem;line-height:1.35}.header-notif-empty{text-align:center;color:var(--muted);padding:1.25rem .85rem;font-size:.85rem;font-weight:600}.header-notif-foot{border-top:1px solid #ab965d47;justify-content:flex-end;padding:.55rem .75rem .75rem;display:flex}.header-notif-foot .btn{padding:.45rem .8rem;font-size:.78rem}.alert-pill{background:var(--crit-bg);color:var(--crit);cursor:pointer;border:1px solid #a6192e40;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex}.alert-pill-dot{background:var(--crit);border-radius:50%;width:8px;height:8px;animation:2s infinite pulseSoft}.user-chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:.65rem;padding:.35rem .4rem .35rem .35rem;display:flex}.user-avatar{background:linear-gradient(145deg, var(--brand-mid), var(--brand-deep));color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:grid}.user-meta{flex-direction:column;min-width:0;line-height:1.15;display:flex}.user-meta strong{font-size:.85rem}.user-meta span{color:var(--muted);font-size:.72rem;font-weight:600}.sign-out{padding:.45rem .75rem;font-size:.78rem}.login-page{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-hero{background:radial-gradient(800px 500px at 20% 20%, #b80d318c, transparent 55%), radial-gradient(700px 420px at 80% 80%, #ab965d47, transparent 50%), linear-gradient(160deg, #2a080c 0%, var(--brand-deep) 45%, #5c000d 100%);color:#f7eedf;align-items:flex-end;padding:2.5rem;display:flex;position:relative;overflow:hidden}.login-hero-overlay{pointer-events:none;background:repeating-linear-gradient(-18deg,#0000,#0000 18px,#f7eedf08 18px 19px);position:absolute;inset:0}.login-hero-content{z-index:1;max-width:460px;position:relative}.login-brand-mark{width:56px;height:56px;font-family:var(--font-display);background:linear-gradient(160deg, var(--brand-mid), var(--brand-deep));box-shadow:0 0 0 2px var(--gold), 0 0 0 5px #00000059;border-radius:50%;place-items:center;margin-bottom:1.25rem;font-size:1.45rem;font-weight:700;display:grid}.login-kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.login-hero h1{font-family:var(--font-display);letter-spacing:-.02em;margin:.35rem 0 0;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05}.login-tagline{color:#f7eedfd1;margin:.9rem 0 0;font-size:1.02rem;line-height:1.55}.login-points{gap:.55rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.login-points li{align-items:center;gap:.55rem;font-size:.95rem;font-weight:650;display:flex}.login-points li:before{content:"";background:var(--gold);border-radius:50%;flex-shrink:0;width:8px;height:8px}.login-panel{background:radial-gradient(700px 360px at 90% 0%, #a6192e14, transparent 55%), linear-gradient(180deg, #faf4ea, var(--paper));place-items:center;padding:2rem 1.25rem;display:grid}.login-card{background:var(--panel-solid);border-radius:calc(var(--radius) + 6px);width:min(420px,100%);box-shadow:var(--shadow);border:1px solid #ab965d59;padding:1.6rem 1.5rem 1.4rem}.login-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.25rem 0 0;font-size:2rem}.login-help{color:var(--muted);margin:.45rem 0 1.1rem;line-height:1.45}.login-form{flex-direction:column;gap:.85rem;display:flex}.login-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.linkish{color:var(--gold-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700}.linkish:hover{text-decoration:underline}.login-submit{width:100%;margin-top:.25rem;padding:.85rem 1.05rem}.login-footnote{color:var(--muted);text-align:center;margin:1.15rem 0 0;font-size:.78rem;line-height:1.4}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7eedfe0;border-bottom:1px solid #ab965d47;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1280px,100% - 2rem);margin:0 auto;padding:.85rem 0;display:flex}.brand{align-items:center;gap:.85rem;min-width:0;display:flex}.brand-mark{background:radial-gradient(circle at 35% 30%, #ffffff2e, transparent 45%), linear-gradient(160deg, var(--brand-mid), var(--brand-deep));color:#fff;width:44px;height:44px;font-family:var(--font-display);box-shadow:0 0 0 2px var(--gold), 0 0 0 4px var(--brand-deep), 0 8px 22px #73001059;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.brand-text{min-width:0}.brand-name{font-family:var(--font-display);letter-spacing:.01em;color:var(--brand);font-size:1.25rem;font-weight:700;line-height:1.1}.brand-sub{color:var(--gold-dark);letter-spacing:.02em;margin-top:.12rem;font-size:.76rem;font-weight:600}.nav{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.nav a{color:var(--ink-soft);border-radius:999px;padding:.55rem .9rem;font-size:.88rem;font-weight:600;transition:background .18s,color .18s,transform .18s}.nav a:hover{background:#1412100d;transform:translateY(-1px)}.nav a.active{background:linear-gradient(90deg, var(--brand-deep), var(--brand-mid), var(--brand-deep));color:#fffdf8;box-shadow:0 6px 16px #73001047}.page-enter{animation:.42s cubic-bezier(.22,1,.36,1) rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.55}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.6rem 0 1.1rem;display:flex}.eyebrow{color:var(--gold-dark);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:700}.page-head h1{font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(1.8rem,3vw,2.45rem);font-weight:650;line-height:1.05}.page-head p{color:var(--muted);max-width:42rem;margin:.45rem 0 0;line-height:1.45}.meta-chip{background:var(--panel);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.82rem;display:inline-flex}.meta-dot{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulseSoft;box-shadow:0 0 0 4px #42683d26}.stats{grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.1rem;display:grid}.stats-6{grid-template-columns:repeat(6,1fr)}.stats.stats-compact{gap:.55rem;margin-bottom:.75rem}.stats-compact.infra-stats{grid-template-columns:repeat(7,minmax(0,1fr))}.stats-compact .stat{box-shadow:none;padding:.55rem .7rem}.stats-compact .stat:hover{transform:none}.stats-compact .stat-label{letter-spacing:.01em;font-size:.68rem}.stats-compact .stat-value{margin-top:.15rem;font-size:1.25rem}.stats-compact .stat-note{margin-top:.15rem;font-size:.68rem}.view-toggle{border:1px solid var(--line);background:#fffcf6b8;border-radius:999px;align-items:stretch;gap:0;padding:.2rem;display:inline-flex}.view-toggle button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.8rem;font-weight:650;display:inline-flex}.view-toggle button:hover{color:var(--ink)}.view-toggle button.active{background:var(--panel);color:var(--maroon);box-shadow:0 1px 3px #1412101f}.devices-split{grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);align-items:stretch;height:min(640px,100dvh - 17.5rem);min-height:360px}.devices-table-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.devices-table-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.devices-table-panel .table-pagination{border-top:1px solid var(--line);flex-shrink:0}.devices-inspector{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.devices-inspector-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding-right:.15rem;overflow:hidden auto}.devices-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.devices-table th,.devices-table td{text-align:left;vertical-align:middle;box-sizing:border-box;padding:.8rem .85rem}.devices-table th:first-child,.devices-table td:first-child{width:18%}.devices-table th:nth-child(2),.devices-table td:nth-child(2){width:16%}.devices-table th:nth-child(3),.devices-table td:nth-child(3){width:18%}.devices-table th:nth-child(4),.devices-table td:nth-child(4){width:16%}.devices-table th:nth-child(5),.devices-table td:nth-child(5){width:12%}.devices-table th:nth-child(6),.devices-table td:nth-child(6){width:20%}.devices-table .column-filter,.devices-table .column-filter-plain{align-items:center;width:100%;max-width:100%;display:flex}.devices-table .column-filter-trigger{justify-content:flex-start;width:100%}.devices-table .trailer-id{display:block}.devices-map-canvas{border-radius:calc(var(--radius) + 2px);border:1px solid var(--line);background:linear-gradient(#a6192e0d 0%,#14121005 100%),repeating-linear-gradient(0deg,#0000,#0000 27px,#6f685c0f 27px 28px),repeating-linear-gradient(90deg,#0000,#0000 27px,#6f685c0f 27px 28px);height:min(520px,68vh);min-height:320px;position:relative;overflow:hidden}.devices-map-yard{pointer-events:none;border:1px dashed #6f685c59;border-radius:8px;position:absolute;inset:10% 7% 14% 5%}.devices-map-label{color:var(--muted);pointer-events:none;font-size:.72rem;font-weight:650;position:absolute}.devices-map-dot{cursor:pointer;border:2px solid #fffcf6f2;border-radius:50%;width:14px;height:14px;padding:0;transition:transform .14s,box-shadow .14s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #14121033}.devices-map-dot:hover,.devices-map-dot:focus-visible{z-index:2;outline:none;transform:translate(-50%,-50%)scale(1.25);box-shadow:0 0 0 3px #a6192e47}.devices-map-dot.active{border-color:var(--ink);z-index:3;width:16px;height:16px;box-shadow:0 0 0 3px #a6192e4d}.devices-map-dot.offline{opacity:.45}.infra-v2-filters{margin-bottom:1rem;padding:.85rem 1.1rem}.infra-v2-map-grid{grid-template-columns:1.45fr 1fr;align-items:stretch;gap:1rem;display:grid}.infra-v2-map-canvas{min-height:320px}.infra-v2-coverage{pointer-events:none;z-index:1;border:2px dashed;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.infra-v2-dot{z-index:2}.infra-v2-dot-health{background:var(--ok);border:1.5px solid #fffcf6;border-radius:50%;width:7px;height:7px;position:absolute;bottom:-3px;right:-3px}.infra-v2-dot-health.warn{background:var(--warn)}.infra-v2-dot-health.critical{background:var(--crit)}.infra-v2-detail{flex-direction:column;min-height:0;display:flex}.infra-v2-detail-body{max-height:34rem;padding:0 1.15rem 1.15rem;overflow:auto}.infra-v2-detail-body .eyebrow{margin-top:.85rem}.infra-v2-lower-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:1rem;margin-top:1rem;display:grid}.infra-v2-alert-row{align-items:flex-start}.infra-v2-auto-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;padding:0 1.15rem .5rem;display:grid}.infra-v2-auto-card{border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;padding:.85rem .95rem}.infra-v2-auto-card strong{font-family:var(--font-display);margin:.2rem 0 .45rem;display:block}@media (width<=1100px){.infra-v2-map-grid,.infra-v2-lower-grid{grid-template-columns:1fr}.infra-v2-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.infra-v2-auto-grid{grid-template-columns:1fr}}.devices-map-legend{flex-wrap:wrap;gap:.65rem 1rem;padding:.75rem 1.15rem 1rem;display:flex}.devices-map-legend span{color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;display:inline-flex}.devices-map-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.panel-head{justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 1.15rem .35rem;display:flex}.panel-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.15rem}.panel-head a{color:var(--gold-dark);font-size:.82rem;font-weight:700}.panel-head a:hover{text-decoration:underline}.zone-row{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.zone-pill{text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;box-shadow:var(--shadow);border-radius:16px;padding:.9rem 1rem;transition:transform .16s}.zone-pill:hover{transform:translateY(-2px)}.zone-pill span{color:var(--muted);font-size:.78rem;font-weight:700}.zone-pill strong{font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 .55rem;font-size:1.45rem;display:block}.zone-bar{background:#14121014;border-radius:999px;height:6px;overflow:hidden}.zone-bar i{background:linear-gradient(90deg, var(--gold), var(--brand));border-radius:inherit;height:100%;display:block}.tri-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.cta-strip{border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);background:linear-gradient(120deg, #a6192e14, #ab965d29), var(--panel);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.35rem;display:flex}.cta-strip h3{font-family:var(--font-display);letter-spacing:-.02em;margin:.2rem 0 0;font-size:1.25rem}.map-layout{grid-template-columns:1.7fr 1fr;align-items:start;gap:1rem;display:grid}.map-panel{background:var(--panel-solid);padding:1rem 1.1rem 1.2rem}.map-zone+.map-zone{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:1rem}.map-zone-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.map-zone-title{align-items:center;gap:.55rem;display:flex}.map-zone-head h3{font-family:var(--font-display);margin:0;font-size:1.1rem}.map-zone-head span,.map-zone-meta{color:var(--muted);font-size:.8rem}.map-zone-actions{align-items:center;gap:.65rem;display:flex}.map-zone-disabled{opacity:.62}.map-zone-disabled .slot-grid{filter:grayscale(.35)}.chip-muted{opacity:.7}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.45rem;display:grid}.slot,.dock-slot{border:1px solid var(--line-strong);cursor:pointer;min-height:58px;color:inherit;background:#ffffff8c;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:.4rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex}.slot:hover,.dock-slot:hover{transform:translateY(-1px);box-shadow:0 8px 18px #281c1214}.slot.selected,.dock-slot.selected{border-color:var(--ink);box-shadow:0 0 0 2px #1412101f}.slot-label,.dock-slot strong{color:var(--muted);font-size:.68rem;font-weight:700}.slot-unit{font-family:var(--font-mono);font-size:.78rem;font-weight:600}.slot.empty,.dock-slot.empty{opacity:.85;background:#ffffff59}.slot.ok,.dock-slot.ok{background:var(--ok-bg);border-color:#42683d47}.slot.warn,.dock-slot.warn{background:var(--warn-bg);border-color:#9a5b004d}.slot.critical,.dock-slot.critical{background:var(--crit-bg);border-color:#a6192e59}.slot.offline,.dock-slot.offline{background:var(--off-bg);border-color:#5c564e4d}.dock-grid{grid-template-columns:repeat(4,1fr);gap:.55rem;display:grid}.dock-slot{min-height:72px;padding:.7rem .75rem}.dock-slot span{font-family:var(--font-mono);font-size:.82rem;font-weight:600}.dock-ready-main{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:0;flex:1;padding:0}.dock-ready-main:hover .trailer-id{color:var(--brand)}.gate-strip{flex-wrap:wrap;gap:.5rem;display:flex}.gate-chip{background:var(--warn-bg);color:var(--warn);cursor:pointer;border:1px dashed #9a5b0073;border-radius:999px;padding:.55rem .85rem;font-size:.82rem;font-weight:700}.legend{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.78rem;font-weight:600;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.lg{border-radius:3px;width:10px;height:10px;display:inline-block}.lg.empty{background:#ddd7cc}.lg.ok{background:var(--ok)}.lg.warn{background:var(--warn)}.lg.critical{background:var(--crit)}.lg.offline{background:var(--off)}.inspector .inspector-sub{color:var(--muted);font-size:.7em;font-weight:500}.kv.compact{margin:.4rem 0 1rem;padding:0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.05rem;transition:transform .18s}.stat:hover{transform:translateY(-2px)}.stat-label{color:var(--muted);font-size:.78rem;font-weight:600}.stat-value{font-family:var(--font-display);letter-spacing:-.03em;margin-top:.35rem;font-size:2rem;font-weight:650;line-height:1}.stat-note{color:var(--ink-soft);margin-top:.4rem;font-size:.78rem}.stat.crit .stat-value{color:var(--crit)}.stat.warn .stat-value{color:var(--warn)}.stat.frost .stat-value{color:var(--frost)}.toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.9rem;display:flex}.search,.select{border:1px solid var(--line-strong);background:var(--panel-solid);color:var(--ink);border-radius:12px;outline:none;padding:.7rem .9rem}.search:read-only,.search[readonly]{color:var(--ink-soft);cursor:default;background:#f7eedf8c}.search{flex:1;min-width:min(280px,100%)}.search:focus,.select:focus{border-color:#8a74498c;box-shadow:0 0 0 3px #8a74491f}.filters{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:999px;padding:.55rem .85rem;font-size:.82rem;font-weight:650;transition:all .16s}.chip:hover{background:#1412100a}.chip.active{background:linear-gradient(90deg, var(--brand-deep), var(--brand));color:#fff;border-color:var(--brand-deep);box-shadow:0 4px 12px #a6192e40}.panel{background:var(--panel);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);overflow:hidden}.table-wrap{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:860px}th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:#fffcf7b3;padding:.95rem 1rem;font-size:.72rem;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.95rem 1rem;font-size:.92rem}tr{cursor:pointer;transition:background .14s}tr:hover td{background:#8a74490f}tr:last-child td{border-bottom:none}.trailer-cell{flex-direction:column;gap:.15rem;display:flex}.trailer-id{letter-spacing:-.01em;font-weight:750}.trailer-meta{color:var(--muted);font-size:.78rem}.mono{font-family:var(--font-mono);font-size:.86rem}.temp-cell{flex-direction:column;gap:.12rem;display:flex}.temp-main{font-family:var(--font-mono);font-size:1rem;font-weight:600}.temp-sub{color:var(--muted);font-size:.75rem}.badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.critical{background:var(--crit-bg);color:var(--crit)}.badge.offline{background:var(--off-bg);color:var(--off)}.own{text-transform:uppercase;letter-spacing:.04em;border-radius:8px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.own.bh{color:var(--brand);background:#a6192e1a}.own.carrier{color:var(--frost);background:#8a74491f}.split{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:1rem;display:grid}.split>*{min-width:0}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1rem 1.1rem;transition:background .14s;display:grid}.list-item:hover{background:#8a74490f}.list-item:last-child{border-bottom:none}.gate-await-item{justify-content:space-between;align-items:center;gap:.75rem;padding-right:.85rem;display:flex}.gate-await-main{text-align:left;cursor:pointer;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:.75rem;padding:0;display:flex}.severity{border-radius:50%;width:10px;height:10px}.severity.critical{background:var(--crit);box-shadow:0 0 0 5px #a6192e1f}.severity.warn{background:var(--warn)}.severity.offline{background:var(--off)}.severity.ok{background:var(--ok)}.story-card{background:var(--panel-solid);flex-direction:column;gap:1rem;height:100%;padding:1.25rem 1.3rem;display:flex}.story-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.45rem}.story-card p{color:var(--muted);margin:0;line-height:1.5}.compare{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.compare-box{border:1px solid var(--line);background:#ffffff8c;border-radius:14px;padding:1rem}.compare-box strong{font-family:var(--font-display);letter-spacing:-.03em;margin:.2rem 0;font-size:1.8rem;display:block}.compare-box span{color:var(--muted);font-size:.8rem}.compare-box.accent{background:linear-gradient(160deg,#a6192e14,#8a74491a);border-color:#a6192e2e}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.05rem;font-size:.88rem;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.btn:disabled,.btn:disabled:hover{opacity:1;cursor:not-allowed;box-shadow:none;pointer-events:none;filter:grayscale(.35);transform:none}.btn-primary:disabled,.btn-primary:disabled:hover,.btn-danger:disabled,.btn-danger:disabled:hover{color:#6f685c;background:#c9c2b6;border:1px solid #6f685c40}.btn-ghost:disabled,.btn-ghost:disabled:hover{color:#8a8376;background:#6f685c14;border:1px dashed #6f685c73}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(90deg, var(--brand-deep), var(--brand-mid), var(--brand-deep));color:#fff;box-shadow:0 10px 24px #a6192e47}.btn-primary:hover{background:linear-gradient(90deg, #5c000d, var(--brand), #5c000d)}.btn-danger{background:linear-gradient(90deg, #7a1422, var(--brand), #7a1422);color:#fff;box-shadow:0 10px 24px #a6192e47}.btn-danger:hover{background:linear-gradient(90deg, #5c000d, var(--brand), #5c000d)}.confirm-dialog{width:min(440px,100%)}.confirm-dialog-message{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.btn-ghost{border:1px solid var(--line-strong);color:var(--ink-soft);background:0 0}.trailers-head-actions{align-items:center}.btn-otm-sync{color:var(--ink);background:linear-gradient(#fffdf8 0%,#f3ebe0 100%);border:1px solid #8a744959;gap:.4rem;box-shadow:0 8px 20px #34302b14}.btn-otm-sync:hover:not(:disabled){background:linear-gradient(#fffefb 0%,#efe4d0 100%);border-color:#8a74498c;box-shadow:0 10px 24px #8a744929}.btn-otm-sync.is-syncing,.btn-otm-sync:disabled{filter:none;color:var(--ink-soft);background:linear-gradient(#f7f1e7 0%,#ebe2d4 100%);border-style:solid;border-color:#8a744947}.btn-otm-sync-spin{animation:.9s linear infinite otm-sync-spin}@keyframes otm-sync-spin{to{transform:rotate(360deg)}}.page-head-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.4rem;display:flex}.btn-disabled-hint{text-align:right;color:#8a8376;max-width:18rem;margin:0;font-size:.75rem;font-weight:650;line-height:1.35}.btn-enabled-hint{text-align:right;max-width:18rem;color:var(--muted);margin:0;font-size:.75rem;font-weight:650;line-height:1.35}.btn-row{flex-wrap:wrap;align-items:flex-start;gap:.55rem;margin:0;display:flex}.detail-grid{grid-template-columns:1.5fr 1fr;gap:1rem;display:grid}.hero-temp{background:linear-gradient(135deg,#a6192e14,#0000 40%),linear-gradient(#fffdf9,#f4efe6);padding:1.4rem 1.5rem 1.5rem}.hero-temp-top{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:1rem;display:flex}.hero-temp h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.2rem 0 0;font-size:clamp(1.6rem,3vw,2.1rem)}.big-temp{flex-wrap:wrap;align-items:end;gap:1rem;margin-top:1.2rem;display:flex}.big-temp .value{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(3.2rem,7vw,4.6rem);font-weight:650;line-height:.9}.big-temp .set{color:var(--muted);font-family:var(--font-mono);padding-bottom:.35rem}.spark{width:100%;height:120px;margin-top:1.3rem}.kv{grid-template-columns:1fr 1fr;gap:.75rem;padding:1.2rem;display:grid}.kv-item{border:1px solid var(--line);background:#ffffff73;border-radius:14px;padding:.85rem .95rem}.kv-item label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700;display:block}.kv-item strong{margin-top:.35rem;font-size:1rem;display:block}.note{background:var(--frost-soft);color:var(--ink-soft);border-radius:14px;margin:0 1.2rem 1.2rem;padding:.9rem 1rem;font-size:.9rem;line-height:1.45}.empty{text-align:center;color:var(--muted);padding:2.5rem 1.25rem}.back{color:var(--muted);align-items:center;gap:.35rem;margin-bottom:.35rem;font-size:.88rem;font-weight:650;display:inline-flex}.back:hover{color:var(--ink)}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:.75rem;height:auto;padding:.75rem 1rem;position:relative}.sidebar-brand{border-bottom:none;padding:0}.sidebar-nav{flex-direction:column;gap:.35rem;width:100%;overflow:visible}.sidebar-nav-scroll{flex-flow:row;gap:.3rem;padding-bottom:.15rem;overflow-x:auto}.sidebar-nav-link{flex-shrink:0;width:auto;padding:.5rem .75rem;font-size:.85rem}.sidebar-nav-actions{border-top:0;flex-direction:row;margin-top:0;padding-top:0}.sidebar-foot{border-top:1px solid #f7eedf1f;width:100%;margin-top:0;padding-top:.5rem;display:flex}.sidebar-user{width:100%}.sidebar-notif-dropdown{width:min(320px,100vw - 2rem);bottom:calc(100% + .55rem);left:auto;right:0}.stats-6,.stats-compact.infra-stats,.tri-grid,.zone-row{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}}@media (width<=960px){.login-page{grid-template-columns:1fr}.login-hero{min-height:280px;padding:1.75rem}}@media (width<=900px){.stats,.stats-6,.split,.detail-grid,.compare,.kv,.tri-grid,.zone-row,.dock-grid{grid-template-columns:1fr}.devices-split{height:auto}.devices-table-panel,.devices-inspector{height:min(520px,65dvh)}.nav{flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:.2rem;overflow-x:auto}.nav a{flex-shrink:0}.topbar-inner,.shell-topbar-inner{flex-direction:column;align-items:stretch}.user-chip{border-radius:16px;justify-content:space-between;width:100%}}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#34302b38;place-items:center;padding:1rem;animation:.2s rise;display:grid;position:fixed;inset:0}.modal-panel{background:var(--panel-solid);border-radius:calc(var(--radius) + 6px);border:1px solid #ab965d59;flex-direction:column;width:min(720px,100%);max-height:min(92vh,900px);padding:0;display:flex;overflow:hidden;box-shadow:0 24px 60px #34302b47}.modal-panel-sm{width:min(440px,100%)}.modal-panel-wide{width:min(820px,100%)}.form-error.form-warn{color:var(--ink);background:#8a74491f;border-color:#8a744959}.ble-recommend-banner{background:#f7eedfa6;border:1px solid #a6192e47;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;padding:.9rem 1.1rem;display:flex}.ble-recommend-banner .eyebrow{margin-bottom:.15rem}.playbook-steps{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.playbook-step{letter-spacing:.02em;text-transform:uppercase;color:var(--muted,#6b645a);background:0 0;border:1px solid #8a744947;padding:.15rem .4rem;font-size:.68rem}.playbook-step.done{color:#42683d;background:#42683d14;border-color:#42683d66}.playbook-step.current{color:#a6192e;background:#a6192e14;border-color:#a6192e73;font-weight:600}.modal-head{background:var(--panel-solid);z-index:2;border-bottom:1px solid #ab965d47;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.35rem .95rem;display:flex;position:sticky;top:0}.modal-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.2rem 0 0;font-size:1.55rem}.modal-close-btn{width:2.15rem;height:2.15rem;color:var(--ink-soft);cursor:pointer;background:#fff;border:1px solid #ab965d59;border-radius:10px;flex-shrink:0;place-content:center;padding:0;display:inline-grid}.modal-close-btn:hover{color:var(--bh-red);background:#a6192e0f;border-color:#a6192e66}.modal-body{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding:1rem 1.35rem;display:flex;overflow:auto}.modal-form{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex;overflow:hidden}.modal-form>.modal-body{flex:auto}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.field{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:700;display:flex}.field .search,.field .select{text-transform:none;letter-spacing:normal;color:var(--ink);width:100%;font-weight:600}.form-section{border:1px solid var(--line);background:#f7eedf8c;border-radius:14px;flex-direction:column;gap:.75rem;padding:.9rem 1rem;display:flex}.check-row{color:var(--ink-soft);text-transform:none;letter-spacing:normal;align-items:center;gap:.55rem;font-size:.92rem;font-weight:650;display:flex}.form-error{background:var(--crit-bg);color:var(--crit);border:1px solid #a6192e40;border-radius:12px;padding:.7rem .9rem;font-size:.88rem;font-weight:700}.modal-actions{background:var(--panel-solid);z-index:2;border-top:1px solid #ab965d47;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.65rem;margin:0;padding:.9rem 1.35rem 1.2rem;display:flex;position:sticky;bottom:0}.select-compact{min-width:9.5rem;padding:.4rem .55rem;font-size:.82rem}.inline-status{align-items:center;display:inline-flex}.yard-status-cell{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:9.5rem;display:flex}.yard-status-meta{line-height:1.35}.status-modal-summary{background:#f7eedf73;border:1px solid #ab965d47;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.75rem .85rem;display:flex}.device-map-list{flex-direction:column;gap:.55rem;max-height:min(48vh,360px);padding:.25rem 0;display:flex;overflow:auto}.device-map-row{background:#f7eedf73;border:1px solid #ab965d47;border-radius:12px;align-items:flex-start;padding:.65rem .75rem}.device-map-row span{flex-direction:column;gap:.2rem;display:flex}.device-map-row strong{color:var(--ink);font-weight:700}.device-map-caps{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));margin-top:.35rem;font-size:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button.linkish{text-align:left;width:100%}@media (width<=700px){.form-grid{grid-template-columns:1fr}}.role-cards{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.role-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);color:inherit;padding:1rem 1.05rem;transition:transform .16s,border-color .16s}.role-card:hover{transform:translateY(-2px)}.role-card.active{box-shadow:0 0 0 2px #a6192e1f, var(--shadow);border-color:#a6192e73}.role-card p{color:var(--muted);margin:.55rem 0 .65rem;font-size:.86rem;line-height:1.4}.role-card ul{color:var(--ink-soft);margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.45}.role-badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:8px;align-items:center;padding:.25rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.role-admin{color:var(--brand);background:#a6192e1f}.role-site_lead{color:var(--gold-dark);background:#8a74492e}.role-yard_ops{color:var(--ok);background:#42683d24}.role-qa{color:#8a1f2e;background:#a6192e14}.role-gate{color:var(--ink-soft);background:#34302b14}.role-viewer{background:var(--off-bg);color:var(--off)}.perm-list{color:var(--ink-soft);margin:0;padding-left:1.15rem;font-size:.9rem;line-height:1.5}.login-card-wide{width:min(520px,100%)}.persona-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1.1rem;display:grid}.persona-chip{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#f7eedf8c;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .7rem;display:flex}.persona-chip strong{font-size:.88rem}.persona-chip span:last-child{color:var(--muted);word-break:break-all;font-size:.72rem}.persona-chip.active{background:#a6192e0f;border-color:#a6192e66;box-shadow:0 0 0 2px #a6192e1a}@media (width<=1100px){.role-cards{grid-template-columns:1fr 1fr}}@media (width<=700px){.role-cards,.persona-grid{grid-template-columns:1fr}}.title-with-info{align-items:center;gap:.45rem;margin-top:.25rem;display:inline-flex}.title-with-info h1{margin:0;line-height:1.05}.th-with-info{align-items:center;gap:.35rem;display:inline-flex}.info-icon-btn{width:28px;height:28px;color:var(--gold-dark);cursor:pointer;background:#f7eedfe6;border:1px solid #ab965d73;border-radius:50%;flex-shrink:0;place-items:center;margin:0;padding:0;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-grid;transform:translateY(.06em)}.info-icon-btn:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(.02em)}.info-icon-btn-sm{width:22px;height:22px;transform:none}.info-icon-btn-sm:hover{transform:translateY(-1px)}.action-icon-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.action-icon-btn{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:#f7eedfd9;border:1px solid #ab965d66;border-radius:10px;flex-shrink:0;place-items:center;padding:0;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-grid}.action-icon-btn:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-1px)}.action-icon-btn:disabled{opacity:.4;cursor:not-allowed}.action-icon-btn-ok:hover:not(:disabled){background:#1f6b45;border-color:#1f6b45}.action-icon-btn-danger:hover:not(:disabled){background:var(--brand);border-color:var(--brand)}.action-icon-row .inline-status{margin:0}.action-icon-row .select-compact{min-width:8.5rem;height:34px;padding:.35rem .5rem}.role-info-panel{width:min(720px,100%)}.role-info-lead{color:var(--muted);margin:0 0 1rem;line-height:1.45}.role-info-list{flex-direction:column;gap:.75rem;display:flex}.role-info-item{border:1px solid var(--line);background:#f7eedf73;border-radius:14px;padding:.85rem 1rem}.role-info-item-head{margin-bottom:.4rem}.role-info-item p{color:var(--ink-soft);margin:0 0 .55rem;font-size:.9rem;line-height:1.45}.analytics-head-actions{flex-direction:column;align-items:flex-end;gap:.65rem;display:flex}.analytics-range{justify-content:flex-end}.analytics-hero .analytics-range .chip{background:#fffcf6e6}.analytics-hero{border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);background:radial-gradient(at 12% 20%,#a6192e1f,#0000 45%),radial-gradient(at 88% 10%,#ab965d38,#0000 40%),linear-gradient(135deg,#fffdf8 0%,#f7eedf 55%,#fff8ef 100%);border:1px solid #ab965d66;grid-template-columns:1.1fr 1.4fr;gap:1rem;margin-bottom:1rem;padding:1.35rem 1.4rem;display:grid;overflow:hidden}.analytics-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.analytics-hero-copy h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.2rem 0 0;font-size:clamp(1.45rem,2.4vw,1.9rem)}.analytics-hero-copy p{color:var(--muted);max-width:34rem;margin:.45rem 0 0;line-height:1.45}.analytics-hero-links{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.analytics-hero-links .chip{background:#fffcf6eb;border:1px solid #ab965d73;padding:.45rem .9rem;font-size:.78rem;font-weight:700}.analytics-hero-links .chip.active{background:var(--brand);border-color:var(--brand-deep);color:#fff}.analytics-stats-secondary{margin-top:-.15rem}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.65rem;display:grid}.analytics-meter{border:1px solid #ab965d59;border-top:3px solid var(--gold);background:linear-gradient(#fffcf6f2,#f7eedfb8);border-radius:4px 4px 12px 12px;grid-template-rows:auto 1fr auto;gap:.45rem;min-height:148px;padding:.7rem .65rem .65rem;display:grid}.analytics-meter.tone-brand{border-top-color:var(--brand)}.analytics-meter.tone-ok{border-top-color:#2e7d32}.analytics-meter.tone-gold{border-top-color:var(--gold)}.analytics-meter-head{justify-content:space-between;align-items:baseline;gap:.35rem;display:flex}.analytics-meter-head span{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:800}.analytics-meter-head strong{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1}.analytics-meter-track{background:repeating-linear-gradient(#0000 0 9px,#34302b0f 9px 10px),#34302b0d;border:1px solid #34302b1a;border-radius:3px;width:100%;min-height:72px;position:relative;overflow:hidden}.analytics-meter-track i{transition:height .7s;display:block;position:absolute;bottom:0;left:0;right:0}.analytics-meter.tone-brand .analytics-meter-track i{background:linear-gradient(180deg, #c42a3f, var(--brand-deep))}.analytics-meter.tone-ok .analytics-meter-track i{background:linear-gradient(#4caf50,#1b5e20)}.analytics-meter.tone-gold .analytics-meter-track i{background:linear-gradient(#d4c08a,#8a7440)}.analytics-meter p{color:var(--muted);min-height:2.1em;margin:0;font-size:.68rem;font-weight:650;line-height:1.25}.analytics-stats{margin-bottom:1rem}.analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.analytics-panel .panel-head{align-items:baseline}.panel-meta{color:var(--muted);font-size:.72rem;font-weight:650}.analytics-bars{flex-direction:column;gap:.85rem;padding:.35rem 1.15rem 1.2rem;display:flex}.analytics-bar-row{grid-template-columns:5.5rem 1fr 2rem;align-items:center;gap:.65rem;font-size:.85rem;font-weight:650;display:grid}.analytics-bar-row.rich{grid-template-columns:6.5rem 1fr 2.2rem}.analytics-bar-label{flex-direction:column;gap:.1rem;line-height:1.15;display:flex}.analytics-bar-label strong{font-size:.84rem}.analytics-bar-label span{color:var(--muted);font-size:.68rem;font-weight:600}.analytics-bar-count{text-align:right;font-variant-numeric:tabular-nums}.analytics-bar-track{background:#34302b14;border-radius:999px;height:12px;overflow:hidden}.analytics-bar-track i{background:linear-gradient(90deg, var(--gold), var(--brand));border-radius:inherit;transform-origin:0;height:100%;animation:.65s both analytics-bar-grow;display:block}@keyframes analytics-bar-grow{0%{opacity:.4;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}.analytics-pie-wrap{grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:.55rem 1.15rem 1.2rem;display:grid}.analytics-pie{flex-shrink:0;justify-self:center;width:168px;height:168px;position:relative}.analytics-pie svg{filter:drop-shadow(0 8px 14px #34302b1f);width:100%;height:100%;display:block}.analytics-pie-halo{fill:none;stroke:#ab965d47;stroke-width:1.5px;stroke-dasharray:3 4}.analytics-pie-slice{transition:opacity .16s}.analytics-pie:hover .analytics-pie-slice{opacity:.72}.analytics-pie:hover .analytics-pie-slice:hover{opacity:1}.analytics-pie-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.08rem;line-height:1.05;display:flex;position:absolute;inset:0}.analytics-pie-center strong{font-family:var(--font-display);color:var(--ink);font-size:1.55rem}.analytics-pie-center span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:800}.analytics-legend-tiles{flex-direction:column;gap:.4rem;min-width:0;display:flex}.analytics-legend-tile{background:#34302b09;border:1px solid #ab965d38;border-radius:8px;grid-template-columns:.55rem 1fr;align-items:start;gap:.5rem;padding:.45rem .55rem .55rem;display:grid;position:relative;overflow:hidden}.analytics-legend-tile>i{border-radius:2px;width:.55rem;height:.55rem;margin-top:.2rem}.analytics-legend-tile>div{flex-direction:column;gap:.12rem;min-width:0;display:flex}.analytics-legend-tile span{color:var(--ink);font-size:.78rem;font-weight:700}.analytics-legend-tile strong{font-variant-numeric:tabular-nums;align-items:baseline;gap:.35rem;font-size:.9rem;display:inline-flex}.analytics-legend-tile em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:650}.analytics-legend-tile>b{border-radius:0 2px 0 0;max-width:100%;height:3px;position:absolute;bottom:0;left:0}.analytics-split{grid-template-columns:1fr 1fr;gap:.65rem;padding:0 1.15rem .85rem;display:grid}.analytics-split-card{border:1px solid #ab965d4d;border-radius:14px;flex-direction:column;gap:.2rem;padding:.85rem .9rem;display:flex}.analytics-split-card.bh{background:linear-gradient(160deg,#a6192e1a,#fffcf6e6)}.analytics-split-card.carrier{background:linear-gradient(160deg,#ab965d29,#fffcf6e6)}.analytics-split-card span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:750}.analytics-split-card strong{font-family:var(--font-display);color:var(--ink);font-size:1.7rem;line-height:1}.analytics-split-card em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:650}.analytics-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:0 1.15rem 1.15rem;display:grid}.analytics-zone-card{text-align:left;cursor:pointer;color:inherit;font:inherit;background:#fffcf6e6;border:1px solid #ab965d47;border-radius:12px;flex-direction:column;gap:.25rem;padding:.7rem .75rem;transition:border-color .16s,transform .16s;display:flex}.analytics-zone-card:hover{border-color:#a6192e59;transform:translateY(-1px)}.analytics-zone-card span{color:var(--muted);font-size:.72rem;font-weight:750}.analytics-zone-card strong{font-variant-numeric:tabular-nums;font-size:.95rem}.analytics-mini-track{background:#34302b14;border-radius:999px;height:6px;margin-top:.15rem;overflow:hidden}.analytics-mini-track i{border-radius:inherit;background:linear-gradient(90deg, var(--gold), var(--brand));height:100%;display:block}.analytics-carrier-panel{margin-bottom:1rem}.analytics-rate-cell{flex-direction:column;gap:.35rem;min-width:5.5rem;display:flex}.analytics-insight{border-radius:calc(var(--radius) + 4px);background:linear-gradient(120deg, #a6192e14, #ab965d24), var(--panel);box-shadow:var(--shadow);border:1px solid #a6192e33;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.2rem 1.35rem;display:flex}.analytics-insight h3{font-family:var(--font-display);letter-spacing:-.02em;margin:.25rem 0 0;font-size:1.35rem}.analytics-insight p{color:var(--muted);margin:.4rem 0 0;font-size:.88rem}.reports-layout{flex-direction:column;gap:1rem;display:flex}.reports-workspace{flex-direction:column;gap:1rem;min-width:0;display:flex}.reports-toolbar{grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) minmax(140px,1fr) auto;align-items:end;gap:.75rem;margin:0;padding:0 1.15rem 1rem;display:grid}.reports-toolbar.has-custom-dates{grid-template-columns:minmax(200px,1.3fr) repeat(4,minmax(130px,1fr)) auto}.reports-field{min-width:0;margin:0}.reports-field .select,.reports-actions .btn{box-sizing:border-box;height:42px}.reports-field .select{flex:none;width:100%;min-width:0;padding:.55rem .85rem}.reports-actions{flex-direction:column;gap:.35rem;margin:0;display:flex}.reports-actions-spacer{color:#0000;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;font-size:.78rem;font-weight:700;line-height:1}.reports-actions .btn-row{flex-wrap:nowrap;gap:.55rem;margin:0}.reports-actions .btn{white-space:nowrap;padding-inline:.95rem}.reports-template-detail{background:radial-gradient(at 0 0,#a6192e0f,#0000 45%),linear-gradient(#fffcf6f2,#f7eedf8c);border:1px solid #ab965d59;border-radius:14px;margin:0 1.15rem 1.2rem;padding:1.1rem 1.15rem}.reports-template-hero{grid-template-columns:auto 1fr;align-items:start;gap:.9rem;margin-bottom:1rem;display:grid}.reports-template-icon{width:52px;height:52px;color:var(--brand);background:#a6192e1a;border-radius:14px;place-items:center;display:grid}.reports-template-hero h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.15rem 0 .35rem;font-size:1.35rem}.reports-template-hero p{color:var(--muted);max-width:44rem;margin:0;line-height:1.45}.reports-detail-meta{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:.65rem;margin-bottom:1rem;display:grid}.reports-detail-meta>div{background:#fffcf6d9;border:1px solid #ab965d47;border-radius:12px;flex-direction:column;gap:.3rem;min-width:0;min-height:4.4rem;padding:.7rem .75rem;display:flex}.reports-detail-meta span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:800}.reports-detail-meta strong{color:var(--ink);overflow-wrap:anywhere;font-size:.84rem;line-height:1.3}.reports-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.85rem;display:grid}.reports-detail-section{flex-direction:column;gap:.45rem;min-width:0;display:flex}.reports-detail-section h4{letter-spacing:.07em;text-transform:uppercase;min-height:1.1rem;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:800;line-height:1.1rem}.reports-detail-section ul{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.84rem;line-height:1.45}.reports-detail-section li+li{margin-top:.2rem}.reports-column-chips{flex-wrap:wrap;align-content:flex-start;gap:.4rem;margin:0;display:flex}.reports-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.reports-preview .panel-head{padding-inline:1.15rem}.reports-empty{text-align:left;padding:2rem 1.4rem}.reports-empty h3{font-family:var(--font-display);margin:.25rem 0 .5rem;font-size:1.35rem}.reports-empty p{color:var(--muted);max-width:36rem;margin:0;line-height:1.45}@media (width<=1100px){.analytics-hero{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.analytics-pie-wrap{grid-template-columns:1fr;justify-items:center}.analytics-pie-wrap .analytics-legend-tiles{width:100%}.reports-toolbar,.reports-toolbar.has-custom-dates{grid-template-columns:1fr 1fr}.reports-actions{grid-column:1/-1}.reports-actions .btn-row{width:100%}.reports-actions .btn{flex:1}.reports-detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-detail-grid,.reports-summary{grid-template-columns:1fr}}@media (width<=700px){.analytics-head-actions{align-items:stretch;width:100%}.analytics-kpis{grid-template-columns:1fr 1fr}}.selected-row{background:#a6192e0f}.mobile-frame{background:radial-gradient(900px 420px at 50% -10%,#a6192e14,#0000 55%),linear-gradient(#e8e8ed 0%,#d1d1d6 100%);place-items:stretch stretch;min-height:100vh;padding:0;display:grid}.mobile-app{--m-bg:#f2f2f7;--m-surface:#fff;--m-label:#1c1c1e;--m-secondary:#8e8e93;--m-tertiary:#aeaebe;--m-separator:#3c3c431f;--m-fill:#7878801f;--m-accent:#a6192e;--m-accent-soft:#a6192e1f;--m-ok:#34c759;--m-warn:#ff9f0a;--m-crit:#ff3b30;--m-radius:12px;--m-radius-lg:16px;--m-shadow:0 8px 28px #0000001f;background:var(--m-bg);width:min(402px,100%);min-height:100vh;color:var(--m-label);font-family:var(--font-ui);grid-template-rows:auto auto 1fr auto;margin:0 auto;display:grid;position:relative;overflow:hidden}@media (width>=520px){.mobile-frame{place-items:center;padding:1.5rem 1rem}.mobile-app{min-height:min(860px,100vh - 3rem);max-height:min(860px,100vh - 3rem);box-shadow:var(--m-shadow), 0 0 0 10px #1c1c1e;border:1px solid #00000014;border-radius:36px;overflow:hidden}}.m-nav{-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:.5px solid var(--m-separator);z-index:20;background:#f2f2f7db;grid-template-columns:44px 1fr 44px;align-items:center;gap:.35rem;padding:.55rem .75rem .45rem;display:grid;position:sticky;top:0}.m-nav-center{text-align:center;min-width:0}.m-nav-title{letter-spacing:-.01em;color:var(--m-label);font-size:.98rem;font-weight:700}.m-nav-sub{color:var(--m-secondary);margin-top:.05rem;font-size:.68rem;font-weight:600}.m-nav-btn{width:40px;height:40px;color:var(--m-accent);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.m-nav-btn:hover{background:var(--m-fill)}.m-status-bar{color:#9a5b00;background:#fff8e8;border-bottom:.5px solid #9a5b0026;align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.74rem;font-weight:650;display:flex}.m-status-dot{background:var(--m-warn);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #ff9f0a33}.m-status-label{font-weight:800}.m-status-sep,.m-status-detail{color:#9a5b00d9;font-weight:600}.m-status-sync{color:var(--m-accent);margin-left:auto;font-size:.68rem;font-weight:700}.mobile-main{-webkit-overflow-scrolling:touch;padding:.35rem 0 1rem;overflow:auto}.m-tabbar{padding:.35rem .25rem calc(.4rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--m-separator);z-index:20;background:#f9f9f9eb;grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:sticky;bottom:0}.m-tab{color:var(--m-secondary);letter-spacing:-.01em;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;min-height:48px;padding:.3rem .15rem;font-size:.62rem;font-weight:650;text-decoration:none;transition:color .14s,transform .14s;display:flex}.m-tab .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24}.m-tab.active{color:var(--m-accent)}.m-tab.active .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.m-tab:active{transform:scale(.96)}.m-screen{padding:.15rem 1rem 1.25rem}.m-large-title{margin:.15rem 0 1rem}.m-large-title h1{font-family:var(--font-ui);letter-spacing:-.035em;color:var(--m-label);margin:0;font-size:2rem;font-weight:800;line-height:1.1}.m-greeting{color:var(--m-secondary);margin:0 0 .2rem;font-size:.82rem;font-weight:650}.m-subtitle{color:var(--m-secondary);margin:.4rem 0 0;font-size:.9rem;font-weight:500;line-height:1.35}.m-hero-actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1.15rem;display:grid}.m-btn{letter-spacing:-.01em;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;min-height:48px;padding:.7rem .9rem;font-family:inherit;font-size:.92rem;font-weight:700;transition:transform .12s,opacity .12s;display:inline-flex}.m-btn:active{opacity:.92;transform:scale(.98)}.m-btn-primary{background:var(--m-accent);color:#fff;box-shadow:0 6px 16px #a6192e47}.m-btn-secondary{background:var(--m-surface);color:var(--m-accent);border:.5px solid var(--m-separator);box-shadow:0 1px #0000000a}.m-btn-sm{border-radius:10px;flex:1;min-height:36px;padding:.45rem .75rem;font-size:.8rem}.m-section{margin-bottom:1.15rem}.m-section-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.m-section-label{letter-spacing:-.01em;text-transform:none;color:var(--m-secondary);margin:0 0 .45rem .35rem;font-size:.78rem;font-weight:700}.m-link{color:var(--m-accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.84rem;font-weight:700}.m-link-center{text-align:center;grid-column:1/-1;margin-top:.15rem}.m-stat-row{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.m-stat{background:var(--m-surface);border-radius:var(--m-radius);text-align:left;cursor:pointer;color:inherit;font:inherit;border:0;flex-direction:column;gap:.2rem;padding:.7rem .45rem;display:flex;box-shadow:0 1px #00000008}.m-stat span{color:var(--m-secondary);font-size:.65rem;font-weight:650}.m-stat strong{letter-spacing:-.03em;font-size:1.2rem;font-weight:800}.m-stat-alert strong{color:var(--m-crit)}.m-inset-group{background:var(--m-surface);border-radius:var(--m-radius-lg);overflow:hidden;box-shadow:0 1px #00000008}.m-row{text-align:left;width:100%;color:inherit;font:inherit;border:0;border-bottom:.5px solid var(--m-separator);background:0 0;align-items:center;gap:.7rem;padding:.75rem .9rem;display:flex}.m-inset-group>.m-row:last-child,.m-inset-group>.m-alert-block:last-child,.m-inset-group>.m-empty:last-child{border-bottom:0}.m-row-btn{cursor:pointer}.m-row-btn:active{background:var(--m-fill)}.m-row-icon{background:var(--m-fill);width:34px;height:34px;color:var(--m-label);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.m-row-icon.tone-warn{color:#c77700;background:#ff9f0a29}.m-row-icon.tone-ok{color:#248a3d;background:#34c75924}.m-row-body{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.m-row-body strong{letter-spacing:-.015em;font-size:.95rem;font-weight:700}.m-row-body span{color:var(--m-secondary);font-size:.78rem;font-weight:500}.m-row-value{color:var(--m-secondary);flex-shrink:0;font-size:.82rem;font-weight:650}.m-row-action{color:var(--m-accent);font-size:.8rem;font-weight:700}.m-chevron{color:var(--m-tertiary)!important}.m-priority{background:var(--m-ok);border-radius:50%;flex-shrink:0;width:10px;height:10px}.m-priority.warn{background:var(--m-warn)}.m-priority.critical{background:var(--m-crit)}.m-priority.offline{background:var(--m-secondary)}.m-priority.info{background:#007aff}.m-empty{text-align:center;color:var(--m-secondary);padding:1.1rem .9rem;font-size:.86rem;font-weight:600}.m-segmented{background:var(--m-fill);border-radius:11px;grid-template-columns:repeat(3,1fr);gap:.2rem;margin-bottom:.9rem;padding:.2rem;display:grid}.m-segmented button{color:var(--m-label);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.5rem .35rem;font-size:.82rem;font-weight:700}.m-segmented button.active{background:var(--m-surface);box-shadow:0 1px 3px #0000001f}.m-search-field{background:var(--m-fill);color:var(--m-secondary);border-radius:12px;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:.65rem .8rem;display:flex}.m-search-field input{font:inherit;color:var(--m-label);background:0 0;border:0;outline:0;flex:1;font-size:.95rem;font-weight:500}.m-scan-stage{color:#ffffffb8;text-align:center;background:radial-gradient(circle at 50% 45%,#a6192e1a,#0000 55%),linear-gradient(#1c1c1e,#2c2c2e);border-radius:22px;place-items:center;min-height:210px;margin-bottom:.9rem;padding:1.25rem;font-weight:650;display:grid;position:relative;overflow:hidden}.m-scan-reticle{border:2px solid #ffffffd9;border-radius:18px;width:140px;height:140px;animation:2.4s ease-in-out infinite m-scan-pulse;position:absolute;box-shadow:0 0 0 1px #a6192e59}@keyframes m-scan-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.m-pill{background:var(--m-fill);color:var(--m-secondary);border-radius:999px;align-items:center;gap:.35rem;margin-bottom:.85rem;padding:.4rem .7rem;font-size:.76rem;font-weight:700;display:inline-flex}.m-pill-warn{color:#9a5b00;background:#fff8e8}.m-form-group .m-form-row,.m-form-group .m-toggle-row{border-bottom:.5px solid var(--m-separator)}.m-form-row{justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.75rem .9rem;display:flex}.m-form-row span{color:var(--m-label);flex-shrink:0;font-size:.92rem;font-weight:600}.m-form-row input,.m-form-row select{text-align:right;font:inherit;color:var(--m-secondary);background:0 0;border:0;outline:0;min-width:0;max-width:60%;font-size:.95rem;font-weight:500}.m-form-row-stack{flex-direction:column;align-items:stretch}.m-form-row-stack input{text-align:left;max-width:none;color:var(--m-label);margin-top:.35rem}.m-toggle-row{justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.75rem .9rem;font-size:.92rem;font-weight:600;display:flex}.m-switch{appearance:none;cursor:pointer;background:#e9e9ea;border-radius:999px;flex-shrink:0;width:51px;height:31px;transition:background .16s;position:relative}.m-switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.m-switch:checked{background:var(--m-ok)}.m-switch:checked:after{transform:translate(20px)}.m-toast-hint{color:#248a3d;grid-column:1/-1;justify-content:center;align-items:center;gap:.35rem;margin:0;font-size:.82rem;font-weight:700;display:inline-flex}.m-alert-block{border-bottom:.5px solid var(--m-separator)}.m-alert-block .m-row{border-bottom:0}.m-alert-actions{gap:.45rem;padding:0 .9rem .8rem;display:flex}.m-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.4rem;margin-bottom:.85rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.m-chip{background:var(--m-surface);color:var(--m-label);font:inherit;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:.45rem .8rem;font-size:.8rem;font-weight:700;box-shadow:0 1px #0000000a}.m-chip.active{background:var(--m-accent);color:#fff}.m-slot-grid{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.m-slot{aspect-ratio:1;background:var(--m-surface);cursor:pointer;font:inherit;color:inherit;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;display:flex;box-shadow:0 1px #0000000a}.m-slot-label{color:var(--m-secondary);font-size:.62rem;font-weight:700}.m-slot-unit{letter-spacing:-.02em;font-size:.78rem;font-weight:800}.m-slot.empty{opacity:.55}.m-slot.ok{background:#34c7591f}.m-slot.warn{background:#ff9f0a29}.m-slot.critical{background:#ff3b3024;box-shadow:0 0 0 1.5px #ff3b3073}.m-slot.offline{background:#8e8e9329}.m-footnote{color:var(--m-secondary);margin:.85rem .2rem 0;font-size:.78rem;line-height:1.4}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0;display:block}.sidebar-logo{box-shadow:0 0 0 2px #ab965da6}.login-brand-logo{box-shadow:0 0 0 2px var(--gold), 0 0 0 5px #00000040;border-radius:12px;margin-bottom:1.1rem}.login-card-brand{justify-content:center;margin-bottom:.85rem;display:flex}.db-boot{text-align:center;min-height:100vh;color:var(--ink);background:radial-gradient(700px 360px at 50% 0%, #a6192e1a, transparent 55%), linear-gradient(180deg, #faf4ea, var(--paper));place-content:center;gap:.85rem;padding:2rem;display:grid}.db-boot-logo{object-fit:contain;width:72px;height:72px;box-shadow:0 0 0 2px var(--gold);background:#fff;border-radius:12px;margin:0 auto}.db-boot p{color:var(--muted);margin:0;font-weight:650}.db-boot h1{font-family:var(--font-display);margin:0}.snackbar-stack{z-index:70;pointer-events:none;flex-direction:column;gap:.6rem;max-width:min(360px,100vw - 2.5rem);display:flex;position:fixed;top:5.25rem;right:1.25rem}.snackbar{pointer-events:auto;background:#fff;border:1px solid #ab965d73;border-radius:12px;align-items:center;gap:.65rem;padding:.75rem .95rem;animation:.22s snackbar-in;display:flex;box-shadow:0 10px 28px #281c122e}.snackbar-success{border-color:#2e7d3273}.snackbar-error{border-color:#a6192e73}.snackbar-info{border-color:#ab965d73}.snackbar-icon{border-radius:50%;flex-shrink:0;place-content:center;width:1.5rem;height:1.5rem;font-size:.85rem;font-weight:750;display:grid}.snackbar-success .snackbar-icon{color:#2e7d32;background:#2e7d321f}.snackbar-error .snackbar-icon{color:var(--bh-red);background:#a6192e1f}.snackbar-info .snackbar-icon{color:var(--gold);background:#ab965d2e}.snackbar-message{flex:1;font-size:.9rem;font-weight:600}.snackbar-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.15rem .35rem;font-size:1.15rem;line-height:1}@keyframes snackbar-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.table-pagination{background:#f7eedf59;border-top:1px solid #ab965d47;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;display:flex}.table-pagination-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.table-pagination-meta{color:var(--muted);font-size:.84rem;font-weight:600}.table-pagination-size{color:var(--muted);align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;display:inline-flex}.pagination-size-select{min-width:4.5rem;padding:.35rem .5rem;font-size:.82rem}.table-pagination-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pagination-btn{padding:.4rem .75rem;font-size:.82rem}.pagination-numbers{align-items:center;gap:.25rem;display:flex}.pagination-page-btn{min-width:2rem;height:2rem;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #ab965d59;border-radius:8px;padding:0 .45rem;font-size:.82rem;font-weight:650}.pagination-page-btn:hover:not(.active){background:#f7eedfa6;border-color:#a6192e59}.pagination-page-btn.active{border-color:var(--bh-red);color:var(--bh-red);background:#a6192e1a}.pagination-ellipsis{text-align:center;min-width:1.5rem;color:var(--muted);-webkit-user-select:none;user-select:none;font-weight:700}.column-filter{max-width:100%;display:inline-flex;position:relative}.column-filter-right{justify-content:flex-end;width:100%}.column-filter-trigger{max-width:100%;color:inherit;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-weight:700;display:inline-flex}.column-filter-trigger:hover,.column-filter-trigger.open,.column-filter-trigger.active{color:var(--bh-red)}.column-filter-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-filter-icon{width:1.1rem;height:1.1rem;color:var(--muted);border-radius:4px;flex-shrink:0;place-content:center;display:inline-grid}.column-filter-trigger.active .column-filter-icon,.column-filter-trigger.open .column-filter-icon{color:var(--bh-red);background:#a6192e14}.column-filter-panel{z-index:40;background:#fff;border:1px solid #ab965d66;border-radius:12px;flex-direction:column;gap:.35rem;width:min(240px,70vw);max-height:min(320px,50vh);padding:.55rem;display:flex;position:absolute;top:calc(100% + .45rem);left:0;box-shadow:0 12px 28px #281c1229}.column-filter-right .column-filter-panel{left:auto;right:0}.column-filter-search{width:100%;padding:.45rem .6rem;font-size:.84rem}.column-filter-options{flex-direction:column;gap:.15rem;max-height:240px;display:flex;overflow:auto}.column-filter-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.45rem .55rem;font-size:.86rem;font-weight:600;display:block}.column-filter-option:hover{background:#f7eedfd9}.column-filter-option.selected{color:var(--bh-red);background:#a6192e1a}.column-filter-empty{color:var(--muted);padding:.5rem .55rem;font-size:.84rem}.column-filter-plain{letter-spacing:.04em;text-transform:uppercase;font-weight:700}.table-wrap thead th{position:relative;overflow:visible}.table-wrap-filters{overflow:auto clip}.insights-page .insights-section{margin-bottom:1.1rem}.insights-section-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.insights-section-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.15rem}.insights-section-head span{color:var(--muted);font-size:.72rem;font-weight:700}.insights-playbook{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.insights-play-step{text-align:left;background:var(--panel-solid);cursor:pointer;border:1px solid #ab965d52;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.85rem .95rem;transition:border-color .15s,transform .15s;display:grid}.insights-play-step:hover{border-color:#a6192e73;transform:translateY(-1px)}.insights-play-step>strong{background:var(--brand);color:#fff;border-radius:8px;place-content:center;width:1.7rem;height:1.7rem;font-size:.8rem;display:grid}.insights-play-step span{color:var(--ink);font-size:.86rem;font-weight:750;display:block}.insights-play-step em{color:var(--muted);margin-top:.15rem;font-size:.72rem;font-style:normal;font-weight:650;display:block}.insights-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.insights-list-item.static{cursor:default}.insights-list-item.static:hover{background:0 0}.insights-rank{min-width:1.5rem;color:var(--muted);font-weight:800}.insights-zone-badge{min-width:2.2rem;height:2rem;color:var(--brand);background:#a6192e1a;border-radius:8px;place-content:center;font-size:.72rem;font-weight:800;display:grid}.insights-score-bar{background:#34302b14;border-radius:999px;height:4px;margin-top:.35rem;overflow:hidden}.insights-score-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--gold), var(--brand));height:100%;display:block}.insights-score-bar i.hot{background:linear-gradient(90deg, #c6952a, var(--brand))}.insights-move-time{min-width:3.4rem;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.insights-secondary{grid-template-columns:1.1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.insights-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:.35rem 1.15rem 1.15rem;display:grid}.insights-product-card{background:#fffcf6d9;border:1px solid #ab965d47;border-radius:10px;flex-direction:column;gap:.15rem;padding:.7rem .75rem;display:flex}.insights-product-card span{color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25}.insights-product-card strong{font-family:var(--font-display);color:var(--ink);font-size:1.25rem}.insights-product-card em{color:#2e7d32;font-size:.68rem;font-style:normal;font-weight:700}.insights-product-card em.risk{color:var(--brand)}@media (width<=1200px){.insights-playbook,.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.insights-playbook,.insights-grid,.insights-secondary,.insights-product-grid{grid-template-columns:1fr}}.gate-lanes-section{border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg, #a6192e0d, #ab965d14), var(--panel-solid);box-shadow:var(--shadow);border:1px solid #ab965d52;margin-bottom:1rem;padding:1rem 1.15rem 1.15rem}.gate-lanes-head{border:0;margin-bottom:.85rem;padding:0}.gate-lane-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.gate-lane-card{border:1px solid #ab965d52;border-top:3px solid var(--brand);background:#fffcf6eb;border-radius:12px;flex-direction:column;gap:.45rem;padding:.9rem .95rem;display:flex}.gate-lane-card.dir-out{border-top-color:var(--gold)}.gate-lane-card.dir-both{border-top-color:#2e7d32}.gate-lane-card.inactive{opacity:.72;background:#34302b0a;border-top-color:#34302b59}.gate-lane-card-top{justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.gate-lane-card-top strong{font-family:var(--font-display);color:var(--ink);font-size:1.05rem;display:block}.gate-lane-dir{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:.15rem;font-size:.68rem;font-weight:750;display:block}.gate-lane-card>p{color:var(--muted);min-height:2.2em;margin:0;font-size:.8rem;line-height:1.35}.gate-lane-meta{color:var(--muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.72rem;font-weight:650;display:flex}@media (width<=1000px){.gate-lane-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.gate-lane-grid{grid-template-columns:1fr}}.page-tabs{background:#fffcf6bf;border:1px solid #ab965d47;border-radius:12px;flex-wrap:wrap;gap:.4rem;width:fit-content;max-width:100%;margin:0 0 1rem;padding:.3rem;display:flex}.page-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.84rem;font-weight:750;display:inline-flex}.page-tab em{font-variant-numeric:tabular-nums;color:var(--muted);background:#34302b14;border-radius:999px;padding:.1rem .4rem;font-size:.72rem;font-style:normal;font-weight:800}.page-tab:hover{color:var(--ink);background:#ab965d1f}.page-tab.active{color:var(--ink);background:#fff;border-color:#a6192e47;box-shadow:0 1px 3px #34302b14}.page-tab.active em{color:var(--brand);background:#a6192e1a}.gate-lane-row-inactive td{opacity:.72}.ui-tip{vertical-align:middle;align-items:center;max-width:100%;display:inline-flex;position:relative}.ui-tip-btn{display:inline-flex}.ui-tip:after{content:attr(data-tooltip);color:#fff8ef;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;z-index:90;background:#2a2622;border-radius:8px;max-width:min(240px,70vw);padding:.35rem .55rem;font-size:.72rem;font-weight:650;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 8px 20px #00000038}.ui-tip:before{content:"";opacity:0;pointer-events:none;z-index:91;border:6px solid #0000;border-top-color:#2a2622;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)translateY(4px)}.ui-tip:hover:after,.ui-tip:hover:before,.ui-tip:focus-within:after,.ui-tip:focus-within:before{opacity:1;transform:translate(-50%)translateY(0)}.ui-tip-below:after{top:calc(100% + 8px);bottom:auto;transform:translate(-50%)translateY(-4px)}.ui-tip-below:before{border-top-color:#0000;border-bottom-color:#2a2622;top:calc(100% + 2px);bottom:auto;transform:translate(-50%)translateY(-4px)}.ui-tip-below:hover:after,.ui-tip-below:hover:before,.ui-tip-below:focus-within:after,.ui-tip-below:focus-within:before{transform:translate(-50%)translateY(0)}.ui-tip-disabled{cursor:not-allowed}.ui-tip-disabled>.btn:disabled,.ui-tip-disabled>.action-icon-btn:disabled,.ui-tip-disabled>.modal-close-btn:disabled,.ui-tip-disabled>.pagination-btn:disabled{pointer-events:none}.global-action-tip{z-index:4000;color:#fff8ef;letter-spacing:.01em;white-space:normal;text-align:center;pointer-events:none;background:#2a2622;border-radius:8px;max-width:min(320px,85vw);padding:.4rem .6rem;font-size:.74rem;font-weight:650;line-height:1.35;animation:.12s global-tip-in;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 24px #00000047}.global-action-tip-below{transform:translate(-50%,10px)}@keyframes global-tip-in{0%{opacity:0}to{opacity:1}}.ui-tip:before,.ui-tip:after{content:none!important;display:none!important}.telemetry-explorer{flex-direction:column;gap:.75rem;margin-top:.85rem;display:flex}.telemetry-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;display:flex}.telemetry-range,.telemetry-view{margin:0}.telemetry-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.telemetry-custom .field{margin:0}.telemetry-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.telemetry-summary>div{background:#fffcf6d9;border:1px solid #ab965d47;border-radius:10px;flex-direction:column;gap:.15rem;padding:.55rem .65rem;display:flex}.telemetry-summary span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:750}.telemetry-summary strong{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem}.telemetry-chart-wrap{background:#fffcf6e6;border:1px solid #ab965d47;border-radius:12px;padding:.55rem .45rem .35rem}.telemetry-chart{width:100%;height:auto;display:block}.telemetry-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem;padding:.15rem .55rem .45rem;font-size:.72rem;font-weight:650;display:flex}.telemetry-legend span{align-items:center;gap:.35rem;display:inline-flex}.telemetry-legend i{border-radius:999px;width:.7rem;height:.7rem;display:inline-block}.telemetry-legend i.setpoint{background:repeating-linear-gradient(90deg,#ab965d 0 4px,#0000 4px 7px);border-radius:0;width:1rem;height:2px}.telemetry-table-wrap{border:1px solid #ab965d47;border-radius:12px;max-height:320px;overflow:auto}.telemetry-table-wrap table{margin:0}@media (width<=800px){.telemetry-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-custom{grid-template-columns:1fr}}.smart-workflow{margin-bottom:0}.devices-overview{background:var(--panel-solid);margin-bottom:1.1rem}.devices-overview .stats{gap:.65rem;margin:0;padding:0 1rem 1rem}.devices-overview .stat{box-shadow:none;background:#f7eedf8c}.devices-overview .stat:hover{transform:none}.capability-checklist{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.2rem .75rem;margin:.15rem 0 0;padding:0;font-size:.88rem;font-weight:500;list-style:none;display:grid}.capability-checklist li{align-items:center;gap:.4rem;display:flex}.capability-checklist .cap-on{color:var(--ink)}.capability-checklist .cap-off{color:var(--muted)}.capability-checklist span[aria-hidden=true]{text-align:center;width:1rem;font-size:.85rem}.capability-picker{gap:.45rem;margin-top:.4rem;display:grid}.capability-option{border:1px solid var(--line);cursor:pointer;background:var(--panel,#fff);border-radius:10px;align-items:flex-start;gap:.65rem;padding:.55rem .7rem;display:flex}.capability-option input{margin-top:.2rem}.capability-option strong{font-size:.9rem;display:block}.capability-option .trailer-meta{margin-top:.15rem;display:block}.device-id-label{border-bottom:1px solid var(--line);flex-direction:column;gap:.2rem;margin:0 0 .85rem;padding-bottom:.75rem;display:flex}.device-id-label strong{letter-spacing:.02em;font-size:1.15rem}.smart-workflow+.stats{margin-top:0}.smart-workflow-steps{flex-wrap:wrap;gap:.5rem;margin:0;padding:0 1rem 1rem;list-style:none;display:flex}.smart-workflow-step{border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.82rem;display:flex}.smart-workflow-step strong{background:#8a74491f;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-size:.72rem;display:inline-grid}.smart-workflow-step.active{border-color:var(--brand);color:var(--ink);background:#a6192e0f}.smart-workflow-step.done{color:var(--ink-soft)}.smart-lifecycle.btn-row{flex-wrap:wrap;gap:.35rem}.smart-lifecycle.btn-row .btn{padding:.35rem .65rem;font-size:.78rem}.map-panel-geofence{border:1px solid var(--line)}.ble-anchor-strip{flex-wrap:wrap;gap:.35rem;padding:0 .15rem .55rem;display:flex}.ble-anchor-chip{letter-spacing:.02em;border:1px solid var(--line);color:var(--muted);background:#fffcf6b3;border-radius:4px;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.ble-anchor-chip.online{color:var(--ok);border-color:#0d948859}.ble-anchor-chip.degraded{color:var(--warn);border-color:#b4782866}.ble-anchor-chip.offline{color:var(--critical);opacity:.75}@keyframes gpsPulse{0%,to{box-shadow:0 0 #0d94884d}50%{box-shadow:0 0 0 4px #0d94881f}}.slot.gps-live,.dock-slot.gps-live{border-color:#0d948873;animation:2.5s ease-in-out infinite gpsPulse}.gps-ble-panel{background:var(--panel-solid);margin-top:1rem}.map-layout .gps-ble-panel{grid-column:1/-1;margin-top:0}.gps-ble-body{padding:0 1.15rem 1.15rem}.gps-geofence-note{color:var(--muted);max-width:52rem;margin:0 0 .75rem;font-size:.86rem;line-height:1.45}.gps-ble-actions{margin:0 0 1rem}.gps-ble-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.85rem;display:grid}.gps-ble-block{border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.gps-ble-block-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:#faf6ee;flex-shrink:0;align-items:center;min-height:2.5rem;margin:0;padding:.7rem .85rem;font-size:.68rem;font-weight:800;line-height:1.3;display:flex}.gps-ble-block .list{background:var(--panel-solid);flex:1;margin:0}.gps-ble-block .list-item{cursor:default;background:0 0;grid-template-columns:.55rem minmax(0,1fr);align-items:flex-start;gap:.65rem;min-height:3.35rem;padding:.65rem .85rem}.gps-ble-block .list-item:hover{background:#8a74490a}.gps-ble-block .list-item .priority{margin-top:.35rem}.gps-ble-row-copy{min-width:0}.gps-ble-row-copy .trailer-id{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gps-ble-row-copy .trailer-meta{white-space:normal;overflow-wrap:anywhere}.gps-ble-empty{color:var(--muted);background:var(--panel-solid);padding:.85rem;font-size:.84rem;line-height:1.4}.gps-live-row.static{cursor:default}.insights-ai-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;display:grid}.insights-ai-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;gap:.45rem;padding:.95rem 1rem;display:flex}.insights-ai-card.tone-critical{background:#a6192e0a;border-color:#a6192e59}.insights-ai-card.tone-warn{background:#9a5b000a;border-color:#9a5b0059}.insights-ai-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.insights-ai-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.insights-ai-card strong{font-family:var(--font-display);font-size:1rem;line-height:1.3}.insights-ai-card p{color:var(--muted);flex:1;margin:0;font-size:.86rem;line-height:1.4}.insights-ai-card .btn{align-self:flex-start;margin-top:.25rem}.insights-future-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.insights-future-card{border:1px solid var(--line);background:#fffcf6a6;border-radius:14px;padding:.9rem 1rem}.insights-future-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem;display:flex}.insights-future-head strong{font-family:var(--font-display);font-size:.98rem}.insights-future-card p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.4}.stats-smart{grid-template-columns:repeat(5,1fr);margin-bottom:1rem}.analytics-smart-stats{margin-top:.25rem}.meta-dot.offline{background:var(--warn);box-shadow:0 0 0 4px #9a5b0026}.mobile-banner-offline{flex-direction:row;align-items:flex-start}.mobile-banner-copy{flex-direction:column;gap:.1rem;display:flex}.mobile-banner-copy strong{font-size:.82rem}.mobile-banner-copy span{opacity:.9;font-size:.76rem;font-weight:600}.mobile-offline-strip{background:#fffcf6eb;border-bottom:1px solid #ab965d40;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;padding:.5rem .75rem;font-size:.68rem;display:grid}.mobile-offline-item{flex-direction:column;gap:.15rem;min-width:0;display:flex}.mobile-offline-item span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.mobile-offline-item strong{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:800;overflow:hidden}.mobile-offline-panel .panel-head h2{font-size:1rem}.mobile-offline-kv{padding:.25rem 0 0}@media (width<=1200px){.gps-ble-grid{grid-template-columns:1fr 1fr}.stats-smart{grid-template-columns:repeat(3,1fr)}.mobile-offline-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.gps-ble-grid,.insights-ai-grid,.insights-future-grid{grid-template-columns:1fr}.stats-smart{grid-template-columns:repeat(2,1fr)}.mobile-offline-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.shell-topbar-hidden{display:none}.ops-dash{padding-bottom:1.5rem}.ops-dash-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.35rem 0 .25rem;display:flex}.ops-console-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.85rem,3.2vw,2.55rem);font-weight:650;line-height:1.05}.ops-console-meta{color:var(--ink-soft);margin:.35rem 0 0;font-size:.88rem;font-weight:600}.ops-dash-tools{align-items:center;gap:.55rem;display:flex}.ops-search-wrap{position:relative}.ops-search{border:1px solid var(--line-strong);background:var(--panel-solid);width:min(280px,72vw);height:42px;color:var(--ink);border-radius:999px;padding:0 1rem;box-shadow:0 6px 18px #34302b0f}.ops-search::placeholder{color:var(--muted)}.ops-search:focus{border-color:#a6192e59;outline:2px solid #a6192e40}.ops-search-results{z-index:30;background:var(--panel-solid);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow:hidden}.ops-search-hit{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.7rem .9rem;display:flex}.ops-search-hit:hover{background:#a6192e0f}.ops-search-hit strong{font-size:.9rem}.ops-search-hit span,.ops-search-empty{color:var(--muted);font-size:.78rem}.ops-search-empty{padding:.85rem .9rem}.ops-dash-head{padding:.85rem 0 1.05rem}.ops-dash-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:650;line-height:1.1}.ops-dash-head p{max-width:44rem;color:var(--muted);margin:.4rem 0 0;line-height:1.45}.ops-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1.05rem;display:grid}.ops-kpi{background:#fff;border:1px solid #e4ddd0;border-radius:14px;min-height:118px;padding:1.05rem 1.1rem 1rem;position:relative;overflow:hidden;box-shadow:0 8px 22px #34302b0d}.ops-kpi.compact{min-height:0;padding:.9rem .95rem}.ops-kpi-label{color:#8a8378;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.ops-kpi-value{font-family:var(--font-display);letter-spacing:-.03em;color:#6e0012;margin-top:.55rem;font-size:2.15rem;font-weight:700;line-height:1}.ops-kpi-note{color:#7a7164;margin-top:.55rem;font-size:.8rem;font-style:italic;line-height:1.3}.ops-kpi-badge{color:#fff;background:#c00;border-bottom-left-radius:8px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:0;right:0}.ops-kpi-alert{border-color:#c00;box-shadow:0 8px 22px #cc000014}.ops-kpi-alert .ops-kpi-label,.ops-kpi-alert .ops-kpi-value,.ops-kpi-alert .ops-kpi-note{color:#c00}.ops-kpi-warn{border-color:#d2c3a0}.ops-kpi-warn .ops-kpi-value{color:#6e5a2f}.ops-zone-band{grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-items:stretch;gap:.85rem;margin-bottom:1.05rem;display:grid}.ops-zone-panel{background:#fff;border:1px solid #ecdde1;border-radius:16px;margin-bottom:.85rem;padding:1rem 1.15rem 1.15rem;box-shadow:0 8px 22px #34302b0a}.ops-zone-panel .ops-section-head{margin-bottom:.95rem}.ops-zone-panel .ops-section-head h3{color:#4a0415}.ops-zone-panel .ops-section-head a{color:#6e0012}.ops-zone-main{border:1px solid var(--line);background:#fffef9;border-radius:16px;padding:.95rem 1.05rem 1.1rem;box-shadow:0 10px 28px #34302b0d}.ops-zone-side{gap:.75rem;display:grid}.ops-kpi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.05rem}.ops-kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ops-kpi-grid-coverage{grid-template-columns:repeat(6,minmax(0,1fr))}.ops-section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.85rem;display:flex}.ops-section-head.inset{margin-bottom:0;padding:1rem 1.15rem .2rem}.ops-section-head h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.12rem}.ops-section-head a{color:var(--gold-dark);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:750}.ops-section-head a:hover{text-decoration:underline}.ops-zone-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 1.35rem;display:grid}.ops-zone-grid-extra{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-zone-divider{background:#ecdde1;height:1px;margin:1rem 0 .95rem}.ops-zone-item{text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;padding:0}.ops-zone-item-top{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.ops-zone-name{color:var(--ink);font-size:.9rem;font-weight:600}.ops-zone-count{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.ops-zone-track{background:#eceaea;border-radius:999px;height:10px;overflow:hidden}.ops-zone-track i{border-radius:inherit;min-width:0;height:100%;display:block}.ops-zone-track.tone-maroon i{background:#6e0012}.ops-zone-track.tone-olive i{background:#3f4634}.ops-zone-card{text-align:left;cursor:pointer;background:0 0;border:0;padding:.35rem .15rem}.ops-zone-card-top{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;display:flex}.ops-zone-card-top span{color:var(--muted);font-size:.78rem;font-weight:700}.ops-zone-card-top strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem}.ops-zone-bar{background:#34302b14;border-radius:999px;height:8px;overflow:hidden}.ops-zone-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--brand-deep), var(--brand));height:100%;display:block}.ops-panel{border:1px solid var(--line);background:#fffef9;border-radius:16px;margin-bottom:1.05rem;overflow:hidden;box-shadow:0 10px 28px #34302b0d}.ops-alert-list,.ops-feed-list{flex-direction:column;display:flex}.ops-alert-row,.ops-feed-row{border:0;border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1.15rem;text-decoration:none;display:grid}.ops-alert-list>.ops-alert-row:first-child,.ops-feed-list>.ops-feed-row:first-child{border-top:0}.ops-alert-row:hover,.ops-feed-row:hover{background:#a6192e0a}.ops-alert-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.ops-alert-dot.critical{background:var(--brand);box-shadow:0 0 0 3px #a6192e2e}.ops-alert-dot.warn{background:var(--gold-dark);box-shadow:0 0 0 3px #8a74492e}.ops-alert-dot.info{background:var(--ok);box-shadow:0 0 0 3px #42683d29}.ops-alert-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.ops-alert-copy strong{font-size:.92rem;font-weight:700}.ops-alert-copy span{color:var(--muted);font-size:.78rem;line-height:1.35}.ops-alert-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:.28rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.ops-alert-badge.critical{color:var(--brand-deep);background:var(--crit-bg)}.ops-alert-badge.warn{color:#6e5a2f;background:var(--warn-bg)}.ops-alert-badge.info{color:var(--ink-soft);background:var(--off-bg)}.ops-move-type{color:var(--muted);text-transform:capitalize;white-space:nowrap;font-size:.72rem}.ops-tri-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.05rem;display:grid}.ops-tri-grid .ops-panel{margin-bottom:0}.ops-pilot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.1rem 0 .35rem;display:flex}.ops-pilot-actions{flex-wrap:wrap;gap:.55rem;display:flex}.ops-pilot-actions .btn{border-radius:999px;min-height:42px;padding-inline:1.15rem}.ops-pilot-secondary{background:#8a74491f;border-color:#8a744947}.ops-pilot-tagline{font-family:var(--font-display);color:var(--ink-soft);letter-spacing:-.01em;text-align:right;max-width:22rem;margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-style:italic;font-weight:500}.ops-charts-band{margin-bottom:1.05rem}.ops-charts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.ops-chart-card{border:1px solid var(--line);background:#fffef9;border-radius:16px;flex-direction:column;min-height:250px;padding:.85rem .95rem .7rem;display:flex;box-shadow:0 10px 28px #34302b0d}.ops-chart-card-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.ops-chart-card-head h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.02rem}.ops-chart-card-head span{color:var(--muted);letter-spacing:.02em;font-size:.72rem;font-weight:650}.dash-chart-svg{flex:1;width:100%;height:auto;display:block}.dash-pie-wrap{flex:1;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:.35rem .15rem .5rem;display:grid}.dash-pie{width:140px;height:140px;position:relative}.dash-pie svg{width:100%;height:100%;display:block}.dash-pie-center{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.dash-pie-center strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.35rem;line-height:1}.dash-pie-center span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.2rem;font-size:.68rem;font-weight:650}.dash-pie-legend{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.dash-pie-legend li{grid-template-columns:10px 1fr auto;align-items:center;gap:.45rem;font-size:.78rem;display:grid}.dash-pie-legend i{border-radius:3px;width:10px;height:10px}.dash-pie-legend span{color:var(--ink-soft)}.dash-pie-legend strong{font-variant-numeric:tabular-nums}@media (width<=1180px){.ops-kpi-grid,.ops-kpi-grid-5,.ops-kpi-grid-coverage{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-zone-band{grid-template-columns:1fr}.ops-zone-side,.ops-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.ops-tri-grid{grid-template-columns:1fr}.ops-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-pilot-tagline{text-align:left;max-width:none}.ops-charts-grid{grid-template-columns:1fr}}@media (width<=640px){.ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-dash-tools,.ops-search{width:100%}.ops-search-wrap{flex:1}}
