:root{--purple:#5d36a0;--purple2:#7648c8;--purple3:#8f66d6;--lav:#f4effb;--lav2:#faf8fd;--ink:#142744;--muted:#73859b;--green:#19b75b;--red:#ef3f4c;--amber:#f3a51f;--blue:#378ef0;--line:#dfe6ef;--bg:#f6f8fb}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;font-family:Inter,"Segoe UI",Arial,sans-serif;background:linear-gradient(135deg,#f8f9fd 0,#f5f7fb 55%,#f7f5fb 100%);color:var(--ink)}.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}aside{background:linear-gradient(180deg,#2f1859 0,#442474 38%,#563091 100%);color:#fff;padding:22px 12px 18px;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(48,25,88,.08);position:relative;z-index:2}.brand{padding:5px 16px 28px}.novo-brand{display:block}.novo-brand img{display:block;width:150px;max-width:100%;height:auto;object-fit:contain;margin:0 0 12px}.novo-brand b{display:block;font-size:13px;line-height:1.15;letter-spacing:.8px;color:#fff}.novo-brand small{display:block;color:#cbb7ec;letter-spacing:1.25px;margin-top:5px;font-size:8px}.navhead{font-size:9px;letter-spacing:1.4px;color:#a992cf;margin:21px 10px 8px}nav a{display:flex;gap:10px;align-items:center;color:#f2edf9;text-decoration:none;padding:11px 12px;border-radius:9px;margin:3px 2px;font-size:12px;transition:.18s}nav a span{width:18px;text-align:center;color:#dbcdf1}nav a:hover{background:rgba(255,255,255,.09)}nav a.active{background:linear-gradient(90deg,#7042c4,#7f4fd2);color:#fff;box-shadow:0 7px 18px rgba(23,8,52,.15)}nav a.active span{color:#fff}.aside-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.16);padding:16px 10px 4px;display:flex;gap:10px;align-items:center}.aside-foot b{font-size:11px}.aside-foot small,.aside-foot a{display:block;font-size:8px;color:#cbb9e8;margin-top:3px}.aside-foot a{color:#fff;text-decoration:none}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#5c3398;font-weight:800;flex:0 0 auto}main{padding:26px 28px 34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:0;font-size:24px;letter-spacing:-.2px}header p,.panelhead p{margin:5px 0 0;color:var(--muted);font-size:11px}.live{font-size:9px;letter-spacing:.65px;color:#655676;border:1px solid #dfd5ee;border-radius:20px;padding:8px 12px;background:#fff;box-shadow:0 5px 15px rgba(48,29,76,.04)}.live span,.refresh-dot{display:inline-block;width:7px;height:7px;background:#22c96d;border-radius:50%;margin-right:7px;box-shadow:0 0 10px rgba(34,201,109,.45)}footer{text-align:center;color:#98a5b5;font-size:8px;padding:34px 0 5px}.good{color:var(--green)!important}.bad{color:var(--red)!important}.muted{color:var(--muted)!important}.maint{color:#7342b2!important;font-weight:700}.crumb{font-size:10px;color:#77899f;margin:-6px 0 14px}.crumb a{color:#5b6be8;text-decoration:none}
/* Dashboard KPI cards - restored v14 visual treatment */
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.summary-card{position:relative;min-height:126px;padding:18px;border-radius:11px;background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;overflow:hidden;box-shadow:0 9px 24px rgba(43,28,70,.05);color:var(--blue)}.summary-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:currentColor}.summary-card:after{content:"";position:absolute;right:-35px;top:-45px;width:120px;height:120px;border-radius:50%;background:currentColor;opacity:.055}.summary-card small{display:block;font-size:9px;letter-spacing:.8px;color:currentColor}.summary-card strong{display:block;font-size:29px;color:var(--ink);margin:11px 0 8px}.summary-card span{display:flex;gap:18px;font-size:10px;color:var(--muted)}.summary-card span b{font-weight:600}.summary-icon{font-size:29px;opacity:.82;margin-top:31px}.summary-card.green{color:#23b869}.summary-card.purple{color:#8b57d1}.summary-card.amber{color:#f3a622}.summary-card.blue{color:#438df0}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:17px}.search-wrap{display:flex;align-items:center;gap:8px;flex:1;max-width:430px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:0 11px;color:#788ca1}.search-wrap input{border:0!important;padding-left:0!important;width:100%;box-shadow:none!important}.toolbar select,input,select{background:#fff;border:1px solid #d8e0ea;color:var(--ink);border-radius:7px;padding:9px 11px;outline:none;font:inherit;font-size:11px}.toolbar>select{min-width:180px}.refresh-box{margin-left:auto;display:flex;align-items:center;gap:8px;color:#7e8fa2;font-size:9px}.refresh-box select{padding:6px 8px}.customer-grid{display:grid;grid-template-columns:repeat(4,minmax(245px,1fr));gap:12px}.customer-tile{background:#fff;border:1px solid #dfe6ee;border-radius:11px;overflow:hidden;transition:.2s;box-shadow:0 10px 26px rgba(46,31,72,.05);border-top:3px solid #29bf6b}.customer-tile:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(46,31,72,.09)}.customer-tile.api-fault{border-top-color:var(--amber)}.customer-tile.maintenance-tile{border-top-color:#7950bd;background:#fdfbff}.customer-tile.alarm-tile{border-color:#ff4a56;border-top-color:#ff4a56;animation:alarmPulse 1.05s infinite}@keyframes alarmPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,63,76,.07);background:#fff}50%{box-shadow:0 0 0 7px rgba(239,63,76,.16);background:#fff0f1}}.tile-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:15px 14px 8px}.customer-title{display:flex;align-items:center;gap:8px;min-width:0}.customer-title a{font-weight:800;color:var(--ink);text-decoration:none;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-dot{width:9px;height:9px;border-radius:50%;background:#24bf69;box-shadow:0 0 9px rgba(36,191,105,.3);flex:0 0 auto}.alarm-tile .health-dot{background:var(--red)}.maintenance-tile .health-dot{background:#7950bd}.api-fault .health-dot{background:var(--amber)}.platform-badge{white-space:nowrap;font-size:8px;padding:5px 7px;border-radius:7px;background:#eee8fa;color:#6a3ca0}.platform-badge.airwave{background:#f0e8ff;color:#7543b5}.tile-meta{display:flex;justify-content:space-between;gap:7px;padding:2px 14px 13px;color:#71849a;font-size:8px}.tile-meta b{font-weight:500}.api-state{white-space:nowrap}.device-panels{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 11px 11px}.device-panel{background:#faf9fc;border:1px solid #ebe6f1;border-radius:8px;padding:12px 10px}.device-label{font-size:8px;color:#756a82;letter-spacing:.25px;margin-bottom:13px;white-space:nowrap}.device-label span{margin-right:4px}.status-counts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.status-number{display:flex;flex-direction:column;text-decoration:none;padding:3px;border-radius:6px}.status-number strong{font-size:25px;line-height:1;font-weight:750}.status-number small{font-size:8px;margin-top:7px}.up-number strong,.up-number small{color:#23b65d}.down-number strong{color:#ef4552}.down-number small{color:#91a0b0}.down-number.active-fault{background:#fff0f1}.down-number.active-fault small{color:#ef4552}.alarm-banner{margin:0 11px 10px;padding:7px 9px;background:#fff0f1;color:#bb303d;border:1px solid #ffd2d7;border-radius:7px;font-size:8px;font-weight:750}.details-link{display:block;border-top:1px solid #eee9f3;padding:11px;text-align:center;text-decoration:none;color:#7041ad;font-size:9px}.details-link:hover{background:#fbf9fd}.empty-state{text-align:center;border:1px dashed #ccd7e2;border-radius:10px;color:#71849a;padding:40px;background:#fff}
/* General panels/admin */
.panel,.maintenance-control{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 8px 22px rgba(45,29,72,.04)}.panel{overflow:hidden}.panelhead{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid var(--line)}.panel h2,.maintenance-control h3{margin:0;font-size:15px}.chip{display:inline-block;background:#f0e9fb;color:#6f43a7;border:1px solid #e1d7f0;border-radius:15px;padding:5px 9px;margin-left:4px;font-size:8px;text-decoration:none}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.formpanel{padding:20px}.formpanel h2{margin:0 0 16px}.formpanel label{display:block;color:#74849a;font-size:10px;margin:11px 0}.formpanel input,.formpanel select{display:block;width:100%;margin-top:6px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto;margin:0}.actions,.form-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.actions form{margin:0}button,.outline,.outlinebtn{background:linear-gradient(90deg,#653ac3,#8351d1);color:#fff;border:0;border-radius:7px;padding:9px 12px;font-weight:750;font-size:9px;cursor:pointer;text-decoration:none}.small{padding:6px 8px;font-size:8px}.danger{background:#fff1f2!important;color:#bd3040!important;border:1px solid #ffd0d6!important}.outline,.outlinebtn{background:#fff;color:#6d42a6;border:1px solid #ddcfef}.error,.success,.test-result,.notice{padding:10px 12px;border-radius:8px;margin:10px 0;font-size:9px}.error{background:#fff1f2;color:#b82e3c;border:1px solid #ffd2d6}.success{background:#effcf4;color:#177d48;border:1px solid #c8efd7}.usercard{padding:15px 18px;border-top:1px solid var(--line)}.accessgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:10px 0}table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;background:#fafbfc;color:#75869b;font-size:8px;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px}td{padding:11px 12px;border-top:1px solid #edf0f4;vertical-align:top}
/* Restored v14 maintenance layout */
.maintenance-control{padding:24px 24px 18px;margin-bottom:16px;border-left:4px solid #7041bd;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(560px,1.4fr);gap:28px;align-items:start}.maintenance-copy h3{color:#5b2d91;font-size:15px;margin:0 0 7px}.maintenance-copy p{margin:0;color:#755c83;font-size:10px;line-height:1.45;max-width:520px}.maintenance-form-v14{min-width:0}.maintenance-main{display:grid;gap:14px}.maintenance-tabs{display:inline-flex;width:max-content;background:#f1ebf8;border:1px solid #ddd0ee;border-radius:10px;padding:5px}.tab-btn{background:transparent!important;color:#6c477e!important;border:0!important;box-shadow:none!important;padding:9px 16px;font-size:10px}.tab-btn.active{background:linear-gradient(90deg,#653ac3,#8050cf)!important;color:#fff!important}.maint-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.maintenance-main label,.duration-head label{display:block;font-size:8px;letter-spacing:.5px;font-weight:750;color:#80668e}.maintenance-main label input,.maintenance-main label select{display:block;width:100%;margin-top:7px;font-size:10px;padding:10px 12px}.duration-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.duration-head strong{font-size:10px;color:#642aaa}.duration-slider-wrap{position:relative;width:100%;padding:0 0 25px}.duration-slider{--range-progress:7.37%;display:block;width:100%!important;height:24px;margin:0!important;padding:0!important;border:0!important;background:transparent!important;appearance:none;-webkit-appearance:none;cursor:pointer}.duration-slider::-webkit-slider-runnable-track{width:100%;height:5px;border-radius:999px;background:linear-gradient(to right,#7042c8 0,#7042c8 var(--range-progress),#ded9e6 var(--range-progress),#ded9e6 100%);border:1px solid #c9bed5}.duration-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#766f7d;border:2px solid #fff;box-shadow:0 0 0 1px #837b8a,0 3px 8px rgba(52,40,62,.18);margin-top:-9px}.duration-slider::-moz-range-track{height:5px;border-radius:999px;background:#ded9e6;border:1px solid #c9bed5}.duration-slider::-moz-range-progress{height:5px;border-radius:999px;background:#7042c8}.duration-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#766f7d;border:2px solid #fff}.slider-scale{position:absolute;left:0;right:0;bottom:0;height:18px;font-size:8px;color:#80668e}.slider-scale span{position:absolute;bottom:0;transform:translateX(-50%)}.slider-scale span:before{content:"";position:absolute;left:50%;top:-8px;width:1px;height:5px;background:#bdb2ca}.slider-scale .m0{left:0;transform:none}.slider-scale .m0:before{left:0}.slider-scale .m6{left:24.21%}.slider-scale .m12{left:49.47%}.slider-scale .m18{left:74.74%}.slider-scale .m24{left:100%;transform:translateX(-100%)}.slider-scale .m24:before{left:auto;right:0}.scheduled-maint{display:grid;grid-template-columns:1fr 1fr;gap:12px}.maintenance-submit{display:flex;justify-content:flex-end}.maintenance-submit button{min-width:205px;padding:11px 18px}.maintenance-active{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f8f4fc;border:1px solid #e7dcef;border-radius:9px;padding:14px}.maintenance-active b,.maintenance-active small{display:block}.maintenance-active small{font-size:9px;color:#7f6c8d;margin-top:5px}.hidden{display:none!important}
/* Responsive device inventory - full table desktop, cards on small screens */
.device-table-scroll{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a584d8 #f2edf8}.device-table-scroll::-webkit-scrollbar{height:9px}.device-table-scroll::-webkit-scrollbar-track{background:#f2edf8}.device-table-scroll::-webkit-scrollbar-thumb{background:#9f7fd3;border-radius:999px;border:2px solid #f2edf8}.device-table{min-width:1500px;table-layout:auto}.device-table th,.device-table td{vertical-align:top}.maintenance-cell{min-width:330px;overflow:visible}.alarm-cell{min-width:105px}.maint-details{min-width:280px}.maint-details summary{cursor:pointer;color:#6334a5;font-size:9px;font-weight:700}.maint-details[open]{background:#fbf8ff;border:1px solid #e5d9f1;border-radius:8px;padding:8px;margin:-8px}.device-maint-form-v14{display:grid;grid-template-columns:minmax(135px,1fr) 90px minmax(80px,.6fr) minmax(180px,1fr) 155px auto;gap:5px;align-items:center;width:100%}.device-maint-form-v14 input,.device-maint-form-v14 select{min-width:0;width:100%;padding:7px;font-size:8px}.device-maint-form-v14 .dev-schedule{display:grid;grid-template-columns:1fr 1fr;gap:4px}.cert{display:grid;grid-template-columns:115px 1fr;gap:8px;font-size:9px}.cert dt{color:var(--muted)}.cert dd{margin:0;word-break:break-all}
/* Login */
.loginbody{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#321a5e,#663ca6 58%,#7a52bd)}
.loginbox{width:420px;max-width:calc(100vw - 32px);background:rgba(255,255,255,.94);border:1px solid rgba(109,66,166,.12);border-radius:22px;padding:38px 36px;box-shadow:0 28px 75px rgba(33,29,71,.16);backdrop-filter:blur(10px)}
.loginlogo{width:150px;display:block;margin:0 auto 18px;height:auto}
.loginbox h2{text-align:center;margin:6px 0 8px;color:#241e4e;letter-spacing:-.02em}
.loginbox>p{text-align:center;color:#66788e;font-size:10px;margin-bottom:23px}
.loginbox label{display:block;font-size:9px;color:#5f7085;margin:12px 0}
.loginbox input{display:block;width:100%;margin-top:6px;background:#fbfcfe;border-color:#d7dfeb}
.loginbox input:focus{border-color:#7a4fd0;box-shadow:0 0 0 3px rgba(122,79,208,.12)}
.loginbox button{width:100%;margin-top:10px;min-height:42px;box-shadow:0 10px 24px rgba(89,56,155,.18)}
.loginbox .cf-turnstile{margin-top:14px;display:flex;justify-content:center}
@media(max-width:1450px){.customer-grid{grid-template-columns:repeat(3,minmax(245px,1fr))}}@media(max-width:1180px){.summary-grid{grid-template-columns:repeat(2,1fr)}.customer-grid{grid-template-columns:repeat(2,1fr)}.maintenance-control{grid-template-columns:1fr}.maintenance-copy{max-width:none}.maintenance-active{grid-column:1}.device-maint-form-v14{grid-template-columns:1fr 100px 1fr}.device-maint-form-v14 .dev-schedule{grid-column:1/-1}}@media(max-width:900px){.shell{grid-template-columns:76px 1fr}aside{padding-left:8px;padding-right:8px}.brand{padding-left:3px;padding-right:3px}.novo-brand img{width:60px;margin:0 auto 15px}.novo-brand div,.navhead,.aside-foot div:not(.user-avatar){display:none}nav a{justify-content:center;font-size:0;padding:11px 7px}nav a span{font-size:17px;width:auto}.aside-foot{justify-content:center}.panel{overflow:visible}.device-table-scroll{overflow:visible}.device-table{min-width:0;width:100%;display:block}.device-table thead{display:none}.device-table tbody{display:grid;grid-template-columns:1fr;gap:12px;padding:12px;background:#f8f6fb}.device-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;background:#fff;border:1px solid #e5deed;border-radius:12px;box-shadow:0 5px 14px rgba(55,37,82,.05);overflow:visible}.device-table td{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;border:0!important;border-bottom:1px solid #f0ecf4!important;padding:10px 12px!important;min-width:0!important;word-break:break-word}.device-table td::before{content:attr(data-label);font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:#8a7b99;font-weight:800;padding-top:2px}.device-table td[data-label="Maintenance"],.device-table td[data-label="Alarm"]{grid-column:1/-1}.maint-details{min-width:0;width:100%}.device-maint-form-v14{grid-template-columns:minmax(0,1fr) minmax(100px,.6fr)}.device-maint-form-v14 .dev-schedule{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}@media(max-width:650px){main{padding:17px 14px}.shell{grid-template-columns:1fr}aside{display:none}.summary-grid,.customer-grid,.maint-row,.scheduled-maint{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.search-wrap,.toolbar>select{max-width:none;width:100%}.refresh-box{margin-left:0}.device-panels{grid-template-columns:1fr 1fr}.maintenance-control{padding:18px 14px}.maintenance-tabs{width:100%}.maintenance-tabs .tab-btn{flex:1}.maintenance-submit button{width:100%}.device-table tr{grid-template-columns:1fr}.device-table td,.device-table td[data-label="Maintenance"],.device-table td[data-label="Alarm"]{grid-column:1;grid-template-columns:82px minmax(0,1fr)}.device-maint-form-v14,.device-maint-form-v14 .dev-schedule{grid-template-columns:1fr}.panelhead{align-items:flex-start;gap:10px;flex-wrap:wrap}.split,.accessgrid{grid-template-columns:1fr}}

/* v16.7 operational UI polish */
.device-panel-head{gap:16px;flex-wrap:wrap}.device-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.device-head-actions form{margin:0}.alarm-inline-count{color:#b92838;font-weight:750}.ack-all-btn{background:linear-gradient(90deg,#c82e43,#e04658);box-shadow:0 7px 18px rgba(197,41,61,.17);padding:8px 12px;font-size:9px}
.customer-edit-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.72fr);gap:20px;align-items:start}.customer-config-panel{padding:24px}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:17px;border-bottom:1px solid #eee9f3;margin-bottom:18px}.section-title-row h2{font-size:17px;margin:0 0 5px}.section-title-row p,.connection-panel-head p,.users-panel-head p,.create-user-head p{font-size:10px;color:#7b8a9c;margin:0}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.customer-edit-form>label,.customer-edit-form .form-grid-two label{font-size:9px;font-weight:650;color:#62748b}.customer-edit-form input,.customer-edit-form select{font-size:10px;padding:11px 12px}.settings-row{display:flex;gap:24px;align-items:center;padding:13px 0}.form-actions-right{display:flex;justify-content:flex-end;gap:9px;padding-top:14px;border-top:1px solid #eee9f3}.form-actions-right button,.form-actions-right .outlinebtn{min-width:130px;text-align:center}
.connection-panel{padding:24px;overflow:visible}.connection-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:16px;border-bottom:1px solid #eee9f3}.connection-panel-head h2{font-size:17px;margin:0 0 5px}.connection-dot{width:12px;height:12px;border-radius:50%;margin-top:5px}.ok-dot{background:#2dc26b;box-shadow:0 0 0 4px rgba(48,190,107,.1)}.error-dot{background:#e23a4e;box-shadow:0 0 0 4px rgba(226,58,78,.1)}.connection-banner{display:flex;flex-direction:column;gap:4px;margin:16px 0;padding:13px 14px!important;font-size:10px}.connection-banner b{font-size:11px}.connection-meta{display:grid;grid-template-columns:1.4fr .7fr;gap:10px;margin:16px 0}.connection-meta>div{background:#faf9fc;border:1px solid #eee8f4;border-radius:9px;padding:12px}.connection-meta small{display:block;color:#8a7898;font-size:7px;font-weight:800;letter-spacing:.7px}.connection-meta strong{display:block;margin-top:6px;font-size:10px;color:#24364b}.connection-test-result{border:1px solid #e4dced;background:#fbf9fd;border-radius:10px;min-height:94px;padding:14px;margin:17px 0}.test-placeholder,.testing-line{display:flex;flex-direction:column;gap:5px}.test-placeholder b,.testing-line b{font-size:11px}.test-placeholder span,.testing-line span{font-size:9px;color:#77889a}.testing-line{flex-direction:row;align-items:center;gap:10px}.test-spinner{width:18px;height:18px;border:2px solid #dfd3ed;border-top-color:#7041bd;border-radius:50%;animation:testspin .8s linear infinite}@keyframes testspin{to{transform:rotate(360deg)}}.test-summary{margin:0!important;padding:12px 13px!important}.test-summary b,.test-summary span{display:block}.test-summary b{font-size:11px}.test-summary span{font-size:9px;margin-top:5px}.connection-steps{display:grid;gap:7px;margin-top:9px}.connection-step{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:start;background:#fff;border:1px solid #ebe5f1;border-radius:8px;padding:9px}.step-ok>span{color:#20a95a}.step-bad>span{color:#d6384b}.connection-step b{display:block;font-size:9px}.connection-step small{display:block;font-size:8px;color:#74859a;margin-top:3px}.connection-step em{font-size:7px;color:#7f6d90;font-style:normal}.connection-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.connection-actions form{margin:0}.connection-actions button{width:100%;min-height:40px;font-size:10px}
.users-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.7fr);gap:20px;align-items:start}.user-list{padding:14px;display:grid;gap:12px;background:#faf9fc}.user-access-card{background:#fff;border:1px solid #e7e1ed;border-radius:11px;padding:16px}.user-card-header{display:flex;justify-content:space-between;gap:14px;align-items:center}.user-ident{display:flex;align-items:center;gap:11px}.user-avatar.large{width:39px;height:39px;font-size:14px;background:#f1eafa;color:#60379a;border:1px solid #ded1ef}.user-ident h3{margin:0 0 5px;font-size:13px}.role-pill,.all-access-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:7px;font-weight:750}.role-pill.admin{background:#efe8fb;color:#653aa1}.role-pill.noc{background:#eaf7ff;color:#237aa4}.all-access-pill{background:#effaf4;color:#23814f}.access-section-title{margin:15px 0 9px;padding-top:13px;border-top:1px solid #eee9f3}.access-section-title b,.access-section-title span{display:block}.access-section-title b{font-size:9px}.access-section-title span{font-size:8px;color:#7c8b9c;margin-top:3px}.customer-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-access-option{display:flex!important;align-items:center;gap:9px;border:1px solid #e6e0eb;background:#fcfbfd;border-radius:9px;padding:10px!important;margin:0!important}.customer-access-option:has(input:checked){border-color:#c9b2e7;background:#f7f2fd}.customer-access-option input{width:15px!important;height:15px!important;margin:0!important;accent-color:#7041bd}.customer-access-option span b,.customer-access-option span small{display:block}.customer-access-option span b{font-size:9px;color:#26374a}.customer-access-option span small{font-size:7px;color:#8995a4}.user-card-actions{display:flex;justify-content:flex-end;margin-top:11px}.admin-access-note{margin-top:14px;border-top:1px solid #eee9f3;padding-top:12px;color:#79889a;font-size:9px}.create-user-panel{padding:22px;position:sticky;top:20px}.create-user-head{display:flex;gap:11px;align-items:center;padding-bottom:16px;border-bottom:1px solid #eee9f3;margin-bottom:15px}.create-user-head h2{margin:0 0 4px;font-size:16px}.create-user-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f0e8fb;color:#7041bd;font-size:21px}.create-user-form label{display:block;font-size:9px;font-weight:650;color:#64768b;margin:12px 0}.create-user-form input,.create-user-form select{width:100%;font-size:10px;padding:11px 12px;margin-top:6px}.create-user-form label small{display:block;margin-top:5px;font-size:7px;color:#8a97a7}.create-user-btn{width:100%;margin-top:8px;min-height:41px;font-size:10px}
@media(max-width:1100px){.customer-edit-layout,.users-layout{grid-template-columns:1fr}.create-user-panel{position:static}}@media(max-width:700px){.form-grid-two,.connection-meta,.connection-actions,.customer-access-grid{grid-template-columns:1fr}.settings-row{flex-direction:column;align-items:flex-start}.ack-all-btn{width:100%}}


/* v16.7.2 readability pass — larger NOC-friendly typography without changing layout */
body{font-size:14px}
.novo-brand b{font-size:15px}.novo-brand small{font-size:10px}.navhead{font-size:11px}nav a{font-size:14px}.aside-foot b{font-size:13px}.aside-foot small,.aside-foot a{font-size:10px}
h1{font-size:28px}header p,.panelhead p{font-size:13px}.live{font-size:11px}.crumb{font-size:12px}footer{font-size:10px}
.summary-card small{font-size:11px}.summary-card strong{font-size:32px}.summary-card span{font-size:12px}.summary-icon{font-size:31px}
.toolbar select,input,select{font-size:13px}.refresh-box{font-size:11px}.customer-title a{font-size:15px}.platform-badge{font-size:10px}.tile-meta{font-size:10px}.device-label{font-size:10px}.status-number strong{font-size:28px}.status-number small{font-size:10px}.alarm-banner{font-size:10px}.details-link{font-size:11px}
.panel h2,.maintenance-control h3{font-size:17px}.chip{font-size:10px}.formpanel label{font-size:12px}.formpanel input,.formpanel select{font-size:13px}button,.outline,.outlinebtn{font-size:11px}.small{font-size:10px}.error,.success,.test-result,.notice{font-size:11px}.usercard{font-size:13px}table{font-size:12px}th{font-size:10px}
.maintenance-copy h3{font-size:18px}.maintenance-copy p{font-size:12px}.maintenance-label,.schedule-field label{font-size:10px}.duration-readout{font-size:13px}.slider-scale{font-size:10px}.maint-until{font-size:11px}.tab-btn{font-size:11px}.maintenance-submit button{font-size:12px}.maint-details summary{font-size:11px}.device-maint-form-v14 label{font-size:10px}.device-maint-form-v14 input,.device-maint-form-v14 select{font-size:12px}
.loginbox h2{font-size:21px}.loginbox>p{font-size:12px}.loginbox label{font-size:11px}.loginbox input{font-size:13px}
.ack-all-btn{font-size:11px}.section-title-row h2,.connection-panel-head h2{font-size:19px}.section-title-row p,.connection-panel-head p,.users-panel-head p,.create-user-head p{font-size:12px}.customer-edit-form>label,.customer-edit-form .form-grid-two label{font-size:11px}.customer-edit-form input,.customer-edit-form select{font-size:13px}.connection-banner{font-size:12px}.connection-banner b{font-size:13px}.connection-meta small{font-size:9px}.connection-meta strong{font-size:12px}.test-placeholder b,.testing-line b{font-size:13px}.test-placeholder span,.testing-line span{font-size:11px}.test-summary b{font-size:13px}.test-summary span{font-size:11px}.connection-step b{font-size:11px}.connection-step small{font-size:10px}.connection-step em{font-size:9px}.connection-actions button{font-size:12px}
.user-ident h3{font-size:15px}.role-pill,.all-access-pill{font-size:9px}.access-section-title b{font-size:11px}.access-section-title span{font-size:10px}.customer-access-option span b{font-size:11px}.customer-access-option span small{font-size:9px}.admin-access-note{font-size:11px}.create-user-head h2{font-size:18px}.create-user-form label{font-size:11px}.create-user-form input,.create-user-form select{font-size:13px}.create-user-form label small{font-size:9px}.create-user-btn{font-size:12px}
@media(max-width:900px){nav a span{font-size:19px}.device-table td::before{font-size:10px}}
@media(max-width:650px){body{font-size:13px}h1{font-size:24px}.summary-card strong{font-size:29px}.customer-title a{font-size:14px}}
.totp-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:750}.totp-pill.on{background:#effaf4;color:#23814f}.totp-pill.off{background:#f4f1f8;color:#6f6780}.user-meta-row{margin-top:7px}.inline-password-reset{margin-top:15px;padding-top:12px;border-top:1px solid #eee9f3}.inline-password-reset label{display:block;font-size:11px;font-weight:650;color:#64768b}.inline-password-reset input{display:block;width:100%;margin-top:6px;font-size:13px;padding:11px 12px}.inline-check{display:flex!important;align-items:center;gap:8px;margin-top:10px!important}.inline-check input{width:auto!important;margin:0!important}.notice{background:#f5f2fb;color:#5f5080;border:1px solid #ddd4ea}.notice b,.notice span{display:block}.notice span{margin-top:4px}.totp-setup{display:grid;gap:12px}.totp-qr{width:220px;max-width:100%;padding:10px;background:#fff;border:1px solid #e3dcef;border-radius:10px}
