/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{--navy:#102b3f;--ink:#193248;--muted:#647687;--line:#dde5ec;--blue:#175ee0;--canvas:#f3f6fa;--teal:#107b6b;--amber:#925a10;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #60a5fa}button{border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.045em;font-size:2rem;line-height:1.2}h1,h2{font-weight:650}h2{letter-spacing:-.015em;font-size:1.125rem}h3{font-size:1rem;font-weight:650}p{line-height:1.6}.shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#d3e1ec;z-index:20;flex-direction:column;flex-shrink:0;width:244px;padding:30px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:-.04em;align-items:center;gap:11px;margin:0 4px 40px;font-size:1.55rem;font-weight:650;display:flex}.brand-mark{color:#6cced5;border:1px solid #49677b;border-radius:10px;place-items:center;width:39px;height:39px;display:grid}.brand-small{letter-spacing:.2em;color:#9eb9cb;margin-top:1px;font-size:.65rem;font-weight:500;display:block}.workspace-label{letter-spacing:.13em;color:#98b1c2;margin:0 12px 10px;font-size:.75rem;font-weight:600}.client-select{color:#fff;background:#1c3a50;border:1px solid #3e576a;border-radius:8px;margin-bottom:28px;padding:11px}.client-select,.nav-item{width:100%;font-size:.9rem}.nav-item{color:#b8ccdb;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:12px;margin-bottom:5px;padding:12px;display:flex}.nav-item:hover{color:#fff;background:#203e53}.nav-item.active{color:#fff;background:#254b65;box-shadow:inset 3px 0 #67cbd4}.nav-count{background:#446880;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.75rem}.sidebar-bottom{margin-top:auto;padding-top:32px}.pilot-label{color:#99dbd5;align-items:center;gap:8px;padding:0 10px;font-size:.875rem;display:flex}.sidebar-bottom>p{color:#a2b7c7;margin:9px 10px 16px;font-size:.8125rem}.add-client{color:#c6d6e2;background:0 0;gap:7px;padding:10px;font-size:.8125rem}.account,.add-client{align-items:center;display:flex}.account{border-top:1px solid #385165;gap:9px;margin-top:22px;padding:20px 0}.avatar{color:#e7f2f9;background:#38586e;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.account-name{overflow-wrap:anywhere;font-size:.8rem;line-height:1.3}.account-name small{color:#a4b8c7;margin-top:4px;font-size:.75rem;display:block}.account a{margin-left:auto}.workspace{flex:1;min-width:0;margin-left:244px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;height:73px;padding:0 36px;font-size:.875rem;display:flex}.topbar>div,.topbar>span{align-items:center;gap:14px;display:flex}.topbar>span{color:var(--muted)}.topbar strong{color:var(--ink);font-weight:500}.private-pill{color:#5e7080;align-items:center;gap:7px;font-size:.8125rem;display:flex}.icon-button{color:var(--muted);background:0 0;border-radius:6px;place-items:center;padding:8px;display:inline-grid}.icon-button:hover{background:#edf2f7}main{max-width:1550px;margin:auto;padding:28px 36px 0}.notice-band{color:#4a657d;background:#eaf2f9;border:1px solid #d4e2ef;border-radius:7px;align-items:center;gap:11px;margin-bottom:32px;padding:11px 14px;font-size:.8125rem;line-height:1.5;display:flex}.band-tag{letter-spacing:.07em;color:#436280;border-right:1px solid #c4d6e6;padding-right:12px;font-size:.7rem;font-weight:700}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:.1em;color:#637b91;margin-bottom:8px;font-size:.75rem;font-weight:650}.page-heading p{color:var(--muted);margin-top:8px;font-size:.9375rem}.primary,.secondary{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:.875rem;font-weight:550;display:inline-flex}.primary{background:var(--blue);color:#fff;box-shadow:0 2px 3px #173a7012}.primary:hover{background:#124fbe}.secondary{color:var(--ink)}.secondary,.stats{border:1px solid var(--line);background:#fff}.stats{border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:32px;display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:21px 24px}.stat:last-child{border:0}.stat>span{color:#556e82;font-size:.875rem;display:block}.stat strong{letter-spacing:-.055em;margin:9px 0 8px;font-size:2rem;font-weight:600;line-height:1.25;display:block}.stat small{color:var(--muted);font-size:.75rem}.stat-warn strong{color:#a1691c}.compact .stat strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:1.3rem}.section-line{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.section-line h2 span{color:#5f7285;background:#e5ebf2;border-radius:5px;margin-left:7px;padding:2px 6px;font-size:.8rem;font-weight:500}.search{border:1px solid var(--line);color:#708396;background:#fff;border-radius:7px;align-items:center;gap:9px;max-width:260px;padding:9px 12px;display:flex}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:.875rem}.site-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.site-card{text-align:left;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:22px 20px 0;transition:border-color .15s,box-shadow .15s,transform .15s;display:block}.site-card:hover{border-color:#91b4d2;transform:translateY(-2px);box-shadow:0 7px 20px #233c5410}.site-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.building-icon{color:#366f95;background:#eff5fa;border:1px solid #e0eaf2;border-radius:10px;place-items:center;width:46px;height:46px;display:grid}.badge{white-space:normal;text-transform:none;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:.75rem;font-weight:550;line-height:1.4;display:inline-flex}.verified{color:#136d5d;background:#e7f5f1}.warning{color:#8c5d13;background:#fff2d9}.neutral{color:#5b6e7f;background:#eff2f6}.site-card h3{letter-spacing:-.025em;justify-content:space-between;gap:8px;font-size:1.1rem;font-weight:620;line-height:1.4;display:flex}.site-card h3 svg{color:#7990a3;flex-shrink:0}.site-card>p{color:var(--muted);margin:6px 0 18px;font-size:.8125rem}.site-modules{flex-wrap:wrap;align-content:flex-start;gap:8px 13px;min-height:58px;margin-bottom:15px;display:flex}.site-modules span{color:#61768a;align-items:center;gap:5px;font-size:.75rem;display:flex}.site-card-bottom{border-top:1px solid #e8edf3;justify-content:space-between;gap:12px;padding:14px 0;font-size:.75rem}.footnote,.site-card-bottom{color:var(--muted);display:flex}.footnote{align-items:center;gap:9px;margin:22px 0;font-size:.8125rem;line-height:1.6}.footnote svg{flex-shrink:0}.back{color:#41617e;background:0 0;margin-bottom:18px;padding:0;font-size:.875rem}.snapshot-strip{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin:-8px 0 24px;font-size:.8125rem;display:flex}.section-title{margin:30px 0 18px}.section-title p{color:var(--muted);margin-top:4px;font-size:.875rem}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;align-items:flex-start;padding:22px;display:flex}.module-title{color:#2b5878;align-items:center;gap:10px;margin-bottom:15px;display:flex}.module-title h2,.module-title h3{color:var(--ink)}.module-card>p{color:var(--muted);margin:14px 0 18px;font-size:.875rem}.module-card .text-button{margin-top:auto}.text-button{color:#255f9b;background:0 0;align-items:center;gap:6px;padding:0;font-size:.875rem;line-height:1.5;display:inline-flex}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.panel-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.tabs{gap:4px;display:flex}.tabs button{color:#61758a;background:0 0;border-radius:6px;padding:9px 12px;font-size:.875rem}.tabs button.selected{color:#255f9b;background:#eaf1fb}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{color:#5c7185;background:#f8fafc;font-size:.8125rem;font-weight:550}td,th{border-bottom:1px solid #e8edf3;padding:13px 20px}td{overflow-wrap:anywhere}tr:last-child td{border-bottom:0}.table-note{color:var(--muted);border-top:1px solid var(--line);padding:15px 20px;font-size:.8125rem}.service-sites{width:100%;margin-bottom:20px}.service-sites button{color:#315d7c;text-align:left;background:0 0;border-top:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:11px 0;font-size:.875rem;display:flex}.integration-note{color:#718291;background:#f4f7fa;border-radius:4px;margin-top:auto;padding:7px 9px;font-size:.75rem}.info-panel{background:#edf4fc;border:1px solid #d7e5f2;border-radius:9px;align-items:flex-start;gap:13px;margin-bottom:24px;padding:20px;display:flex}.info-panel>svg{color:#3d739c;flex-shrink:0}.info-panel p{color:#567086;margin-top:7px;font-size:.875rem}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.role{padding:20px}.role p{color:var(--muted);margin-top:9px;font-size:.875rem}.danger{color:#a13d42}.request-list{flex-direction:column;gap:15px;display:flex}.request{justify-content:space-between;gap:30px;padding:22px;display:flex}.request>div:first-child{min-width:0}.request-details{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 14px}.request small{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.review{align-items:flex-end;gap:12px;min-width:175px}.review,.review label{flex-direction:column;display:flex}.review label{color:var(--muted);gap:5px;font-size:.75rem}.review select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:5px;padding:7px;font-size:.8125rem}.activity-row{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:20px;display:flex}.activity-row:last-child{border:0}.activity-icon{color:#5e819e;background:#f0f5fa;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.activity-row strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:550}.activity-row p{overflow-wrap:anywhere;margin-top:4px}.activity-row p,.activity-row time{color:var(--muted);font-size:.75rem}.activity-row time{white-space:nowrap;margin-left:auto}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:13px;padding:55px 25px;display:flex}.empty h1,.empty h2{color:var(--ink)}.empty p{max-width:500px;font-size:.9375rem}.alert,.success{border-radius:7px;align-items:center;gap:10px;margin-bottom:24px;padding:13px 16px;font-size:.875rem;display:flex}.alert{color:#9d3e30;background:#fff0ed;border:1px solid #f4cfc6}.success{color:#176749;background:#e7f5ef;border:1px solid #c7e7d9}.alert>svg,.success>svg{flex-shrink:0}.alert button,.success button{color:inherit;background:0 0;margin-left:auto;font-size:.875rem}footer{color:#768899;border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:40px;padding:24px 0;font-size:.75rem;display:flex}dialog{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;width:520px;max-width:calc(100% - 32px);max-height:calc(100% - 40px);margin:auto;padding:0;overflow:auto;box-shadow:0 24px 90px #102b3f40}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10233388}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:19px 24px;display:flex}dialog form{padding:22px 24px}.dialog-intro{color:var(--muted);margin-bottom:20px;font-size:.875rem}dialog label{flex-direction:column;gap:8px;margin-bottom:18px;font-size:.875rem;font-weight:550;display:flex}dialog input,dialog select,dialog textarea{color:var(--ink);background:#fff;border:1px solid #cbd6e0;border-radius:6px;width:100%;padding:10px 12px;font-weight:400}textarea{resize:vertical}.field-note{color:var(--muted);font-size:.8125rem}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.dialog-error{color:#a03932;margin-top:15px;font-size:.875rem}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.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}@media (min-width:1500px){main{padding:34px 48px 0}.topbar{padding:0 48px}}@media (max-width:1150px){.sidebar{width:214px;padding-left:15px;padding-right:15px}.workspace{margin-left:214px}.topbar{padding:0 25px}main{padding:24px 25px 0}.module-grid,.role-grid,.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:18px}.stat>span{font-size:.8125rem}}@media (max-width:780px){.shell{display:block}.sidebar{width:auto;padding:16px 18px 8px;position:static}.brand{margin:0 0 18px;font-size:1.3rem}.brand-small{font-size:.6rem}.brand-mark{width:35px;height:35px}.sidebar-bottom,.workspace-label{display:none}.client-select{max-width:350px;margin-bottom:12px;padding:8px}.sidebar nav{gap:5px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;gap:7px;width:auto;padding:10px;font-size:.8125rem}.nav-item svg{width:16px}.nav-count{display:none}.workspace{margin:0}.topbar{height:56px;padding:0 20px}.private-pill{display:none}main{padding:20px 18px 0}.notice-band{margin-bottom:24px}.page-heading{align-items:flex-start;gap:15px}.page-heading h1{font-size:1.75rem}.page-heading p{font-size:.875rem}.page-heading .primary{padding:10px 12px;font-size:.8125rem}.eyebrow{font-size:.7rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat:nth-child(3){border-bottom:0}.stat strong{font-size:1.8rem}.module-grid,.role-grid{gap:12px}.module-card{padding:18px}.request{flex-direction:column;gap:18px}.review{flex-direction:row;justify-content:space-between;align-items:flex-start}.panel-toolbar{flex-direction:column;align-items:stretch}.panel-toolbar .search{max-width:none}.activity-row{align-items:flex-start;gap:10px;padding:16px}.activity-row time{white-space:normal;text-align:right;min-width:65px}.site-card{padding:18px 16px 0}.site-card-top{flex-wrap:wrap}.site-card-bottom{flex-wrap:wrap;gap:6px}}@media (max-width:500px){.module-grid,.role-grid,.site-grid{grid-template-columns:minmax(0,1fr)}.page-heading{flex-wrap:wrap}.section-line{flex-direction:column;align-items:flex-start}.section-line .search{width:100%;max-width:none}.site-card-top{flex-wrap:nowrap}.site-modules{min-height:0}.site-card-bottom{flex-wrap:nowrap}.stats .stat{padding:17px}.stat small{font-size:.75rem}.topbar{font-size:.8125rem}.snapshot-strip{gap:10px}.notice-band{align-items:flex-start}.band-tag{margin-top:2px}.activity-icon{display:none}.dialog-header,dialog form{padding:18px}.tabs button{padding:8px 10px}.review{flex-wrap:wrap}.footnote{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.access-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.access-heading h2{font-size:1.4rem}.access-heading p{color:var(--muted);margin-top:7px;font-size:.875rem}.access-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.access-filter{justify-content:space-between;align-items:center;gap:20px;margin:22px 0;display:flex}.access-filter label{align-items:center;gap:10px;font-size:.875rem;display:flex}.access-filter select{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:280px;padding:10px}.access-counts{color:var(--muted);gap:20px;font-size:.8125rem;display:flex}.access-counts strong{color:var(--ink);font-size:1rem}.discovery-grid,.system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.discovery-card,.system-card{padding:20px}.discovery-card>p{color:var(--muted);margin-top:15px;font-size:.75rem}.vendor-list{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.vendor-list>span{background:#f3f6fa;border-radius:6px;flex-direction:column;gap:5px;padding:9px 12px;font-size:.8125rem;display:flex}.vendor-list>span>span{color:var(--muted);font-size:.75rem}.system-heading{align-items:center;gap:12px;display:flex}.system-heading p{color:var(--muted);margin-top:4px;font-size:.8125rem}.system-heading .icon-button{margin-left:auto}.system-meta{justify-content:space-between;align-items:center;gap:15px;margin:18px 0;font-size:.875rem;display:flex}.system-connector-button{margin-top:16px}.access-empty{color:var(--muted);align-items:center;gap:14px;padding:24px;font-size:.875rem;display:flex}.cell-sub{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.phone-link{align-items:center;gap:5px;display:flex}@media (max-width:1100px){.access-filter,.access-heading{flex-direction:column}.access-actions{justify-content:flex-start}.access-counts{flex-wrap:wrap}}@media (max-width:600px){.discovery-grid,.system-grid{grid-template-columns:minmax(0,1fr)}.access-counts{gap:12px}.access-heading{gap:15px}.access-filter select{max-width:240px}.system-meta{flex-wrap:wrap}.access-empty{align-items:flex-start}}.ops-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px;display:flex}.ops-toolbar>label{align-items:center;gap:12px;font-size:.875rem;display:flex}.ops-toolbar select{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:250px;padding:10px}.ops-welcome{color:#fff;background:linear-gradient(120deg,#16394f,#225975);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:30px 34px;display:flex}.ops-welcome h2{letter-spacing:-.035em;margin:5px 0 9px;font-size:1.7rem}.ops-welcome .eyebrow{color:#9ed6dc}.ops-welcome p{color:#c3d9e6;font-size:.9375rem}.ops-welcome>svg{color:#7dafc3;flex-shrink:0}.ops-link{color:#9ee5de;background:0 0;align-items:center;gap:10px;margin-top:20px;padding:0;font-size:.875rem;display:flex}.ops-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.ops-title{margin:25px 0 15px}.ops-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:13px;margin:15px 0;padding:32px;display:flex}.ops-empty p{max-width:540px;font-size:.875rem}.ops-empty h2,.ops-empty h3{color:var(--ink)}.ops-issue{margin-bottom:12px;padding:20px}.ops-issue h3{margin:12px 0 5px}.ops-issue p{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.ops-setup-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:19px;font-size:.875rem;display:flex}.ops-setup-row:last-child{border:0}.ops-setup-row>svg{color:#537993;flex-shrink:0}.ops-setup-row>div{min-width:0}.ops-setup-row small{color:var(--muted);margin-top:5px;font-size:.75rem;line-height:1.5;display:block}.ops-setup-row .badge{flex-shrink:0;max-width:140px;margin-left:auto}.ops-columns .text-button{margin-top:15px}.stat strong.ops-stat-text{letter-spacing:-.015em;font-size:1.05rem;line-height:2.4}.ops-tenant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.ops-tenant{padding:24px}.ops-tenant-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.ops-tenant h2{overflow-wrap:anywhere;font-size:1.2rem}.ops-tenant>p{color:var(--muted);margin:8px 0 20px;font-size:.875rem}.ops-tenant dl{margin:20px 0}.ops-tenant dl>div{border-top:1px solid #edf1f5;justify-content:space-between;gap:20px;padding:12px 0;font-size:.8125rem;display:flex}.ops-tenant dt{color:var(--muted);flex-shrink:0}.ops-tenant dd{text-align:right;overflow-wrap:anywhere;margin:0}.ops-actions{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding-top:18px;display:flex}.ops-speed{font-size:1.8rem;font-weight:600}.ops-speed small{color:var(--muted);font-size:.875rem}.ops-dialog{width:680px}.ops-dialog fieldset{border:0;border-top:1px solid var(--line);margin:20px 0;padding:20px 0 0}.ops-dialog legend{padding-right:12px;font-size:.875rem;font-weight:650}.ops-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ops-fields>*{min-width:0}.ops-dialog small{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.5}.ops-dialog .field-note{margin:0 0 18px}.ops-checkbox{align-items:flex-start;line-height:1.5;flex-direction:row!important;gap:12px!important}.ops-checkbox input{flex-shrink:0;width:18px;margin-top:3px}.ops-dialog select{min-width:0}.ops-toolbar .access-actions{flex-wrap:wrap}@media (max-width:1100px){.ops-toolbar{flex-direction:column;align-items:flex-start}.ops-columns{grid-template-columns:1fr}}@media (max-width:650px){.ops-fields,.ops-tenant-grid{grid-template-columns:1fr}.ops-welcome{padding:24px}.ops-welcome h2{font-size:1.4rem}.ops-welcome>svg{display:none}.ops-tenant{padding:20px}.ops-tenant dl>div{flex-direction:column;gap:4px}.ops-tenant dd{text-align:left}.ops-setup-row{flex-wrap:wrap}.ops-setup-row .badge{margin-left:30px}.ops-toolbar>label{max-width:100%}.ops-toolbar select{max-width:235px}}.support-dashboard{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;display:flex}.support-dashboard p{color:var(--muted);margin-top:6px;font-size:.8125rem}.support-intro{align-items:center;gap:18px;margin:0 0 24px;display:flex}.support-intro .primary{margin-left:auto}.support-intro p{color:var(--muted);margin-top:6px;font-size:.875rem}.support-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;display:flex}.support-layout{grid-template-columns:minmax(230px,.7fr) minmax(0,1.6fr);align-items:start;gap:22px;display:grid}.support-list{max-height:800px;overflow:auto}.support-ticket{text-align:left;width:100%;color:var(--ink);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:flex-start;gap:9px;padding:20px;display:flex}.support-ticket.selected{box-shadow:inset 3px 0 var(--blue);background:#eef5fc}.support-ticket .eyebrow{margin:0;font-size:.65rem}.support-ticket strong{overflow-wrap:anywhere;font-size:.9375rem}.support-ticket small{color:var(--muted);font-size:.75rem}.support-header{border-bottom:1px solid var(--line);padding:24px}.support-header h2{overflow-wrap:anywhere;font-size:1.3rem}.support-header>p{color:var(--muted);margin-top:12px;font-size:.8125rem}.support-meta{color:var(--muted);overflow-wrap:anywhere;gap:10px 15px;margin-top:14px;font-size:.75rem}.support-controls,.support-meta{flex-wrap:wrap;align-items:center;display:flex}.support-controls{gap:12px;margin-top:18px}.support-controls .secondary{padding:8px 11px;font-size:.8125rem}.support-messages{background:#fafcfe;flex-direction:column;gap:18px;padding:24px;display:flex}.support-message{border:1px solid var(--line);background:#fff;border-radius:9px;padding:15px 17px}.support-message.customer{background:#f0f6fd;border-color:#c8dcf0;margin-left:25px}.support-message.agent{background:#eff9f6;border-color:#c7e4de}.support-message.system{color:#607789;background:0 0;border-style:dashed;font-size:.8125rem}.support-message>div{align-items:center;gap:7px;font-size:.75rem;display:flex}.support-message time{color:var(--muted);margin-left:auto;font-size:.7rem}.support-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;font-size:.875rem}.support-reply{border-top:1px solid var(--line);padding:22px}.support-reply label{margin-bottom:10px;font-size:.875rem;font-weight:550;display:block}.support-reply textarea{border:1px solid var(--line);border-radius:7px;width:100%;padding:12px;font-size:.875rem}.support-reply>div{justify-content:space-between;align-items:center;gap:15px;margin-top:12px;display:flex}.support-reply small{color:var(--muted);max-width:280px;font-size:.75rem}@media (max-width:1100px){.support-layout{grid-template-columns:1fr}.support-list{max-height:240px;display:flex;overflow:auto}.support-ticket{flex-shrink:0;min-width:240px;max-width:300px}.support-intro{flex-wrap:wrap}.support-intro .primary{margin-left:0}}@media (max-width:600px){.support-dashboard{flex-direction:column;align-items:flex-start}.support-intro>.building-icon{display:none}.support-header,.support-messages,.support-reply{padding:18px}.support-message{padding:13px}.support-message.customer{margin-left:8px}.support-reply>div{flex-direction:column;align-items:flex-start}.support-bar{gap:12px}.support-message time{font-size:.65rem}.support-controls{gap:10px}}.desk-shell{background:var(--canvas);min-height:100vh}.desk-header{background:var(--navy);color:#e5f2fa;justify-content:space-between;align-items:center;gap:20px;height:82px;padding:0 40px;display:flex}.desk-header>a,.desk-header>div{align-items:center;gap:12px;display:flex}.desk-header>div{font-size:1.3rem}.desk-header strong{letter-spacing:.13em;color:#a3c7da;font-size:.7rem;display:block}.desk-header>a{font-size:.875rem}.desk-shell main{max-width:1450px;padding-bottom:45px}.desk-client{align-items:center;gap:12px;margin:0 0 28px;font-size:.875rem;display:flex}.desk-client select{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:350px;padding:10px}.desk-client>span{color:var(--muted);margin-left:auto;font-size:.8125rem}.desk-denied{padding:50px}.desk-denied p{margin:20px 0}@media (max-width:600px){.desk-header{padding:0 18px}.desk-client{flex-wrap:wrap}.desk-client>span{width:100%;margin-left:0}.desk-client select{max-width:260px}.desk-header>a{font-size:.75rem}}.network-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;display:flex}.network-toolbar label{align-items:center;gap:12px;font-weight:600;display:flex}.network-toolbar select{min-width:220px}.network-stats{background:#dce4ed;border:1px solid #dce4ed;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:22px;display:grid;overflow:hidden}.network-stats>div{background:#fff;padding:18px}.network-stats strong{color:#172b4d;font-size:24px;display:block}.network-stats span{color:#52647a;font-size:14px}.network-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.network-details,.network-map{min-width:0;padding:22px}.network-map{background:radial-gradient(#dbe4ed 1px,#0000 0) 0 0/18px 18px,#f9fbfe}.network-map-heading{justify-content:space-between;gap:12px;display:flex}.network-device-heading h2,.network-map-heading h2{margin:0 0 5px}.network-map-heading p{color:#607087;margin:0 0 18px}.network-search{background:#fff;width:100%;margin-bottom:24px}.network-search input{width:100%;min-width:0}.topology-root{padding-bottom:20px;position:relative}.topology-root:after{content:"";border-left:2px dashed #93a7bf;height:20px;position:absolute;bottom:0;left:24px}.topology-device{text-align:left;color:#233b59;cursor:pointer;background:#fff;border:1px solid #d8e2ed;border-radius:9px;align-items:center;gap:12px;width:100%;min-width:0;padding:13px 15px;display:flex}.topology-device>span{flex:1;min-width:0}.topology-device span span,.topology-device strong{overflow-wrap:anywhere;display:block}.topology-device strong{font-size:15px}.topology-device span span{color:#607087;margin-top:4px;font-size:13px}.topology-device small{letter-spacing:.08em;margin-bottom:5px;font-size:12px;display:block}.topology-device>svg{flex-shrink:0}.topology-device.selected{border-color:#2773c5;box-shadow:0 0 0 2px #2773c520}.core-device{color:#fff;background:#153451;border-color:#153451}.core-device span span{color:#c0d4e8}.core-device.selected{outline-offset:2px;outline:2px solid #5ca7f2}.topology-branches{border-left:2px dashed #93a7bf;margin-left:24px;padding-left:22px}.topology-branch{padding-bottom:20px}.topology-via{color:#435a73;overflow-wrap:anywhere;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex;position:relative}.topology-via:before{content:"";border-top:2px dashed #93a7bf;width:23px;position:absolute;top:10px;left:-24px}.topology-neighbours{gap:8px;display:grid}.network-legend{color:#566c83;background:#f9fbfe;margin:16px 0 0;font-size:13px;line-height:1.6}.network-legend>span{vertical-align:middle;border-top:2px dashed #93a7bf;width:24px;margin-right:8px;display:inline-block}.network-device-heading{align-items:center;gap:12px;min-width:0;display:flex}.network-device-heading>div{overflow-wrap:anywhere;min-width:0}.network-device-heading p{color:#65768a;margin:4px 0 0;font-size:14px}.network-facts{margin:22px 0}.network-facts>div{border-bottom:1px solid #eef1f5;justify-content:space-between;gap:18px;padding:9px 0;font-size:14px;display:flex}.network-facts dt{color:#627389;flex:1}.network-facts dd{text-align:right;overflow-wrap:anywhere;flex:1;margin:0}.network-tabs{border-bottom:1px solid #dce4ed;gap:3px;display:flex}.network-tabs button{color:#5b6c81;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 9px;font-size:14px}.network-tabs button[aria-selected=true]{color:#1761ad;border-bottom-color:#1761ad;font-weight:600}.network-detail-content{max-height:720px;padding-top:20px;overflow:auto}.network-detail-content h3{margin:0 0 10px;font-size:16px}.network-muted{color:#65768a;font-size:14px;line-height:1.6}.network-connection{text-align:left;cursor:pointer;color:#243e5a;background:0 0;border:0;border-bottom:1px solid #e6ebf1;align-items:center;gap:10px;width:100%;padding:13px 0;display:flex}.network-connection>span{flex:1;min-width:0}.network-connection strong{overflow-wrap:anywhere;font-size:14px}.network-connection small{color:#65768a;overflow-wrap:anywhere;margin-top:4px;font-size:13px;display:block}.network-callout{color:#52677f;background:#f1f5fa;border-radius:8px;margin:14px 0;padding:15px;font-size:14px;line-height:1.65}.network-config-shortcuts{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.network-config-link{color:#185d9f;overflow-wrap:anywhere;background:#eaf3fc;border:1px solid #bfd8f1;border-radius:8px;align-items:center;gap:10px;margin-top:20px;padding:14px;text-decoration:none;display:flex}.network-config-link>span{flex:1;min-width:0}.network-config-link small{margin-top:4px;font-size:13px;display:block}.network-link-form{margin-top:18px}.network-link-form label{margin:12px 0;font-size:14px;font-weight:600;display:block}.network-link-form input{width:100%;margin-top:7px;display:block}.network-empty{color:#65768a;padding:16px}.site-topology{margin:20px 0}.site-topology>summary{cursor:pointer;color:#185d9f;align-items:center;gap:8px;padding:12px 0;font-weight:600;display:flex}.network-connection:focus-visible,.network-tabs button:focus-visible,.topology-device:focus-visible{outline-offset:3px;outline:3px solid #398ce4}@media (max-width:1150px){.network-layout{grid-template-columns:1fr}.network-detail-content{max-height:650px}.network-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.network-details,.network-map{padding:15px}.network-toolbar,.network-toolbar label{display:block}.network-toolbar select{width:100%;min-width:0;margin:8px 0 12px}.network-toolbar .badge{white-space:normal;line-height:1.5}.network-stats>div{padding:14px}.network-stats strong{font-size:21px}.network-stats span{font-size:13px}.topology-branches{margin-left:12px;padding-left:16px}.topology-via:before{width:17px;left:-18px}.network-device-heading{align-items:flex-start}.network-device-heading h2{font-size:19px}.network-config-shortcuts .secondary{white-space:normal}}.network-details{scroll-margin-top:16px;position:sticky;top:18px}@media (max-width:1150px){.network-details{position:static}}.wireless-overview{margin-bottom:22px;padding:22px}.wireless-heading,.wireless-heading>div{align-items:center;gap:10px;display:flex}.wireless-heading{flex-wrap:wrap;justify-content:space-between}.wireless-heading h2{margin:0}.wireless-content{grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;display:grid}.wireless-content>div{min-width:0}.wireless-content h3{margin:0 0 10px;font-size:16px}.wireless-content p{font-size:14px;line-height:1.6}.wireless-content td{overflow-wrap:anywhere}@media (max-width:800px){.wireless-content{grid-template-columns:1fr;gap:14px}.wireless-overview{padding:16px}}.service-summary strong{font-size:21px}.service-evidence{margin-bottom:22px;padding:22px}.service-evidence h2{margin:0 0 12px;font-size:18px}.service-evidence p{font-size:14px;line-height:1.6}.service-evidence small{color:#63748b;font-size:13px}.service-tickets{margin-top:22px;padding:22px}.service-ticket{border-bottom:1px solid #e4eaf1;justify-content:space-between;gap:15px;padding:12px 0;font-size:14px;display:flex}.service-ticket span{color:#64768a}.service-system-tree{margin:16px 0 24px}.service-system-tree .topology-branches{gap:9px;padding-top:12px;display:grid}.service-directory{margin-top:26px;scroll-margin-top:20px}.service-dashboard-links{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:22px;display:grid}.service-dashboard-links button{text-align:left;color:#254363;cursor:pointer;align-items:center;gap:12px;padding:18px;display:flex}.service-dashboard-links strong{flex:1;font-size:14px}.service-dashboard-links svg{flex-shrink:0}.service-dashboard .network-layout{margin-top:20px}@media (max-width:600px){.service-evidence,.service-tickets{padding:16px}.service-ticket{display:block}.service-ticket span{margin-top:5px;display:block}.service-summary strong{font-size:18px}}.cctv-preview{aspect-ratio:16/9;object-fit:contain;background:#101820;border-radius:10px;width:100%;margin:16px 0;display:block}.cctv-search{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:18px 0;display:grid}.cctv-search label{color:#53677d;gap:6px;font-size:13px;display:grid}.cctv-search input{width:100%}@media (max-width:700px){.cctv-search{grid-template-columns:1fr}.cctv-search .primary{width:100%}}.sidebar{overflow-y:auto}.nav-item>svg,.sidebar>.brand,.sidebar>.client-select,.sidebar>nav{flex-shrink:0}.client-shell{background:#f4f7fb;min-height:100vh}.client-header{color:#fff;background:#102b3f;justify-content:space-between;align-items:center;gap:20px;padding:22px max(24px,50vw - 590px);display:flex}.client-brand{letter-spacing:-1px;font-size:27px;font-weight:650}.client-brand span{letter-spacing:0;color:#bad1e4;margin-top:3px;font-size:13px;display:block}.client-account{align-items:center;gap:18px;font-size:14px;display:flex}.client-account .text-button{color:#d1e5f5}.client-main{max-width:1228px;padding:25px 24px 0}.client-context{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.client-context label{align-items:center;gap:10px;font-size:14px;display:flex}.client-context select{background:#fff;border:1px solid #d6e0ea;border-radius:7px;max-width:300px;padding:10px}.client-nav{border-bottom:1px solid #d8e2ed;gap:8px;margin-bottom:28px;display:flex;overflow-x:auto}.client-nav button{color:#526880;background:0 0;border-bottom:3px solid #0000;padding:13px 19px;font-size:16px}.client-nav button[aria-current=page]{color:#165baf;border-color:#165baf;font-weight:600}.client-summary{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px;display:grid}.client-summary button{text-align:left;color:#29445e;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;display:flex}.client-summary strong{font-size:32px}.client-summary span{font-size:15px}.client-attention{margin-bottom:22px;padding:22px}.client-attention>div{border-bottom:1px solid #e5ebf2;padding:14px 0}.client-attention p{color:#63768a;margin:10px 0}.client-service-shortcuts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.client-service-shortcuts button{text-align:left;color:#284760;align-items:center;gap:12px;padding:20px;display:flex}.client-service-shortcuts strong{flex:1;font-size:15px}.client-service-shortcuts svg{flex-shrink:0}.client-setup-note{color:#63768a;margin:22px 0;font-size:14px}.client-service-tabs{flex-wrap:wrap;gap:9px;margin-bottom:24px;display:flex}.client-service-tabs button{color:#36546e;background:#fff;border:1px solid #d3deea;border-radius:7px;align-items:center;gap:8px;padding:11px 15px;display:flex}.client-service-tabs button[aria-pressed=true]{color:#195ea9;background:#e6f1fe;border-color:#3480d1}.client-notice{color:#216847;background:#edf7f2;border-radius:8px;margin-bottom:18px;padding:13px 16px}.client-loading{max-width:700px;margin:auto;padding:60px 24px}.client-main .ops-tenant h2{margin-top:15px}.client-main .empty .primary,.client-main .empty .secondary{margin-top:18px}.client-main .ops-actions{flex-wrap:wrap}.client-shell .ops-dialog fieldset{margin-top:20px}.client-shell .ops-dialog legend{font-size:17px;font-weight:600}.client-shell .ops-dialog label{margin:12px 0;display:block}.client-shell .ops-dialog input,.client-shell .ops-dialog select{width:100%;margin-top:7px}.client-shell .ops-dialog small{color:#65778b;margin-top:5px;display:block}@media (max-width:650px){.client-header{padding:18px}.client-account{gap:10px}.client-account>span{display:none}.client-account .text-button{font-size:12px}.client-main{padding:20px 16px 0}.client-context{flex-wrap:wrap;align-items:flex-start}.client-context label{justify-content:space-between;width:100%}.client-context select{max-width:75%}.client-nav{gap:0}.client-nav button{padding:12px 13px;font-size:14px}.client-summary{gap:9px}.client-summary button{padding:14px 10px}.client-summary strong{font-size:25px}.client-summary span{font-size:13px}.client-main .page-heading{flex-wrap:wrap;align-items:flex-start}.client-main h1{font-size:27px}.client-service-shortcuts{grid-template-columns:1fr}.client-main .support-intro{padding:18px}}.building-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.building-toolbar label{align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.building-toolbar select{background:#fff;border:1px solid #d6e0ea;border-radius:7px;min-width:260px;padding:10px}.building-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.building-summary>div{color:#36536d;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:16px 18px;display:grid}.building-summary svg{grid-row:1/3}.building-summary strong{font-size:22px}.building-summary span{color:#687a8e;font-size:13px}.building-layout{grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);align-items:start;gap:18px;display:grid}.building-detail,.building-map-panel,.map-setup{padding:22px}.building-map-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.building-map-heading p{color:#66798d;margin-top:6px;font-size:14px}.floor-tabs{gap:7px;margin:20px 0 12px;display:flex;overflow-x:auto}.floor-tabs button{color:#466078;white-space:nowrap;background:#fff;border:1px solid #d6e0ea;border-radius:7px;padding:9px 13px}.floor-tabs button[aria-selected=true]{color:#175ca4;background:#e7f1fd;border-color:#4383c8;font-weight:600}.floor-canvas{background:linear-gradient(90deg,#dfe6ee 1px,#0000 0) 0 0/32px 32px,linear-gradient(#dfe6ee 1px,#0000 0) 0 0/32px 32px,#f8fafc;border:1px solid #ccd8e4;border-radius:10px;min-height:430px;position:relative;overflow:hidden}.floor-plan-note{color:#6c7e90;border:1px solid #dce4ec;border-radius:6px;gap:7px;padding:7px 9px;font-size:12px;top:12px;right:12px}.floor-plan-note,.map-device{background:#fff;align-items:center;display:flex;position:absolute}.map-device{color:#25445f;text-align:left;border:1px solid #bfcddd;border-radius:8px;gap:8px;max-width:180px;padding:9px 11px;transform:translate(-50%,-50%);box-shadow:0 4px 12px #223f5b18}.map-device.selected,.map-device:hover{border-color:#2471bf;box-shadow:0 0 0 3px #2471bf22}.map-device>span{overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:600}.map-device small{color:#6d7f91;margin-top:2px;font-size:11px;font-weight:400;display:block}.map-empty{color:#6b7d8f;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:430px;padding:30px;display:flex}.map-empty strong{color:#314d67}.map-empty span{max-width:480px;font-size:14px;line-height:1.6}.map-empty-panel{background:#f8fafc;border:1px dashed #c9d5e1;border-radius:9px;min-height:260px;margin-top:20px}.switch-directory{margin-top:24px}.switch-directory h3{font-size:16px}.switch-directory>p{color:#6b7d90;margin-top:12px;font-size:14px}.switch-directory>div{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px;display:grid}.switch-directory button{text-align:left;color:#2b4a65;background:#fff;border:1px solid #d8e1ea;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.switch-directory button.selected{background:#edf5fe;border-color:#2776c4}.switch-directory button span{min-width:0}.switch-directory button small,.switch-directory button strong{overflow-wrap:anywhere;display:block}.switch-directory button small{color:#6d7f91;margin-top:3px;font-size:12px}.building-detail{position:sticky;top:18px}.building-detail-empty{text-align:center;color:#6c7d90;padding:80px 20px}.building-detail-empty h2{color:#2f4c66;margin:14px 0 7px}.device-detail-heading{align-items:center;gap:12px;display:flex}.device-detail-heading h2{margin:3px 0;font-size:21px}.device-detail-heading p{color:#6a7d90;font-size:13px}.device-icon{color:#2167a7;background:#e9f2fb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.status-callout{background:#f3f6f9;border-radius:8px;align-items:flex-start;gap:12px;margin:20px 0;padding:14px;display:flex}.status-dot{background:#8293a4;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.status-dot.online{background:#208a5b}.status-dot.attention{background:#c88612}.status-dot.offline{background:#b74646}.status-callout strong{font-size:14px}.status-callout p{color:#6b7c8e;margin-top:4px;font-size:12px}.building-detail>h3{margin:22px 0 8px;font-size:15px}.port-list{border-top:1px solid #e2e8ef;max-height:420px;overflow:auto}.port-list>div{border-bottom:1px solid #e8edf2;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.port-list small,.port-list strong{display:block}.port-list strong{font-size:14px}.port-list small{color:#708194;margin-top:3px;font-size:11px}.port-allocation{text-align:right;overflow-wrap:anywhere;color:#536c82;max-width:130px;font-size:12px}.port-allocation.available{color:#287151}.port-allocation.disabled{color:#8b5c5c}.detail-note{color:#6c7e91;margin:16px 0;font-size:12px;line-height:1.6}.camera-preview{color:#d5e3ef;text-align:center;background:#172636;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:210px;padding:24px;display:flex}.camera-preview span{color:#9db2c5;max-width:230px;font-size:12px}.device-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.device-actions button{align-items:center;gap:7px;display:flex}.door-access-form{border-top:1px solid #e2e8ef;margin-top:18px;padding-top:18px}.door-access-form h3{font-size:15px}.door-access-form label,.map-setup label{margin-top:12px;font-size:13px;font-weight:600;display:block}.door-access-form input,.door-access-form select,.map-setup input,.map-setup select{width:100%;margin-top:6px;display:block}.door-access-form button,.map-setup button{margin-top:14px}.full-action{width:100%;margin-top:15px}.device-boundary{color:#67798c;border-top:1px solid #e3e9ef;align-items:flex-start;gap:8px;margin-top:20px;padding-top:15px;font-size:12px;line-height:1.5;display:flex}.device-boundary svg{flex-shrink:0}.map-setup{margin-top:18px}.map-setup>div:first-child p{color:#687a8d;margin-top:6px;font-size:14px}.map-setup-forms{grid-template-columns:.7fr 1.3fr;gap:24px;margin-top:20px;display:grid}.map-setup form{border:1px solid #dce4ec;border-radius:9px;padding:18px}.map-setup h3{font-size:16px}.position-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:950px){.building-layout{grid-template-columns:1fr}.building-detail{position:static}.map-setup-forms{grid-template-columns:1fr}.floor-canvas,.map-empty{min-height:390px}}@media (max-width:600px){.building-toolbar{flex-direction:column;align-items:flex-start}.building-toolbar label{justify-content:space-between;width:100%}.building-toolbar select{min-width:0;max-width:70%}.building-summary{gap:7px}.building-summary>div{gap:2px 7px;padding:12px 9px}.building-summary strong{font-size:19px}.building-summary span{font-size:11px}.building-detail,.building-map-panel,.map-setup{padding:15px}.floor-canvas,.map-empty{min-height:360px}.map-device{max-width:145px;padding:8px}.map-device>span{font-size:12px}.switch-directory>div{grid-template-columns:1fr}}.client-network-dashboard{margin-bottom:26px}.network-client-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.network-client-toolbar h2{font-size:21px}.network-client-toolbar p{color:#65778a;margin-top:5px;font-size:14px}.network-client-toolbar label{align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.network-client-toolbar select{min-width:210px}.network-client-summary{background:#d8e2eb;border:1px solid #d8e2eb;border-radius:9px;grid-template-columns:repeat(5,1fr);gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.network-client-summary>div{background:#fff;padding:15px}.network-client-summary span,.network-client-summary strong{display:block}.network-client-summary strong{color:#213f5b;font-size:22px}.network-client-summary span{color:#687b8f;margin-top:3px;font-size:12px}.network-client-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:16px;display:grid}.client-network-detail,.client-topology,.wifi-tenant-list{padding:20px}.client-topology{background:radial-gradient(#d8e2ec 1px,#0000 0) 0 0/19px 19px,#fbfcfe}.client-topology-root{color:#fff;background:#183b57;border-radius:9px;align-items:center;gap:11px;width:min(100%,340px);margin:auto;padding:13px 15px;display:flex}.client-topology-root span:last-child{min-width:0}.client-topology-root small,.client-topology-root strong{overflow-wrap:anywhere;display:block}.client-topology-root small{color:#bfd3e3;margin-top:3px;font-size:12px}.topology-icon{background:#ffffff18;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.client-topology-line{background:#9eb2c5;width:2px;height:28px;margin:auto}.client-topology-groups{grid-template-columns:repeat(3,1fr);gap:18px;display:grid;position:relative}.client-topology-groups:before{content:"";border-top:2px solid #9eb2c5;position:absolute;top:-1px;left:25%;right:25%}.client-topology-groups>div{min-width:0;padding-top:18px}.client-topology-groups>div:before{content:"";background:#9eb2c5;width:2px;height:18px;margin:-18px auto 10px;display:block}.client-topology-groups h3{color:#3c5871;justify-content:center;align-items:center;gap:7px;margin-bottom:10px;font-size:14px;display:flex}.client-topology-groups>div>p{color:#6a7c8e;text-align:center;background:#fff;border:1px dashed #cfdae4;border-radius:8px;padding:20px 10px;font-size:13px}.client-topology-nodes{gap:8px;display:grid}.client-topology-nodes button{text-align:left;color:#294862;background:#fff;border:1px solid #d3dee8;border-radius:8px;align-items:center;gap:9px;width:100%;padding:12px;display:flex}.client-topology-nodes button.selected{border-color:#2875c1;box-shadow:0 0 0 3px #2875c11d}.client-topology-nodes button>span{flex:1;min-width:0}.client-topology-nodes small,.client-topology-nodes strong{overflow-wrap:anywhere;display:block}.client-topology-nodes strong{font-size:13px}.client-topology-nodes small{color:#6b7d90;margin-top:3px;font-size:11px}.client-network-detail{position:sticky;top:18px}.topology-detail-icon{color:#2368a8;background:#e8f1fb;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.client-network-detail>h3{margin:14px 0 7px}.client-network-detail>p{color:#687a8d;font-size:13px;line-height:1.6}.client-network-detail-head{align-items:center;gap:11px;display:flex}.client-network-detail-head h3{margin-top:3px;font-size:19px}.network-live-note{background:#f3f6f9;border-radius:7px;padding:10px 12px;margin:17px 0!important}.network-port-list{border-top:1px solid #e2e8ee;max-height:390px;overflow:auto}.network-port-list>div{border-bottom:1px solid #e7ecf1;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.network-port-list small,.network-port-list strong{display:block}.network-port-list strong{font-size:13px}.network-port-list small{color:#6f8091;margin-top:3px;font-size:11px}.topology-map-link{align-items:center;gap:7px;margin-top:16px;display:flex}.wifi-tenant-list{margin-top:16px}.wifi-tenant-list>div:first-child p{color:#687b8d;margin-top:4px;font-size:13px}.wifi-tenant-list>div:last-child{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:14px;display:grid}.wifi-tenant-list>div:last-child>div{border:1px solid #dbe3eb;border-radius:8px;align-items:center;gap:9px;padding:11px 12px;display:flex}.wifi-tenant-list>div:last-child>div>span:nth-child(2){flex:1;min-width:0}.wifi-tenant-list small,.wifi-tenant-list strong{overflow-wrap:anywhere;display:block}.wifi-tenant-list strong{font-size:13px}.wifi-tenant-list small{color:#6b7d90;margin-top:3px;font-size:11px}.wifi-tenant-list>.client-network-dashboard>p,.wifi-tenant-list>p{color:#6b7d90;margin-top:14px;font-size:13px}@media (max-width:900px){.network-client-layout{grid-template-columns:1fr}.client-network-detail{position:static}}@media (max-width:650px){.network-client-toolbar{flex-direction:column;align-items:flex-start}.network-client-toolbar label{justify-content:space-between;width:100%}.network-client-toolbar select{min-width:0;max-width:72%}.network-client-summary{grid-template-columns:repeat(2,1fr)}.client-topology-groups{grid-template-columns:1fr}.client-topology-groups:before{display:none}.client-topology-groups>div:before{height:12px;margin:-18px auto 7px}.client-network-detail,.client-topology,.wifi-tenant-list{padding:15px}}.device-diagnostics{border-top:1px solid #e1e8ee;margin-top:18px;padding-top:18px}.device-diagnostics>div:first-child h3{font-size:15px}.device-diagnostics>div:first-child p{color:#6b7d90;margin-top:4px;font-size:12px;line-height:1.55}.diagnostic-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.diagnostic-actions button{justify-content:center;align-items:center;gap:7px;padding:9px 8px;font-size:12px;display:flex}.diagnostic-result{background:#f8fafc;border:1px solid #d8e2eb;border-radius:8px;margin-top:14px;padding:13px}.diagnostic-result.not_started{background:#fffaf0;border-color:#e3d2ae}.diagnostic-result>div:first-child{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.diagnostic-result>div:first-child strong{text-transform:capitalize;font-size:12px}.diagnostic-result time{color:#738395;white-space:nowrap;font-size:10px}.diagnostic-result>p{color:#5f7184;margin-top:7px;font-size:12px;line-height:1.5}.diagnostic-result ul{margin:12px 0 0;padding:0;list-style:none}.diagnostic-result li{border-top:1px solid #e8e4d8;padding:8px 0 8px 16px;position:relative}.diagnostic-result li:before{content:"";background:#8999a9;border-radius:50%;width:7px;height:7px;position:absolute;top:13px;left:0}.diagnostic-result li.ok:before{background:#2d8a60}.diagnostic-result li.attention:before{background:#c28723}.diagnostic-result li small,.diagnostic-result li span{display:block}.diagnostic-result li span{font-size:12px;font-weight:600}.diagnostic-result li small{color:#6b7c8e;margin-top:2px;font-size:11px;line-height:1.45}.diagnostic-result dl{margin-top:12px}.diagnostic-result dl>div{border-top:1px solid #e2e8ee;justify-content:space-between;padding:6px 0;font-size:12px;display:flex}.diagnostic-result dt{text-transform:capitalize;color:#697b8d}.diagnostic-result dd{margin:0;font-weight:600}.diagnostic-empty{color:#718294;padding:14px 0;font-size:12px}.diagnostic-history{margin-top:12px;font-size:12px}.diagnostic-history summary{cursor:pointer;color:#325d82}.diagnostic-history>div{color:#687a8d;border-bottom:1px solid #e7ecf1;grid-template-columns:1fr auto auto;gap:8px;padding:7px 0;display:grid}.diagnostic-support{align-items:center;gap:6px;margin-top:14px;display:flex}.building-detail .device-diagnostics{margin-bottom:16px}@media (max-width:500px){.diagnostic-actions{grid-template-columns:1fr}.diagnostic-result>div:first-child{display:block}.diagnostic-result time{margin-top:4px;display:block}.diagnostic-history>div{grid-template-columns:1fr auto}.diagnostic-history time{grid-column:1/3}}.client-admin-workspace{gap:28px;display:grid}.admin-intro{align-items:flex-start;gap:14px;padding:20px;display:flex}.admin-intro h2,.admin-intro p{margin:0}.admin-intro p{color:#60758a;margin-top:6px}.admin-section{gap:15px;display:grid}.admin-section .section-line{margin:0}.admin-section .section-line>div>p{color:#63778c;margin:5px 0 0;font-size:14px}.admin-site-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.admin-site-grid article{padding:20px}.admin-site-grid h3{margin:13px 0 6px}.admin-site-grid p{color:#61758a;margin:0}.site-router-list{color:#365872;border-top:1px solid #e3eaf1;align-items:flex-start;gap:8px;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.site-router-list svg{flex:none}.site-service-tags{flex-wrap:wrap;gap:6px;margin-top:15px;display:flex}.site-service-tags span{color:#365872;background:#eef4fa;border-radius:999px;padding:5px 9px;font-size:12px}.admin-empty-row{color:#63778c;padding:20px}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.client-shell .ops-dialog .check-row{border:1px solid #dbe4ed;border-radius:7px;align-items:center;gap:9px;margin:0;padding:9px 10px;display:flex}.client-shell .ops-dialog .check-row input{width:auto;margin:0}.info-panel.compact{align-items:center;padding:12px 14px}.info-panel.compact p{margin:0}.admin-dialog fieldset{border:0;padding:0}.admin-dialog legend{margin-bottom:8px}@media (max-width:650px){.admin-section .section-line{align-items:flex-start}.admin-section .section-line>div{max-width:65%}.admin-site-grid,.check-grid{grid-template-columns:1fr}.admin-section .table-scroll{border-radius:0;margin:0 -16px}}.feature-entitlement-form{padding:20px}.feature-entitlement-form .dialog-actions{justify-content:flex-end;margin-top:16px}.device-channel-select{align-items:center;gap:12px;margin:0 0 18px;font-size:13px;font-weight:600;display:flex}.device-channel-select select{min-width:min(100%,440px);color:var(--ink);background:#fff;border:1px solid #cbd7e1;border-radius:7px;padding:9px 10px}.tenant-setup-dialog{width:min(960px,100% - 32px)}.tenant-setup-wizard{padding:0 24px 24px}.tenant-setup-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;display:grid}.tenant-setup-steps span{color:#65798c;text-align:center;background:#f0f4f8;border-radius:7px;padding:9px 10px;font-size:13px}.tenant-setup-steps span.active{color:#175fae;background:#e4f0fd;font-weight:650}.tenant-setup-stage{gap:18px;display:grid}.wizard-intro{background:#f3f7fb;border-radius:9px;align-items:flex-start;gap:12px;padding:16px;display:flex}.wizard-intro svg{color:#2e6ea4;flex-shrink:0}.wizard-intro p{color:#61768a;margin-top:4px;font-size:14px}.tenant-site-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tenant-site-picker .check-row span,.tenant-site-picker small,.tenant-site-picker strong{display:block}.module-site-matrix{border:1px solid #dce4ec;border-radius:9px;overflow-x:auto}.matrix-head,.matrix-row{grid-template-columns:minmax(210px,1.4fr) repeat(var(--site-count,2),minmax(150px,1fr));min-width:620px;display:grid}.matrix-head{background:#f6f8fb}.matrix-head>*,.matrix-row>*{border-right:1px solid #e1e7ed;padding:12px}.matrix-head>:last-child,.matrix-row>:last-child{border-right:0}.matrix-row{border-top:1px solid #e1e7ed}.matrix-row>span small,.matrix-row>span strong{display:block}.matrix-row>span small{color:#697b8e;margin-top:4px;font-size:12px}.matrix-row label{align-items:center;gap:7px;font-size:13px;display:flex}.matrix-row label input{width:auto!important;margin:0!important}.matrix-row label span{color:#5f7386}.tenant-site-configs{gap:15px;display:grid}.tenant-site-config{border-radius:9px;border:1px solid #d7e1ea!important;padding:18px!important}.tenant-site-config>legend{padding:0 7px}.site-module-fields{border-top:1px solid #e1e8ef;margin-top:18px;padding-top:16px}.site-module-fields h4{color:#315875;align-items:center;gap:8px;margin:0 0 12px;display:flex}.tenant-setup-wizard>.dialog-actions{border-top:1px solid #e3e9ef;margin-top:18px;padding:18px 0 0}@media (max-width:650px){.tenant-setup-dialog{max-width:calc(100% - 16px)}.tenant-setup-wizard{padding:0 16px 18px}.tenant-setup-steps{gap:4px}.tenant-setup-steps span{padding:8px 4px;font-size:11px}.tenant-site-picker{grid-template-columns:1fr}.wizard-intro{padding:13px}.tenant-site-config{padding:13px!important}.tenant-setup-wizard>.dialog-actions{flex-direction:column-reverse}.tenant-setup-wizard>.dialog-actions button{width:100%}}.tenant-account-card{grid-column:1/-1;padding:22px}.tenant-account-card>h2{margin-top:14px}.tenant-account-sites{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px;display:grid}.tenant-account-sites>section{border:1px solid #dce5ed;border-radius:8px;padding:16px}.tenant-account-sites h3{justify-content:space-between;gap:10px;margin-bottom:10px;display:flex}.tenant-account-sites h3 span{color:#687b8e;font-size:13px;font-weight:500}.tenant-account-sites dl{margin-bottom:14px}@media (max-width:650px){.tenant-account-card{padding:15px}.tenant-account-sites{grid-template-columns:1fr}.tenant-account-sites h3{display:block}.tenant-account-sites h3 span{margin-top:4px;display:block}}.router-state{background:#8a99a8;border-radius:50%;flex:none;width:9px;height:9px}.router-state.online{background:#278a5b}.router-state.offline,.router-state.unreachable{background:#d14d4d}.router-observation.online{color:#246847;background:#edf8f2}.router-observation.offline,.router-observation.unreachable{color:#9e3838;background:#fff0f0}.router-facts{margin:15px 0}.router-facts>div{border-bottom:1px solid #e8edf2;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.router-facts dd{text-align:right;margin:0}.router-observation-list{border-top:1px solid #e2e8ee;max-height:250px;margin-bottom:18px;overflow:auto}.router-observation-list>div{border-bottom:1px solid #e7ecf1;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:12px;display:flex}.router-observation-list small,.router-observation-list strong{display:block}.router-observation-list small{color:#6f8091;margin-top:3px}.router-observation-list>div>span:last-child{text-align:right;color:#536a7f}.login-page{background:#f3f5f7;place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:#fff;border:1px solid #e3e8ed;border-radius:16px;width:100%;max-width:440px;padding:36px;box-shadow:0 12px 40px #13283a0c}.login-card h1{margin:8px 0;font-size:28px}.login-card .eyebrow{margin-top:22px}.login-card form{gap:12px;margin:26px 0 20px;display:grid}.login-card form button{margin-top:10px}.login-card .field-note{align-items:center;gap:6px;display:flex}.cctv-workspace{gap:18px;display:grid}.cctv-device-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.device-settings{padding:22px}.device-settings>.section-line p{color:var(--muted);margin-top:4px;font-size:13px}.device-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.device-settings-grid form{border:1px solid #dce5ed;border-radius:9px;padding:18px}.device-settings-grid form>p{color:var(--muted);margin:5px 0 16px;font-size:12px}.device-settings-grid label{flex-direction:column;gap:6px;margin:12px 0;font-size:13px;font-weight:600;display:flex}.device-settings-grid input,.device-settings-grid select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd7e1;border-radius:7px;padding:9px 10px}.device-settings-grid .device-check{flex-direction:row;align-items:center;font-weight:500}.device-settings-grid .device-check input{width:auto}.device-settings-grid .primary{margin-top:5px}.device-history{border-top:1px solid #e1e8ef;margin-top:22px;padding-top:18px}.device-history>div{border-bottom:1px solid #e7edf2;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.device-history small,.device-history strong{display:block}.device-history small{color:var(--muted);margin-top:3px;font-size:11px}.device-history h3{margin-bottom:5px}@media (max-width:800px){.device-settings-grid{grid-template-columns:1fr}.cctv-device-actions,.device-history>div{flex-direction:column;align-items:flex-start}}.cctv-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);align-items:start}.cctv-live-panel{min-width:0}.cctv-grid-controls{flex-wrap:wrap;align-items:flex-start;gap:12px;margin:18px 0;display:flex}.cctv-grid-controls>label{gap:6px;font-size:12px;font-weight:650;display:grid}.cctv-grid-controls select{min-width:170px;color:var(--ink);padding:9px 10px}.cctv-grid-controls details,.cctv-grid-controls select{background:#fff;border:1px solid #cbd7e1;border-radius:7px}.cctv-grid-controls details{min-width:min(100%,260px);position:relative}.cctv-grid-controls summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:9px 11px;font-size:13px;font-weight:650;list-style:none;display:flex}.cctv-grid-controls summary::-webkit-details-marker{display:none}.cctv-grid-controls summary span{color:var(--muted);font-size:11px;font-weight:500}.cctv-grid-picker{border-top:1px solid #e1e8ef;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-height:260px;display:grid;overflow:auto}.cctv-grid-picker label{background:#fff;align-items:flex-start;gap:8px;padding:10px;font-size:12px;display:flex}.cctv-grid-picker label:hover{background:#f5f8fb}.cctv-grid-picker input{margin-top:2px}.cctv-grid-picker small,.cctv-grid-picker span{display:block}.cctv-grid-picker small{color:var(--muted);margin-top:2px;font-size:10px}.cctv-grid-controls details>small{color:var(--muted);border-top:1px solid #e1e8ef;padding:8px 10px;font-size:10px;display:block}.cctv-camera-grid{gap:8px;display:grid}.cctv-camera-grid-1{grid-template-columns:1fr}.cctv-camera-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cctv-camera-grid-9{grid-template-columns:repeat(3,minmax(0,1fr))}.cctv-camera-grid-16{grid-template-columns:repeat(4,minmax(0,1fr))}.cctv-camera-tile{color:#fff;text-align:left;background:#101820;border:2px solid #0000;border-radius:9px;grid-template-rows:auto auto;min-width:0;padding:0;display:grid;overflow:hidden}.cctv-camera-tile:hover{border-color:#79a8d5}.cctv-camera-tile[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 2px #dceeff}.cctv-camera-tile img{aspect-ratio:16/9;object-fit:contain;background:#101820;width:100%;display:block}.cctv-camera-tile>span:last-child{background:#172738;padding:8px 10px;display:block}.cctv-camera-tile small,.cctv-camera-tile strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cctv-camera-tile strong{font-size:12px}.cctv-camera-tile small{color:#bac8d5;margin-top:2px;font-size:10px}.cctv-camera-unavailable{aspect-ratio:16/9;text-align:center;color:#fff;place-content:center;gap:4px;background:#182633!important;padding:14px!important;display:grid!important}.cctv-camera-unavailable small{white-space:normal}.cctv-camera-grid-1 .cctv-camera-tile strong{font-size:14px}.cctv-camera-grid-1 .cctv-camera-tile small{font-size:11px}@media (max-width:1100px){.cctv-layout{grid-template-columns:1fr}}@media (max-width:700px){.cctv-grid-controls{display:grid}.cctv-grid-controls details,.cctv-grid-controls select,.cctv-grid-controls>label{width:100%}.cctv-grid-picker{grid-template-columns:1fr}.cctv-camera-grid-16,.cctv-camera-grid-9{grid-template-columns:repeat(2,minmax(0,1fr))}.cctv-live-panel>.section-line{flex-direction:column;align-items:flex-start}.cctv-live-panel>.section-line .ops-actions{flex-wrap:wrap;width:100%}}.student-access{gap:18px;display:grid}.student-access-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-access-head h2{font-size:24px}.student-access-head>div>p:last-child{color:#65798d;margin-top:7px}.student-access-head .secondary,.student-tabs button{align-items:center;gap:7px;display:flex}.student-connector{color:#795a25;background:#fff9ec;border:1px solid #ead6ae;border-radius:8px;align-items:center;gap:10px;padding:13px 15px;font-size:14px;display:flex}.student-connector.online{color:#286a50;background:#eef9f4;border-color:#b9dfcf}.student-error{color:#9a3434;background:#fff0f0;border-radius:7px;padding:12px 14px}.student-metrics{background:#d8e2eb;border:1px solid #d8e2eb;border-radius:9px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.student-metrics>div{background:#fff;padding:17px}.student-metrics span,.student-metrics strong{display:block}.student-metrics strong{color:#203f5b;font-size:25px}.student-metrics span{color:#687c8f;margin-top:4px;font-size:12px}.student-tabs{gap:7px;display:flex;overflow-x:auto}.student-tabs button{white-space:nowrap;color:#405d75;background:#fff;border:1px solid #d4dfe9;border-radius:7px;padding:10px 13px}.student-tabs button[aria-selected=true]{color:#175ca4;background:#e7f1fd;border-color:#4383c8;font-weight:600}.student-search{color:#718396;background:#fff;border:1px solid #d4dfe9;border-radius:7px;align-items:center;gap:9px;width:min(100%,430px);padding:10px 12px;display:flex}.student-search input{background:0 0;border:0;outline:0;width:100%}.student-table-wrap{background:#fff;border:1px solid #d9e2eb;border-radius:9px;overflow:auto}.student-table-wrap table{border-collapse:collapse;width:100%;min-width:820px}.student-table-wrap td,.student-table-wrap th{text-align:left;vertical-align:middle;border-bottom:1px solid #e6ebf0;padding:12px 14px;font-size:13px}.student-table-wrap th{color:#62768a;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:11px}.student-table-wrap td small,.student-table-wrap td strong{display:block}.student-table-wrap td small{color:#6c7e90;margin-top:3px}.student-state{color:#566c80;background:#eef2f6;border-radius:999px;padding:4px 7px;font-size:12px;display:inline-flex}.student-state.applied{color:#23694f;background:#e9f6f0}.student-state.error{color:#9a3434;background:#fff0f0}.student-state.pending{color:#875e1e;background:#fff7e7}.student-boundary{color:#66798b;padding:13px 15px;font-size:12px;line-height:1.6}.student-unlinked{margin-top:4px}.student-unlinked h3{padding:16px 14px 4px}.student-activity{background:#fff;border:1px solid #dae3eb;border-radius:9px;display:grid}.student-activity>div{border-bottom:1px solid #e7ecf1;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px 15px;display:grid}.student-activity small{color:#697c8f;margin-top:3px;display:block}.student-activity time{color:#768798;font-size:11px}.student-connections{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.student-connections article{padding:20px}.student-connections article svg{color:#2d6fa9}.student-connections h3{margin:12px 0 7px}.student-connections p{color:#65798c;font-size:13px}.student-modal-backdrop{z-index:80;background:#10253a88;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.student-modal{background:#fff;border-radius:11px;width:min(720px,100%);max-height:calc(100vh - 44px);overflow:auto;box-shadow:0 22px 70px #0d1d2d55}.student-modal-head{border-bottom:1px solid #e1e7ed;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.student-modal form{padding:0 24px 24px}.student-modal fieldset{border:0;border-bottom:1px solid #e1e7ed;margin:0;padding:22px 0}.student-modal legend{align-items:center;gap:8px;margin-bottom:13px;font-size:16px;font-weight:650;display:flex}.student-modal fieldset>p{color:#697b8e;margin-top:10px;font-size:12px}.student-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.student-form-grid .wide{grid-column:1/3}.student-modal label{color:#3b566f;font-size:13px;font-weight:600;display:block}.student-modal label>span{color:#76889a;font-weight:400}.student-modal input,.student-modal select{background:#fff;border:1px solid #cbd6e1;border-radius:7px;width:100%;margin-top:6px;padding:10px;display:block}.student-modal input[readonly]{color:#607286;background:#f2f5f8}.student-toggle{align-items:center;gap:9px;margin:5px 0 14px;display:flex!important}.student-toggle input{width:auto;margin:0}.student-toggle.suspend{padding:17px 0}.password-row{grid-template-columns:1fr auto auto;align-items:end;gap:8px;margin-top:14px;display:grid}.password-row .secondary{height:40px}.phone-row{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:9px;display:grid}.phone-row .text-button{margin-bottom:10px}.student-modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (max-width:800px){.student-metrics{grid-template-columns:repeat(2,1fr)}.student-connections{grid-template-columns:1fr}.password-row{grid-template-columns:1fr 1fr}.password-row label{grid-column:1/3}.student-activity>div{grid-template-columns:auto 1fr}.student-activity time{grid-column:2}}@media (max-width:560px){.student-access-head{display:block}.student-access-head .secondary{margin-top:12px}.student-form-grid{grid-template-columns:1fr}.student-form-grid .wide{grid-column:auto}.student-modal-backdrop{padding:0}.student-modal{border-radius:0;height:100%;max-height:100vh}.student-modal form,.student-modal-head{padding-left:17px;padding-right:17px}.password-row{grid-template-columns:1fr}.password-row label{grid-column:auto}.student-metrics>div{padding:13px}.student-metrics strong{font-size:21px}}.discovery-workspace{gap:20px;display:grid}.discovery-form{gap:16px;padding:22px;display:grid}.discovery-form label:not(.check-row){gap:8px;display:grid}.discovery-form input:not([type=checkbox]),.discovery-form select{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:100%;padding:10px}.discovery-form small,.discovery-workspace td small{color:var(--muted);margin-top:5px;font-weight:400;display:block}.discovery-catalog{gap:10px;max-height:340px;display:grid;overflow:auto}.discovery-site{text-align:left;color:var(--ink);background:#fff;gap:12px;padding:22px;display:grid}.discovery-site:hover{border-color:var(--blue)}.discovery-workspace details{padding:16px}.discovery-workspace summary{cursor:pointer}.discovery-workspace>.search{max-width:100%}.discovery-workspace .check-row{align-items:flex-start}.discovery-workspace .check-row input{margin-top:4px}.discovery-workspace nav{flex-wrap:wrap}@media (max-width:650px){.discovery-workspace .ops-actions,.discovery-workspace .section-line{flex-wrap:wrap}}.site-workspace-head{justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.site-workspace-head h2{margin:4px 0}.site-workspace-head p{color:var(--muted);margin:0}.site-workspace-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.site-workspace-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.site-workspace-summary article{gap:5px;padding:17px;display:grid}.site-workspace-summary small,.site-workspace-summary span{color:var(--muted);font-size:12px}.site-workspace-summary strong{font-size:20px}.site-workspace-tabs{margin-top:0}.client-module-head{grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:14px 0;padding:20px;display:grid}.client-module-head h2{margin:3px 0}.client-module-head p{color:var(--muted);margin:0;font-size:13px}.client-module-icon{color:#2368a8;background:#e8f1fb;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}@media (max-width:760px){.site-workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.site-workspace-head{flex-direction:column;align-items:flex-start}.client-module-head{grid-template-columns:auto 1fr}.client-module-head>.badge{grid-column:1/-1;justify-self:start}}.mobile-provider-status{padding:20px}.mobile-provider-status>div:first-child{align-items:flex-start;gap:11px;display:flex}.mobile-provider-status h3{margin:0 0 4px}.mobile-provider-status p{color:var(--muted);font-size:13px;line-height:1.55}.mobile-provider-facts,.mobile-provider-status dl{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:16px 0;display:grid;overflow:hidden}.mobile-provider-facts>div,.mobile-provider-status dl>div{background:#fff;padding:12px}.mobile-provider-facts span,.mobile-provider-status dt{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.mobile-provider-facts strong,.mobile-provider-status dd{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.mobile-provider-status a{font-size:13px}.mobile-provider-brand{color:#17344d;letter-spacing:-.02em;background:#e9eef3;border-radius:8px;justify-content:center;align-items:center;min-width:48px;height:34px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.mobile-provider-brand.provider-ee{color:#121212;background:#ffe500}.mobile-provider-brand.provider-o2{color:#fff;background:#0050ff;border-radius:18px}.mobile-provider-brand.provider-vodafone{color:#fff;background:#e60000}.mobile-provider-brand.provider-three{color:#fff;background:#111}.mobile-provider-check{width:max-content;text-decoration:none}.provider-status-result blockquote{border-left:3px solid var(--line);color:var(--ink);background:#f7f9fb;border-radius:0 8px 8px 0;margin:12px 0 0;padding:12px 14px;font-size:13px;line-height:1.55}.provider-status-result blockquote span{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.network-mobile-status{margin-bottom:16px}.mobile-network-setup>summary{font-weight:600}@media (max-width:650px){.mobile-provider-facts,.mobile-provider-status dl{grid-template-columns:1fr}.mobile-provider-status{padding:16px}}.camera-recording-results{overscroll-behavior:contain;max-height:24rem;margin-top:1rem;overflow-y:auto}.cctv-viewer-panel{width:100%;min-width:0}.cctv-viewer-heading{align-items:flex-start}.cctv-mode-tabs{background:#f3f6f9;border:1px solid #ccd8e4;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:3px;display:flex}.cctv-mode-tabs button{color:#536a80;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:13px}.cctv-mode-tabs button[aria-selected=true]{color:#175fae;background:#fff;font-weight:650;box-shadow:0 1px 3px #15345120}.cctv-live-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.cctv-live-toolbar .cctv-grid-controls,.cctv-live-toolbar>.ops-actions{margin:18px 0}.cctv-playback-workspace{margin-top:18px}.camera-recording-result{border-bottom:1px solid #e6ebf1;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.camera-recording-result>span{min-width:0}.camera-recording-result small,.camera-recording-result strong{display:block}.camera-recording-result strong{font-size:14px}.camera-recording-result small{color:#65768a;margin-top:4px;font-size:12px}.camera-recording-result>div{flex-shrink:0;align-items:center;gap:8px;display:flex}.camera-recording-result .secondary{align-items:center;gap:6px;padding:8px 10px;font-size:12px;text-decoration:none;display:inline-flex}@media (max-width:700px){.cctv-viewer-heading{flex-direction:column}.cctv-mode-tabs{width:100%}.cctv-mode-tabs button{flex:1}.cctv-live-toolbar{display:block}.cctv-live-toolbar>.ops-actions{margin-top:0}.camera-recording-result{flex-direction:column;align-items:flex-start}.camera-recording-result>div{flex-wrap:wrap;width:100%}}.client-service-empty{margin-top:18px}.client-system-summary{padding:24px}.client-system-summary-head{align-items:center;gap:13px;margin-bottom:20px;display:flex}.client-system-summary-head h2{margin:3px 0 0}.client-system-records{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.client-system-records>div{border:1px solid #dbe4ed;border-radius:8px;flex-direction:column;gap:4px;padding:14px;display:flex}.client-system-records span{color:#63768a;font-size:13px}.client-system-pending{background:#f5f8fb;border-radius:8px;padding:20px}.client-system-pending h3{margin:0 0 8px}.client-system-pending p{color:#5e7185}.client-system-pending .secondary{margin-top:8px}.service-launcher .service-connection{white-space:normal;text-align:left;width:max-content;max-width:100%;margin-top:10px}.service-connection.verified{color:#22684c;background:#e8f6ef}.service-connection.warning{color:#805b17;background:#fff4dc}.review-summary{color:var(--muted);flex-wrap:wrap;gap:10px 24px;padding:0 20px 18px;font-size:13px;display:flex}.review-summary strong{color:var(--ink);margin-right:4px;font-size:17px}.review-required td{background:#fffaf0}.review-badge{color:#23694f;background:#e9f6f0;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:650;display:inline-flex}.review-badge.attention{color:#895c13;background:#fff0d5}.link-button{color:#175fae;background:0 0;padding:7px 0 0;font-size:12px}.review-panel{border-top:1px solid var(--line);padding:24px}.review-panel h4{margin:0;font-size:19px}.review-panel h5{margin:0 0 10px;font-size:14px}.review-panel .section-line p{color:var(--muted);margin-top:5px;font-size:13px}.review-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;display:grid}.review-grid>div{border:1px solid #dce5ed;border-radius:9px;padding:18px}.review-grid li,.review-grid p{font-size:13px}.review-grid ul{padding-left:20px}.evidence-list{margin:0;list-style:none;padding:0!important}.evidence-list li{border-bottom:1px solid #e5ebf0;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;display:flex}.evidence-list li:last-child{border-bottom:0}.evidence-list small{color:var(--muted)}.evidence-list .secondary{padding:7px 10px;font-size:12px}.review-form{gap:14px;max-width:720px;display:grid}.review-form label{gap:7px;font-size:13px;font-weight:600;display:grid}.review-form select,.review-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd6e0;border-radius:7px;padding:10px 12px;font-weight:400}.review-form>button{background:var(--blue);color:#fff;border-radius:7px;justify-self:start;padding:10px 15px}.review-form [role=alert]{color:#a03932;font-size:13px}@media (max-width:760px){.review-grid{grid-template-columns:1fr}.review-panel{padding:18px}.review-summary{padding-left:16px;padding-right:16px}}.boundary-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;padding:24px}.boundary-editor>.section-line p{color:var(--muted);margin-top:5px;font-size:13px}.boundary-toolbar{flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0;display:flex}.boundary-controls label,.boundary-toolbar label{gap:6px;font-size:12px;font-weight:650;display:grid}.boundary-controls select,.boundary-toolbar select{background:#fff;border:1px solid #cbd6e0;border-radius:7px;min-width:190px;padding:9px 10px}.boundary-toolbar>span{color:var(--muted);padding-bottom:10px;font-size:12px}.boundary-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px;display:grid}.boundary-canvas{background:#132535;border-radius:9px;min-height:280px;position:relative;overflow:hidden}.boundary-canvas img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.boundary-canvas svg{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.boundary-canvas-actions{align-items:center;gap:12px;margin-top:10px;display:flex}.boundary-canvas-actions span{color:var(--muted);font-size:12px}.boundary-controls{border:1px solid #dce5ed;border-radius:9px;align-content:start;gap:12px;padding:16px;display:grid}.boundary-list{gap:7px;margin-top:4px;display:grid}.boundary-list button{text-align:left;color:var(--ink);background:#fff;border:1px solid #dce5ed;border-radius:7px;grid-template-columns:10px 1fr;column-gap:8px;padding:10px;display:grid}.boundary-list button.active{background:#eff6ff;border-color:#4483c4}.boundary-list button>span{border-radius:50%;grid-row:1/3;width:9px;height:9px;margin-top:3px}.boundary-list button strong{font-size:12px}.boundary-list button small{color:var(--muted);font-size:11px}.boundary-edit-actions,.boundary-save-actions{flex-wrap:wrap;gap:8px;display:flex}.boundary-save-actions{border-top:1px solid #e1e8ef;padding-top:12px}.boundary-save-actions .primary{border:0}.boundary-controls .info-panel{margin:0}@media (max-width:900px){.boundary-layout{grid-template-columns:1fr}}@media (max-width:600px){.boundary-editor{padding:18px}.boundary-toolbar label,.boundary-toolbar select{width:100%}.boundary-canvas{min-height:190px}}.retail-workspace{min-width:0;padding:0;overflow:hidden}.retail-state{padding:24px}.retail-workspace-header{justify-content:space-between;align-items:flex-start;gap:18px;padding:19px 20px 12px;display:flex}.retail-workspace-header h3{margin:0;font-size:19px}.retail-workspace-header p{color:var(--muted);margin:5px 0 0;font-size:13px}.retail-workspace .review-summary{padding:0 20px 14px}.retail-tabs{border-bottom:1px solid var(--line);align-items:center;gap:3px;padding:0 16px;display:flex;overflow-x:auto}.retail-detail-tabs button,.retail-tabs button{color:#586f84;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px}.retail-detail-tabs button[aria-selected=true],.retail-tabs button[aria-selected=true]{border-color:var(--blue);color:#175fae;font-weight:650}.retail-tabs button span{background:#edf2f7;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:11px;display:inline-flex}.retail-held-note{color:#795a25;background:#fff9ec;border:1px solid #ead6ae;border-radius:7px;margin:10px 14px 0;padding:9px 11px;font-size:12px}.retail-tab-panel{padding:14px}.retail-review-layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:12px;min-width:0;height:clamp(520px,100dvh - 295px,760px);min-height:0;display:grid}.retail-case-detail,.retail-case-queue{background:#fff;border:1px solid #d8e2eb;border-radius:9px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.retail-pane-head{background:#f8fafc;border-bottom:1px solid #e1e8ef;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;display:flex}.retail-pane-head small,.retail-pane-head strong{display:block}.retail-pane-head strong{font-size:13px}.retail-pane-head small{color:var(--muted);margin-top:2px;font-size:10px}.retail-pane-head select{min-width:132px;max-width:150px;color:var(--ink);background:#fff;border:1px solid #cbd6e0;border-radius:6px;padding:7px 8px;font-size:11px}.retail-pane-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow:auto}.retail-case-list{flex:1}.retail-case-list>button{width:100%;color:var(--ink);text-align:left;background:#fff;border-top:0;border-bottom:1px solid #e6ecf1;border-left:3px solid #0000;border-right:0;border-radius:0;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.retail-case-list>button:hover{background:#f6f9fc}.retail-case-list>button.active{border-left-color:var(--blue);background:#edf5fe}.retail-case-list>button>span:last-child{text-align:right}.retail-case-list small,.retail-case-list strong{display:block}.retail-case-list strong{font-size:14px}.retail-case-list small{color:var(--muted);margin-top:3px;font-size:10px}.retail-case-list .review-badge{margin-top:5px}.retail-case-head{background:#f8fafc;border-bottom:1px solid #e1e8ef;justify-content:space-between;align-items:center;gap:18px;padding:13px 15px;display:flex}.retail-case-head h4{margin:0 0 0 8px;font-size:18px;display:inline}.retail-case-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.retail-case-head dl{background:#dce5ed;border:1px solid #dce5ed;border-radius:7px;grid-template-columns:repeat(3,minmax(85px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.retail-case-head dl>div{background:#fff;padding:7px 9px}.retail-case-head dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:9px}.retail-case-head dd{max-width:170px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:11px;overflow:hidden}.retail-detail-tabs{display:none}.retail-detail-scroll{flex:1;padding:13px}.retail-evidence-review-grid{grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);align-items:start;gap:13px;display:grid}.retail-decision-pane,.retail-evidence-pane{min-width:0}.retail-decision-pane{background:#fbfcfd;border:1px solid #dce5ed;border-radius:8px;padding:14px}.retail-decision-pane h5,.retail-evidence-pane h5{margin:0;font-size:14px}.retail-evidence-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px;display:flex}.retail-evidence-heading p{color:var(--muted);margin:3px 0 0;font-size:11px}.retail-evidence-heading .secondary{padding:7px 9px;font-size:11px;text-decoration:none}.retail-evidence-video{aspect-ratio:16/9;object-fit:contain;background:#0d1f2d;border-radius:8px;width:100%;max-height:410px;display:block}.retail-playback-error,.retail-save-notice{border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:11px}.retail-playback-error{color:#963b35;background:#fff0f0}.retail-save-notice{color:#23694f;background:#e9f6f0}.retail-stream-picker{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.retail-segmented{background:#f1f5f8;border:1px solid #ccd8e4;border-radius:7px;align-items:center;gap:2px;padding:2px;display:flex;overflow-x:auto}.retail-segmented button{color:#536a80;white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:6px 9px;font-size:11px}.retail-segmented button[aria-pressed=true]{color:#175fae;background:#fff;font-weight:650;box-shadow:0 1px 3px #15345120}.retail-segmented button span{background:#e7edf3;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:3px;font-size:9px;display:inline-flex}.retail-camera-picker{max-width:70%}.retail-clip-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:9px;display:grid}.retail-clip-nav>span{text-align:center;color:#405970;font-size:11px}.retail-clip-nav small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.retail-clip-nav .secondary{padding:6px 8px;font-size:10px}.retail-assessment{font-size:11px;margin:11px 0 0!important;padding:9px 11px!important}.retail-assessment[open]>summary{margin-bottom:8px!important}.retail-assessment ul{margin:0;padding-left:18px}.retail-last-review{color:#304f69;background:#edf5fe;border-radius:6px;margin:10px 0;padding:9px;font-size:11px}.retail-last-review small{color:var(--muted)}.retail-decision-pane .review-form{gap:10px}.retail-decision-pane .review-form label{font-size:11px}.retail-decision-pane .review-form select,.retail-decision-pane .review-form textarea{padding:8px 9px;font-size:12px}.retail-decision-pane .review-form>button{padding:8px 11px;font-size:12px}.retail-decision-pane .field-note{margin:0;font-size:10px}.retail-empty{color:var(--muted);padding:20px;font-size:13px}.retail-secondary-panel>.section-line{margin-bottom:12px}.retail-secondary-panel>.section-line h4{margin:0}.retail-secondary-panel>.section-line p{color:var(--muted);margin:4px 0 0;font-size:12px}.retail-reads-table{max-height:clamp(360px,100dvh - 340px,680px);overflow:auto}.retail-boundary-panel .boundary-editor{border:0;margin:0;padding:0}.retail-boundary-panel{overscroll-behavior:contain;max-height:calc(100dvh - 260px);overflow:auto}@media (max-width:1100px){.retail-review-layout{grid-template-columns:minmax(230px,270px) minmax(0,1fr)}.retail-evidence-review-grid{grid-template-columns:1fr}.retail-decision-pane{margin-top:2px}.retail-evidence-video{max-height:360px}}@media (max-width:760px){.retail-workspace-header{padding:14px}.retail-workspace-header p{display:none}.retail-workspace .review-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 14px 10px;display:grid}.retail-workspace .review-summary span{background:#f4f7fa;border-radius:6px;padding:6px 8px}.retail-workspace .review-summary strong{font-size:14px}.retail-tabs{padding:0 8px}.retail-tabs button{flex:1;padding:9px 6px}.retail-tab-panel{padding:8px}.retail-review-layout{grid-template-columns:1fr;gap:8px;height:calc(100dvh - 260px);min-height:520px}.retail-case-queue{max-height:150px}.retail-pane-head{padding:7px 9px}.retail-case-list>button{padding:8px 10px}.retail-case-head{padding:9px 10px}.retail-case-head dl{grid-template-columns:repeat(2,minmax(75px,1fr))}.retail-case-head dl>div:last-child{display:none}.retail-detail-tabs{border-bottom:1px solid #e1e8ef;display:flex}.retail-detail-tabs button{flex:1}.retail-detail-scroll{padding:9px}.retail-evidence-review-grid{display:block}.retail-evidence-review-grid[data-mobile-view=decision] .retail-evidence-pane,.retail-evidence-review-grid[data-mobile-view=footage] .retail-decision-pane{display:none}.retail-decision-pane{margin:0}.retail-evidence-video{max-height:none}.retail-stream-picker{flex-direction:column;align-items:stretch}.retail-camera-picker{max-width:100%}.retail-segmented button{flex:1}.retail-boundary-panel{max-height:calc(100dvh - 225px)}}.retail-playback-error{justify-content:space-between;align-items:center;gap:8px;display:flex}.retail-playback-error .secondary{flex:none;padding:5px 8px;font-size:10px}.retail-following-badge{color:#24664d;text-overflow:ellipsis;white-space:nowrap;background:#edf8f2;border:1px solid #b9d8c9;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:650;overflow:hidden}.retail-journey-note{color:#385b78;background:#edf5fe;border-radius:6px;margin:8px 0 0;padding:7px 9px;font-size:10px}.retail-journey-note.attention{color:#7a5a22;background:#fff7e8}.retail-route-candidates{gap:6px;margin-top:7px;display:flex;overflow-x:auto}.retail-route-candidates .secondary{flex:none;padding:6px 8px;font-size:10px}.retail-route-candidates small{color:var(--muted);margin-left:4px}.retail-manual-cameras{background:0 0;border:0;margin-top:7px;padding:0}.retail-manual-cameras>summary{cursor:pointer;color:#526a80;font-size:10px}.retail-manual-cameras[open]>summary{margin-bottom:6px}.retail-manual-cameras .retail-camera-picker{vertical-align:middle;max-width:100%;display:inline-flex}.retail-resume-follow{margin-left:7px;padding:6px 8px!important;font-size:10px!important}.compact-services:has(>.retail-workspace)>.client-module-head,.compact-services:has(>.retail-workspace)>.page-heading{display:none}.ux-client-shell .compact-services:has(>.retail-workspace).client-main{padding-top:12px}.ux-client-shell .compact-services:has(>.retail-workspace)>.client-context{margin-bottom:10px;padding-bottom:10px}@media (max-width:900px){.ux-client-shell .compact-services:has(>.retail-workspace)>.client-service-tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:6px;margin-bottom:10px;display:flex;overflow-x:auto}.compact-services:has(>.retail-workspace)>.client-service-tabs button{flex:none;padding:8px 11px;font-size:12px}}@media (max-width:460px){.retail-workspace-header .secondary{padding:7px 8px}.retail-workspace-header h3{font-size:16px}.retail-tabs button span{display:none}.retail-case-head p{text-overflow:ellipsis;white-space:nowrap;max-width:205px;overflow:hidden}.retail-case-head dl{display:none}.retail-route-candidates{padding-bottom:2px}.retail-manual-cameras .retail-camera-picker{width:100%;display:flex}.retail-resume-follow{margin:6px 0 0;display:block}}.network-extension-fields{border:1px solid var(--line);background:#f8fafc;border-radius:8px;margin-top:18px;padding:16px}.network-extension-fields h5{margin:0 0 7px;font-size:.9rem}.network-extension-fields>.field-note{margin-bottom:15px!important}.network-extension-fields .ops-fields>div>strong{color:#526b7f;margin-bottom:10px;font-size:.8rem;display:block}.network-extension-fields label:last-child{margin-bottom:0}.live-directory{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.live-directory-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.live-directory-heading small,.live-directory-list small{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.live-directory-list{border-top:1px solid #e5ebf1;margin-top:12px}.live-directory-list>div{border-bottom:1px solid #e5ebf1;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.endpoint-actions,.live-directory-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.icon-button.danger{color:#a53b3b}.live-hangup{margin-top:12px}.compact-action{padding:7px 9px;font-size:.75rem}.success{color:#286a50;background:#eef9f4;border:1px solid #b9dfcf;border-radius:7px;margin:14px 0;padding:11px 13px;font-size:.875rem}@media (max-width:600px){.live-directory-heading,.live-directory-list>div{flex-direction:column;align-items:flex-start}.live-directory-actions{align-self:flex-end}}.access-live-title{justify-content:space-between;align-items:end;gap:18px;display:flex}.live-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.live-control-card{grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:14px;padding:18px;display:grid}.live-control-card p{color:var(--muted);margin-top:4px;font-size:.8rem}.access-event-mark,.live-control-icon{color:#2d6a96;background:#edf4fc;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.live-control-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.live-control-loading{grid-column:1/-1}.access-live-search{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;align-items:center;gap:8px;min-width:260px;padding:9px 11px;display:flex}.access-live-search input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.85rem}.access-people-table td:nth-child(2){color:#526b7f}.access-event-list{overflow:hidden}.access-event-row{border-bottom:1px solid #e7edf2;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px;padding:15px 18px;display:grid}.access-event-row:last-child{border-bottom:0}.access-event-row strong{font-size:.875rem}.access-event-row p{color:#586f83;margin-top:3px;font-size:.78rem}.access-event-row small{color:var(--muted);margin-top:3px;font-size:.72rem;display:block}.access-event-row time{color:var(--muted);white-space:nowrap;font-size:.75rem}.access-event-mark{border-radius:50%;width:32px;height:32px}.access-event-mark.success{color:#176749;background:#e7f5ef;border:0;margin:0;padding:0}.access-event-mark.warning{color:#8c5d13;background:#fff2d9}.access-event-mark.info{color:#2d6a96;background:#edf4fc}@media (max-width:900px){.live-control-grid{grid-template-columns:1fr}.access-live-title{flex-direction:column;align-items:stretch}.access-live-search{min-width:0;max-width:420px}}@media (max-width:650px){.live-control-card{grid-template-columns:auto 1fr}.live-control-actions,.live-control-card>.badge,.live-control-card>.primary{grid-column:1/-1}.live-control-actions{justify-content:flex-start}.access-event-row{grid-template-columns:auto minmax(0,1fr)}.access-event-row time{white-space:normal;grid-column:2}.access-people-table td,.access-people-table th{padding-left:12px;padding-right:12px}}.compact-section{background:var(--panel,#fff);border:1px solid #dbe4ed;border-radius:10px;margin:12px 0;padding:12px 16px}.compact-section>summary{cursor:pointer;color:#183a53;padding:3px 0;font-weight:600}.compact-section[open]>summary{margin-bottom:14px}.access-event-list,.client-topology-nodes,.live-directory-list,.network-port-list,.router-observation-list{overscroll-behavior:contain;max-height:420px;overflow:auto}.wireless-overview .table-scroll{max-height:360px;overflow:auto}.client-network-dashboard>.network-tabs{margin-bottom:16px}@media (min-width:1000px){.client-network-detail{align-self:start;position:sticky;top:16px}}.compact-services>.page-heading{margin:16px 0 12px}.compact-services>.page-heading .eyebrow,.compact-services>.page-heading p{display:none}.compact-services>.page-heading h1{margin:0;font-size:24px}.compact-services .client-module-head{margin:12px 0;padding:12px 16px}.compact-services .client-module-head .eyebrow,.compact-services .client-module-head p{display:none}.compact-services .client-module-head h2{margin:0;font-size:18px}.compact-services .network-client-toolbar{display:none}.compact-services .wireless-content{grid-template-columns:minmax(0,1fr);gap:12px}.compact-services .wireless-content>div:first-child h3{margin:0 0 4px}.compact-services .wireless-content>div:first-child p{margin:4px 0}.compact-services .wireless-overview .table-scroll{max-height:330px}.intercom-routing form,.network-link-form{gap:12px;display:grid}.intercom-routing label,.network-link-form label,.site-network-controls label{gap:6px;display:grid}.intercom-routing select,.intercom-routing textarea,.network-link-form input,.network-link-form select,.site-network-controls input,.site-network-controls select{color:#16364d;font:inherit;background:#fff;border:1px solid #ccd9e5;border-radius:6px;min-width:0;max-width:100%;padding:9px 10px;font-weight:400}.site-network-controls input[type=number]{width:100px}.site-network-controls .table-scroll{max-height:360px;overflow:auto}.compact-services .access-heading .eyebrow,.compact-services .access-heading h2,.compact-services .access-heading p{display:none}.compact-services .access-heading{min-height:0;margin:0 0 12px}.compact-services .access-filter{margin:12px 0}.compact-services .access-live-title p,.compact-services .access-workspace>.section-title p{display:none}.compact-services .system-card{padding:16px}.compact-services .live-directory-list{max-height:330px}.intercom-routing,.site-network-controls{padding:18px}.wireless-heading>div:has(>p){display:block}.wireless-heading>div>p{margin:4px 0}.tenant-intercom-fields{gap:14px;min-width:0;display:grid}.tenant-intercom-fields .ops-fields{margin:0}.tenant-pin-fields{border:1px solid var(--line,#d5dfeb);border-radius:9px;padding:12px}.tenant-pin-fields summary{cursor:pointer;font-weight:600}.tenant-pin-fields[open] summary{margin-bottom:12px}.tenant-pin-fields label{gap:6px;margin-top:10px;display:grid}.tenant-pin-actions{flex-wrap:wrap;gap:8px;display:flex}.tenant-pin-reveal{overflow-wrap:anywhere;background:#f2f6fb;padding:10px}.tenant-caller-fields{min-width:0;margin:0}.tenant-caller-row{align-items:end;gap:8px;margin:8px 0;display:flex}.tenant-caller-row label{flex:1;min-width:0;margin:0}.tenant-caller-row input{width:100%;min-width:0}.tenant-intercom-fields .field-note{margin:0;font-size:13px}.tenant-intercom-fields button{white-space:normal}@media (max-width:600px){.tenant-pin-actions button{width:100%}.tenant-caller-fields .dialog-actions{flex-wrap:wrap}.tenant-caller-row{gap:6px}}.tenant-device-picker{gap:8px;margin:12px 0;display:grid}.tenant-device-picker .check-row{align-items:center;gap:10px;display:flex}.tenant-device-picker input[type=checkbox]{flex:0 0 18px;width:18px;height:18px}.tenant-access-directory{margin-top:24px}.tenant-access-directory .section-title{flex-wrap:wrap;gap:12px}.tenant-access-directory td{vertical-align:middle}.intercom-hardware .system-meta{flex-wrap:wrap}.unmatched-directory{margin-top:16px}.tenant-device-fields{min-width:0}.tenant-device-picker span{overflow-wrap:anywhere}.compact-access-page>.page-heading{display:none}.compact-access-page .client-context{margin-bottom:12px}.compact-access-page .client-service-tabs{gap:6px;margin-bottom:12px}.compact-access-page .client-service-tabs button{padding:8px 12px;font-size:13px}.access-workspace-compact{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:14px}.access-workspace-compact .access-heading{align-items:center;gap:10px;margin:0 0 8px}.access-workspace-compact .access-heading h2{font-size:18px;line-height:24px;display:block}.access-workspace-compact .access-heading .eyebrow,.access-workspace-compact .access-heading p{display:none}.access-summary{color:var(--muted);font-size:12px;line-height:18px;display:block}.access-workspace-compact>.network-tabs{flex-wrap:nowrap;gap:4px;margin:0 0 8px;overflow-x:auto}.access-workspace-compact>.network-tabs button{white-space:nowrap;padding:8px 10px;font-size:13px}.access-workspace-compact>.access-filter{display:none}.access-workspace-compact>.access-filter:has(label){margin:8px 0;display:flex}.access-workspace-compact .access-controls-title,.access-workspace-compact .access-counts{display:none}.access-workspace-compact .live-control-grid{gap:8px;margin:8px 0}.access-workspace-compact .live-control-card{gap:10px;padding:10px 12px}.access-workspace-compact .live-control-card h3{font-size:14px}.access-workspace-compact .live-control-card p{font-size:12px}.access-entrances{margin:0 0 10px}.access-entrances>summary{cursor:pointer;color:var(--ink);padding:5px 0;font-size:13px;font-weight:600}.access-entrances>summary>span,.tenant-directory-toggle>span{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.access-workspace-compact .intercom-hardware{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.intercom-row{border:1px solid var(--line);background:#f8fafc;border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.intercom-row-name{align-items:center;gap:8px;min-width:0;display:flex}.intercom-row-name>svg{color:#477b9d;flex-shrink:0}.intercom-row-name h3{overflow-wrap:anywhere;font-size:13px;line-height:18px}.intercom-row-name small{color:var(--muted);font-size:11px;line-height:16px;display:block}.intercom-row>.badge{white-space:normal;font-size:11px}.intercom-row>.dialog-error{grid-column:1/-1;margin:0}.intercom-row-details{font-size:12px;position:relative}.intercom-row-details>summary{cursor:pointer;color:var(--blue);padding:5px 0}.intercom-row-details>div{z-index:15;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(290px,100vw - 80px);padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #19324824}.intercom-row-details p{margin:6px 0;font-size:12px}.intercom-row-details button{margin-top:5px;padding:7px 10px;font-size:12px}.access-workspace-compact .tenant-access-directory{border-top:1px solid var(--line);margin-top:0;padding-top:8px}.tenant-directory-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tenant-directory-toggle{color:var(--ink);text-align:left;background:0 0;align-items:center;gap:5px;min-width:0;padding:5px 0;display:flex}.tenant-directory-toggle h2{font-size:14px;line-height:20px}.tenant-directory-search{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;display:flex}.tenant-directory-search input{width:160px;min-width:0;color:var(--ink);background:0 0;border:0;padding:0;font-size:13px;line-height:20px}.tenant-table-scroll{border:1px solid var(--line);scrollbar-gutter:stable;border-radius:7px;max-height:clamp(200px,100dvh - 430px,470px);overflow:auto}.tenant-table-scroll table{width:100%;font-size:12px}.tenant-table-scroll th{z-index:2;white-space:nowrap;background:#f4f7fa;padding:8px 10px;font-size:11px;position:sticky;top:0}.tenant-table-scroll td{vertical-align:middle;padding:6px 10px;line-height:16px}.tenant-table-scroll .cell-sub{margin:0;font-size:11px;line-height:16px}.tenant-table-scroll .badge{white-space:nowrap;padding:3px 6px;font-size:10px}.tenant-table-scroll .compact-action{white-space:nowrap;min-height:30px;padding:5px 8px;font-size:12px}.tenant-table-scroll .endpoint-actions{gap:5px}.access-workspace-compact>.compact-section{margin:8px 0;padding:8px 10px;font-size:13px}.access-workspace-compact>.compact-section:last-of-type{margin-bottom:0}@media (max-width:700px){.access-workspace-compact{padding:10px}.access-workspace-compact .access-heading{align-items:flex-start}.access-workspace-compact .access-heading h2{font-size:16px}.access-workspace-compact .intercom-hardware{grid-template-columns:minmax(0,1fr)}.intercom-row{gap:8px;padding:8px}.tenant-directory-toolbar{flex-wrap:wrap;gap:6px}.tenant-directory-search{width:100%}.tenant-directory-search input{width:100%;font-size:16px}.tenant-table-scroll{max-height:360px}.tenant-table-scroll table{min-width:650px}.tenant-table-scroll td,.tenant-table-scroll th{padding:7px 9px}.tenant-table-scroll .compact-action{min-height:36px}}.ux-client-shell .hub-layout .client-main.compact-access-page{padding-top:12px}.ux-client-shell .compact-access-page .client-context{margin-bottom:10px;padding-bottom:8px}.compact-access-page .tenant-table-scroll{max-height:clamp(200px,100dvh - 568px,470px)}.ux-client-shell .compact-access-page>footer{margin-top:8px;padding:6px 0 8px;font-size:11px;line-height:16px}@media (max-width:700px){.compact-access-page .tenant-table-scroll{max-height:360px}}.site-switch-inventory{margin-bottom:16px;padding:18px}.site-switch-inventory .section-line{margin-bottom:14px}.site-switch-inventory .section-line p{color:#687a8d;margin-top:4px;font-size:12px}.site-switch-layout{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);align-items:start;gap:20px;display:grid}.switch-port-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.switch-port-heading .check-row{white-space:nowrap;border:0;align-items:center;gap:6px;min-height:0;padding:0;display:flex}.live-switch-detail{min-width:0}.live-switch-detail .network-port-list{max-height:310px}.live-switch-detail .network-port-list>div>span:first-child{overflow-wrap:anywhere;min-width:0}.live-switch-detail .network-port-list .badge{flex-shrink:0}.live-switch-detail .field-note{margin-top:10px;font-size:11px;line-height:1.5}.live-switch-detail .client-network-detail-head p{color:#687a8d;margin-top:4px;font-size:12px}.client-topology-nodes button>span.router-state{flex:0 0 9px;width:9px;height:9px}.client-network-dashboard>.site-network-controls{margin-top:16px}.site-network-controls>summary{cursor:pointer;font-size:14px;font-weight:600}.site-network-controls[open]>.wireless-heading{margin-top:16px}@media (max-width:650px){.site-switch-layout{grid-template-columns:1fr}.site-switch-inventory{padding:14px}.site-switch-layout>.client-topology-nodes{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}.network-view-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.network-view-controls .network-tabs{flex:1;margin-bottom:0}.network-view-controls>.secondary{white-space:nowrap;font-size:12px}@media (max-width:650px){.network-view-controls{gap:8px}.network-view-controls .network-tabs{flex-basis:100%}}.switch-faceplate-container{margin:14px 0 12px;position:relative}.switch-faceplate-scroll{scrollbar-width:thin;padding:4px 1px 8px;overflow-x:auto}.switch-faceplate{background:linear-gradient(#fff,#d8e0e6 55%,#eaf0f4);border:1px solid #aebbc5;border-radius:7px;align-items:center;gap:12px;min-width:620px;padding:14px 10px;display:flex;box-shadow:inset 0 2px #fff,0 3px 5px #0a243e12}.switch-faceplate.small-switch{min-width:330px}.switch-case-brand{color:#344d60;flex:0 0 78px;width:78px}.switch-case-brand strong{letter-spacing:-.6px;font-size:13px;display:block}.switch-case-brand small{overflow-wrap:anywhere;font-size:8px;line-height:1.5;display:block}.case-led{background:#2b9469;border-radius:50%;width:5px;height:5px;margin-top:8px;display:inline-block}.switch-screw{background:linear-gradient(45deg,#a2afb8 45%,#546a7a 45% 55%,#dce5eb 55%);border:1px solid #8595a0;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.switch-port-banks{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.switch-port-bank{flex:1;grid-template-rows:repeat(2,1fr);grid-auto-columns:minmax(22px,1fr);grid-auto-flow:column;gap:5px 3px;display:grid}.switch-port-bank.fibre-bank{border-left:1px solid #a6b5bf;flex:.5;grid-auto-columns:minmax(24px,1fr);padding-left:9px}.switch-socket{color:#365068;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;min-width:0;padding:1px 0 0;position:relative}.switch-socket svg{filter:drop-shadow(0 1px #fff);width:100%;height:24px;display:block}.switch-socket>span:last-child{margin-top:1px;font-size:9px;line-height:1;display:block}.socket-housing{fill:#172735;stroke:#6d8393;stroke-width:2px}.socket-contact{stroke:#b8a05c;stroke-width:2px}.socket-led{z-index:1;background:#71818b;border-radius:1px;width:4px;height:3px;position:absolute;top:3px;left:3px}.switch-socket.up .socket-led{background:#32d389;box-shadow:0 0 3px #2aa779}.switch-socket.disabled{opacity:.45}.switch-socket.selected,.switch-socket:focus-visible,.switch-socket:hover{outline-offset:1px;opacity:1;background:#eaf2ff;outline:2px solid #2469cf}.switch-port-legend{color:#62788a;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:10px;display:flex}.switch-port-legend>span{align-items:center;gap:4px;display:flex}.switch-port-legend i{background:#8696a2;border-radius:50%;width:6px;height:6px;display:inline-block}.switch-port-legend i.up{background:#248b65}.switch-port-legend i.disabled{background:#cbd4dc}.switch-port-legend>small{margin-left:auto}.switch-port-tooltip{z-index:20;color:#f7fbff;pointer-events:none;overflow-wrap:anywhere;background:#12324b;border:1px solid #244d6f;border-radius:8px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 5px);left:0;right:0;box-shadow:0 7px 20px #122c4933}.switch-port-tooltip span,.switch-port-tooltip strong{margin:3px 0;display:block}.switch-port-tooltip span{color:#dbe7f0;font-size:11px}.switch-port-list-details{margin-top:12px}.switch-port-list-details>summary{cursor:pointer;padding:5px 0;font-size:12px;font-weight:600}.switch-port-list-details[open]>summary{margin-bottom:10px}.live-switch-detail .network-port-list>button{text-align:left;color:#24435c;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e7ecf1;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 0;display:flex}.live-switch-detail .network-port-list>button:hover{background:#edf5ff}.live-switch-detail .network-port-list>button>span:first-child{overflow-wrap:anywhere;min-width:0}.switch-port-dialog{color:#16364e;background:#fff;border:1px solid #cddbe6;border-radius:14px;width:min(920px,100vw - 24px);max-width:920px;max-height:calc(100dvh - 32px);margin:auto;padding:22px;overflow:auto;box-shadow:0 24px 80px #09283c55}.switch-port-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a253a77}.switch-port-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.switch-port-dialog-head h2{margin-top:4px;font-size:22px}.switch-port-dialog-head .secondary{align-items:center;gap:5px;display:flex}.switch-port-dialog .switch-faceplate{margin:4px 0}.port-detail-facts{border:1px solid #dfe7ee;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0;display:grid;overflow:hidden}.port-detail-facts>div{background:#f7fafe;padding:12px}.port-detail-facts span,.port-detail-facts strong{font-size:12px;display:block}.port-detail-facts span{color:#647c90;margin-bottom:5px;font-size:11px}.port-neighbours{flex-wrap:wrap;gap:6px 14px;margin-bottom:16px;font-size:12px;display:flex}.port-neighbours>strong{flex-basis:100%}.port-settings-grid{grid-template-columns:1.1fr 1fr;gap:20px;margin:18px 0;display:grid}.port-settings-grid form{align-content:start;gap:9px;display:grid}.port-settings-grid form>button{justify-self:start}.port-settings-grid label,.port-vlan-fields label{gap:6px;font-size:12px;font-weight:600;display:grid}.port-settings-grid input,.port-vlan-fields select{width:100%;font:inherit;color:#16364e;background:#fff;border:1px solid #c7d6e4;border-radius:7px;padding:10px}.port-power-controls>strong{margin-bottom:12px;font-size:12px;display:block}.port-power-controls .secondary{align-items:center;gap:5px;font-size:12px;display:flex}.port-vlan-fields{grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;display:grid}.port-vlan-settings fieldset{border:1px solid #dce5ed;border-radius:8px;margin:12px 0;padding:12px}.port-vlan-settings legend{padding:0 5px;font-size:12px}.port-vlan-settings form>button{margin-top:12px}.switch-port-dialog .field-note{color:#62798b;font-size:11px;line-height:1.5}.switch-port-dialog .info-panel{align-items:center;gap:8px;font-size:12px;display:flex}@media (max-width:650px){.switch-port-dialog{padding:14px}.port-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.port-settings-grid,.port-vlan-fields{grid-template-columns:1fr}.switch-port-dialog-head{align-items:flex-start}.switch-port-dialog-head .eyebrow{font-size:10px}.switch-port-dialog-head h2{font-size:18px}.switch-faceplate.small-switch{min-width:360px}}.switch-port-dialog-head>.ops-actions{border:0;flex-wrap:nowrap;flex:none;align-items:center;gap:8px;margin:0;padding:0;display:flex}.switch-port-dialog .port-settings-grid form,.switch-port-dialog .port-vlan-settings form{box-shadow:none;border:0;margin:0;padding:0}.switch-port-dialog .port-power-controls .ops-actions{border:0;justify-content:flex-start;gap:8px;margin:0;padding:0}@media (max-width:650px){.switch-port-dialog-head>.ops-actions{gap:4px}.switch-port-dialog-head>.ops-actions .secondary{min-height:0;padding:8px}.switch-port-dialog-head .eyebrow{max-width:155px;display:block}}.device-bandwidth-open{align-items:center;gap:8px;margin:0 0 14px;display:inline-flex}.device-bandwidth-dialog{max-width:820px}.device-bandwidth-panel{min-width:0}.bandwidth-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:10px 0 16px;display:flex}.bandwidth-toolbar p{max-width:520px;margin:0}.bandwidth-toolbar button{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.bandwidth-toolbar h3{margin:0}.bandwidth-pool{background:#eef5fc;border:1px solid #cddfec;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:16px;padding:14px;display:flex}.bandwidth-pool strong{font-size:1.25rem}.bandwidth-pool span{font-size:.85rem}.bandwidth-pool small{color:#567087;margin-left:auto}.bandwidth-allocations{gap:8px;display:grid}.bandwidth-allocations>button{text-align:left;color:inherit;background:#fff;border:1px solid #d6e2ec;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.bandwidth-allocations>button:hover,.connected-device-list>button:hover{background:#f3f8fc;border-color:#2674b9}.bandwidth-allocations>button span{flex-direction:column;gap:4px;display:flex}.bandwidth-allocations>button span:nth-child(2){text-align:right;margin-left:auto}.bandwidth-allocations small,.connected-device-list small{color:#5f778d;font-size:.8rem}.bandwidth-allocation-head{justify-content:space-between;align-items:center;gap:12px;margin:16px 0 8px;display:flex}.bandwidth-allocation-head h3{overflow-wrap:anywhere;margin:0}.bandwidth-edit-fields{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}.bandwidth-edit-fields label{flex-direction:column;gap:7px;font-size:.85rem;display:flex}.bandwidth-edit-fields input{width:100%;min-width:0}.bandwidth-usage{grid-template-columns:1fr 1fr}.bandwidth-save{border-top:1px solid #d6e2ec;margin-top:18px;padding-top:12px}.bandwidth-save .ops-actions{border:0;justify-content:flex-start;padding:0}.device-bandwidth-panel .text-button{align-items:center;gap:6px;display:inline-flex}.device-bandwidth-panel form{padding:0}.port-connected-devices{border-top:1px solid #d6e2ec;border-bottom:1px solid #d6e2ec;margin:16px 0;padding:12px 0}.port-connected-devices .text-button{align-items:center;gap:6px;display:inline-flex}.connected-device-list{gap:6px;max-height:260px;display:grid;overflow:auto}.connected-device-list>button{text-align:left;color:inherit;background:#fff;border:1px solid #d6e2ec;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.connected-device-list>button span{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.connected-device-list small,.connected-device-list strong,.port-connected-devices dd{overflow-wrap:anywhere}@media (max-width:600px){.bandwidth-toolbar{flex-wrap:wrap;align-items:flex-start}.bandwidth-pool{gap:5px;display:grid}.bandwidth-pool small{margin-left:0}.bandwidth-allocations>button{flex-wrap:wrap}.bandwidth-allocations>button span{flex:100%}.bandwidth-allocations>button span:nth-child(2){text-align:left;flex:1;margin-left:0}.bandwidth-edit-fields{gap:10px}.bandwidth-allocation-head,.bandwidth-save .ops-actions{flex-wrap:wrap}}.shared-pin-dialog{max-width:530px}.shared-pin-dialog form{gap:12px;padding:0;display:grid}.shared-pin-dialog form>label:not(.check-row){gap:6px;display:grid}.shared-pin-dialog input:not([type=checkbox]){width:100%;min-width:0}.shared-pin-dialog .check-row{align-items:center;gap:8px;display:flex}.shared-pin-dialog .check-row input{width:auto}.shared-pin-dialog .ops-actions{border:0;justify-content:flex-end;padding:0}.shared-pin-status{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.shared-pin-status small{color:#567087}.shared-pin-dialog>.text-button{align-items:center;gap:6px;margin-top:16px;display:inline-flex}.shared-pin-dialog .info-panel{margin:0;font-size:.85rem}.shared-pin-dialog .field-note{margin:0}.shared-pin-dialog .switch-port-dialog-head{align-items:flex-start}.tenant-connectivity .network-client-toolbar h3{margin:0}.connection-unit{color:var(--muted,#60758a);margin-top:5px;display:block}.connection-live-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.connection-live-groups article{padding:16px}.connection-live-groups h4{margin:0 0 8px}.connection-live-groups small{overflow-wrap:anywhere}.connection-vlan-choices{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.connection-vlan-choices span{background:#eef4fa;border-radius:5px;padding:6px 8px;font-size:12px}.tenant-connectivity table{border-collapse:collapse;width:100%}.tenant-connectivity td,.tenant-connectivity th{text-align:left;vertical-align:top;border-bottom:1px solid #e3eaf1;padding:12px}.tenant-connectivity td .secondary{white-space:nowrap}.connection-dialog{width:min(720px,100vw - 24px)}.tenant-connection-fields .compact-section{margin-top:10px}.compact-services .tenant-connection-fields p,.compact-services .tenant-connectivity p{display:block}.network-tabs{flex-wrap:wrap}@media (max-width:720px){.connection-live-groups{grid-template-columns:1fr}.tenant-connectivity .table-scroll{max-width:100%;overflow-x:auto}.connection-dialog .ops-fields{grid-template-columns:1fr}}.compact-services .tenant-connectivity .network-client-toolbar{display:flex}.client-network-dashboard,.tenant-connectivity{min-width:0;max-width:100%}.tenant-connectivity .table-scroll{max-height:380px;overflow:auto}.tenant-connectivity thead th{z-index:1;background:#f7f9fc;position:sticky;top:0}.tenant-connectivity .table-scroll{position:relative}.switch-overview-dialog{color:#15344b;background:#f8fafc;border:1px solid #d9e2ed;border-radius:16px;width:min(1120px,100vw - 32px);max-height:calc(100dvh - 36px);padding:22px;overflow:auto;box-shadow:0 28px 90px #112e4c44}.switch-overview-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a203977}.switch-overview-head,.switch-overview-summary,.switch-topology-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.switch-overview-head h2{margin:0}.switch-overview-summary{color:#597088;flex-wrap:wrap;justify-content:flex-start;margin:10px 0 18px;font-size:13px}.switch-overview-summary small{margin-left:auto}.switch-overview-dialog .network-tabs{margin-bottom:16px}.switch-topology-toolbar input:not([type=checkbox]){width:100%;max-width:400px}.switch-topology-toolbar .check-row{white-space:nowrap}.switch-topology-legend{flex-wrap:wrap;gap:16px;margin:16px 0;font-size:12px;display:flex}.switch-topology-legend>span{align-items:center;gap:6px;display:flex}.topology-wire{border-top:2px solid #5783ad;width:25px}.topology-wire.fibre{border-top:4px double;border-color:#8963bd}.topology-wire.wireless{border-color:#159489;border-top-style:dashed}.topology-wire.unknown{border-color:#9daaba;border-top-style:dotted}.switch-topology-scroll{grid-template-columns:155px minmax(0,1fr);gap:24px;max-height:440px;padding:12px 12px 12px 0;display:grid;overflow:auto}.switch-topology-root{text-align:center;background:#eaf2fb;border:1px solid #c5d7e9;border-radius:12px;flex-direction:column;align-self:start;align-items:center;gap:8px;padding:22px 10px;font-size:14px;display:flex;position:sticky;top:8px}.switch-topology-root small{color:#61788e;font-size:11px}.switch-topology-branches{border-left:2px solid #ccdae7;min-width:0;padding-left:22px}.switch-topology-branch{grid-template-columns:115px 95px minmax(0,1fr);align-items:center;min-height:76px;padding:0 0 16px;display:grid;position:relative}.switch-topology-branch:before{content:"";border-top:2px solid #ccdae7;width:24px;position:absolute;top:26px;left:-24px}.topology-observed-devices>button,.topology-port-node{text-align:left;color:inherit;background:#fff;border:1px solid #d4dfeb;border-radius:8px;min-width:0;padding:9px 11px}.topology-port-node{overflow-wrap:anywhere;flex-direction:column;gap:3px;display:flex}.topology-port-node small{color:#61788e;font-size:11px}.topology-connection{color:#59738e;flex-direction:column;align-items:center;gap:6px;font-size:10px;display:flex}.topology-connection i{border-top:2px solid #5783ad;width:100%}.topology-connection.fibre i{border-top:4px double #8963bd}.topology-connection.wireless i{border-top:2px dashed #159489}.topology-connection.unknown i{border-top:2px dotted #9daaba}.topology-observed-devices{gap:5px;min-width:0;display:grid}.topology-observed-devices>button{overflow-wrap:anywhere;align-items:center;gap:10px;font-size:12px;display:flex}.topology-observed-devices>button>svg{flex-shrink:0}.topology-observed-devices small,.topology-observed-devices strong{display:block}.topology-observed-devices small{color:#647b90;margin-top:3px;font-size:11px}.switch-overview-port-list{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;max-height:340px;margin:16px 0;display:grid;overflow:auto}.switch-overview-port-list button{flex-direction:column;align-items:start;display:flex}.switch-overview-port-list small{font-size:11px}.switch-inventory-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.switch-overview-dialog .field-note{margin:12px 0 0;font-size:12px;line-height:1.5}.switch-overview-dialog .switch-port-dialog{background:#fff}.switch-overview-dialog button:focus-visible{outline-offset:2px;outline:3px solid #147aff}@media (max-width:680px){.switch-overview-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.switch-topology-scroll{max-height:55dvh;padding-right:2px;display:block}.switch-topology-root{flex-direction:row;justify-content:center;margin-bottom:14px;padding:10px;position:static}.switch-topology-root small{display:none}.switch-topology-branches{padding-left:12px}.switch-topology-branch{grid-template-columns:78px 48px minmax(0,1fr)}.switch-topology-branch:before{width:14px;left:-14px}.topology-connection{text-align:center;font-size:9px}.topology-observed-devices>button,.topology-port-node{padding:7px;font-size:11px}.topology-observed-devices>button{gap:5px}.switch-topology-toolbar{gap:8px}.switch-topology-toolbar .check-row{font-size:12px}.switch-overview-summary{gap:8px}.switch-overview-summary small{margin-left:0}.switch-topology-legend{gap:10px}}.device-tenant-connection{margin:14px 0}.device-tenant-connection>div{background:#f6f9fc;border:1px solid #dce5ee;border-radius:10px;margin-top:10px;padding:14px}.device-tenant-connection label{flex-direction:column;gap:6px;max-width:450px;margin:12px 0;display:flex}.device-tenant-connection .connection-dialog{background:#fff}.switch-topology-toolbar .check-row{flex-direction:row;align-items:center;gap:8px;display:flex}.switch-topology-root:after{content:"";border-top:2px solid #ccdae7;width:24px;position:absolute;top:38px;right:-24px}@media (max-width:680px){.switch-topology-root:after{display:none}}.saved-topology-assignment{background:#fff;border:1px solid #d4dfeb;border-radius:8px;padding:10px;font-size:12px}.monitoring-connection-grid{grid-template-columns:minmax(220px,1fr) minmax(320px,2fr);gap:24px;display:grid}.monitoring-speed:only-child{grid-column:1/-1}.monitoring-provider,.monitoring-signal{align-items:center;gap:12px;margin-bottom:14px;display:flex}.monitoring-provider small{display:block}.provider-mark{color:#355167;text-align:center;background:#edf2f7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;font-weight:700;line-height:17px;display:inline-flex}.provider-ee{color:#ffed00;background:#007b85}.provider-o2{color:#fff;background:#003b7a}.provider-vodafone{color:#fff;background:#e60000;font-size:35px}.provider-three{color:#fff;background:#111;font-size:34px}.provider-mark sub{align-self:center;font-size:14px;transform:translateY(5px)}.signal-bars{align-items:flex-end;gap:3px;height:32px;display:flex}.signal-bars i{background:#d7dfe8;border-radius:2px;width:8px;display:block}.signal-bars.good .lit{background:#16825d}.signal-bars.fair .lit{background:#bd8114}.signal-bars.poor .lit{background:#c7483c}.monitoring-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.monitoring-metrics dt{color:#567087;font-size:12px}.monitoring-metrics dd{font-variant-numeric:tabular-nums;margin:5px 0;font-weight:650}.monitoring-speed h4{margin:0}.monitoring-speed p:empty{display:none}@media (max-width:850px){.monitoring-connection-grid{grid-template-columns:1fr}.monitoring-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-speed .section-line{flex-wrap:wrap;align-items:flex-start}.monitoring-speed .ops-actions{flex-wrap:wrap}}.retail-video-frame{position:relative}.retail-person-overlay{pointer-events:none;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.retail-box-toggle{color:#405970;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.retail-box-toggle input{margin:0}.retail-box-key{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.retail-box-key i{border-radius:2px;width:9px;height:9px;display:inline-block}.retail-queue-tools{flex-wrap:wrap;align-items:end;gap:6px;padding:0 12px 10px;display:flex}.retail-queue-tools label{color:var(--muted);flex:170px;gap:3px;font-size:12px;display:grid}.retail-queue-tools input{min-height:34px;font:inherit;font-size:13px}.retail-queue-tools input[type=search]{flex:140px}.retail-queue-tools button{min-height:34px;padding:0 10px}