.olt-workbench{--ow-bg:var(--inanet-surface,#142f3b);--ow-text:var(--inanet-text,#e1f2fa);--ow-border:var(--inanet-border,#466d7b);background:var(--ow-bg);color:var(--ow-text);border:1px solid var(--ow-border);border-radius:20px;padding:22px;min-width:0}.olt-workbench *{box-sizing:border-box}.olt-workbench h2,.olt-workbench h3,.olt-workbench h4{color:var(--ow-text);margin:0 0 10px}.olt-workbench p{color:#bad2dc;line-height:1.6}.olt-workbench button,.olt-workbench select{background:#1b4051;color:var(--ow-text);border:1px solid var(--ow-border);border-radius:10px;padding:12px 14px;min-height:44px;font:inherit}.olt-workbench button{display:inline-flex;gap:9px;align-items:center;justify-content:center;cursor:pointer}.olt-workbench button:disabled{color:var(--inanet-disabled,#8ba3af);opacity:.65;cursor:not-allowed}.olt-workbench button:hover:enabled{border-color:#7de5d5;background:#225263}.olt-workbench button:focus-visible,.olt-workbench select:focus-visible{outline:3px solid #7de5d5;outline-offset:2px}.olt-workbench svg{width:20px;height:20px;flex-shrink:0}.olt-workbench .primary{background:#126a71;color:#efffff}.ow-hero,.ow-toolbar,.ow-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.ow-hero{padding-bottom:18px;border-bottom:1px solid var(--ow-border)}.ow-hero small{color:#8de7d7;letter-spacing:2px}.ow-hero h2{display:flex;gap:10px;align-items:center;margin-top:9px;font-size:26px}.ow-toolbar{margin:22px 0}.ow-toolbar label{display:grid;gap:8px;flex:1;min-width:210px}.ow-toolbar select{width:100%;max-width:100%}.ow-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:22px;align-items:start}.ow-menu{display:grid;gap:5px;position:sticky;top:20px;padding:10px;background:#0b222d;border-radius:14px}.ow-menu button{justify-content:flex-start;text-align:left;border-color:transparent;background:transparent;font-size:13px}.ow-menu button.selected{background:#205366;border-color:#77d9db;color:#fff;box-shadow:inset 3px 0 #7de5d5}.ow-content{min-width:0}.ow-context{display:flex;gap:12px;align-items:center;padding:18px;background:#0b252f;border:1px solid var(--ow-border);border-radius:14px;margin-bottom:20px;flex-wrap:wrap}.ow-context div{flex:1}.ow-context strong,.ow-context span{display:block;overflow-wrap:anywhere}.ow-context span{font-size:12px;color:#bad2dc;margin-top:6px}.ow-context b{font-size:11px;border-radius:20px;padding:8px;background:#224e48;color:#9beed1}.ow-context b.pending{background:#4a3e27;color:#ffe09a}.ow-notice{display:flex;gap:10px;align-items:flex-start;background:#173d48;border:1px solid #3d7881;border-radius:10px;padding:15px;margin:18px 0;color:#c8e4eb!important}.ow-notice.warning{background:#503b28;border-color:#a47f48;color:#ffe1aa!important}.ow-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:20px 0}.ow-summary article{padding:18px;border:1px solid var(--ow-border);border-radius:14px;background:#0d2935;display:flex;flex-direction:column;gap:10px;min-width:0}.ow-summary article>strong{font-size:34px;color:#8ee4da}.ow-summary small{font-size:12px;color:#aecbd6;overflow-wrap:anywhere}.ow-summary button{margin-top:auto;font-size:12px}.ow-guide{padding:0;list-style:none;display:grid;gap:12px}.ow-guide li{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--ow-border);border-radius:12px;background:#0d2935}.ow-guide li>span{color:#8de7d7;font-size:24px;font-weight:bold}.ow-guide li>div{flex:1;min-width:0}.ow-guide p{margin:0;font-size:13px}.ow-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--ow-border);margin-top:24px;padding-top:18px;font-size:12px;color:#aecbd6}.ow-empty{text-align:center;padding:30px}.ow-log{border:1px solid var(--ow-border);border-radius:12px;padding:16px;margin:12px 0}.ow-log pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#bad2dc;font-size:12px}.olt-workbench .olt-maintenance,.olt-workbench .olt-catalog,.olt-workbench .olt-settings,.olt-workbench .ipam-panel,.olt-workbench .oi-network,.olt-workbench .ob-panel{min-width:0;max-width:100%}.olt-workbench .oc-layout{grid-template-columns:minmax(180px,30%) minmax(0,1fr)}.olt-workbench input,.olt-workbench textarea{max-width:100%}.olt-workbench .om-table,.olt-workbench .oi-table{overflow:auto}.olt-workbench .oc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.olt-workbench .oc-import{flex-wrap:wrap}.olt-workbench .oc-import label{min-width:0;flex:1}.olt-workbench .oc-records{max-height:620px;overflow:auto}
@media(max-width:1150px){.ow-layout{grid-template-columns:1fr}.ow-menu{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.olt-workbench .oc-layout{grid-template-columns:1fr}}@media(max-width:650px){.olt-workbench{padding:12px;border-radius:12px}.ow-menu{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}.ow-menu button{padding:10px 7px;font-size:11px;gap:6px}.ow-menu svg{width:17px}.ow-hero h2{font-size:21px}.ow-toolbar{gap:10px}.ow-toolbar label{width:100%;flex-basis:100%}.ow-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ow-summary article{padding:12px}.ow-summary article>span{font-size:12px}.ow-summary button{padding:9px 6px;font-size:11px}.ow-guide li{flex-wrap:wrap;gap:10px;padding:13px}.ow-guide li>div{flex-basis:75%}.ow-guide li button{width:100%}.olt-workbench .oc-fields{grid-template-columns:1fr}.ow-context{padding:12px}.ow-context b{width:100%;text-align:center}}
.olt-workbench .ow-content{min-width:0;width:100%;max-width:100%}.olt-workbench .do-maint,.olt-workbench fieldset,.olt-workbench form{min-width:0;max-width:100%;width:100%}.olt-workbench .do-maint-table{max-width:100%;overflow:auto}
.olt-workbench .ow-toolbar>label,.olt-workbench .ow-context small{color:var(--ow-text)}
.olt-workbench .ow-vsol-rows{display:grid;gap:8px;margin:15px 0 25px}.olt-workbench .ow-vsol details{background:#0d2935;border:1px solid var(--ow-border);border-radius:10px;padding:13px;color:var(--ow-text)}.olt-workbench .ow-vsol summary{cursor:pointer;overflow-wrap:anywhere;color:var(--ow-text)}.olt-workbench .ow-vsol summary b{float:right;color:#8de7d7;font-size:12px}.olt-workbench .ow-vsol pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#cce1e9;font-size:12px}.olt-workbench .ow-vsol dd{margin:8px 0 15px;overflow-wrap:anywhere;color:#cce1e9}
/* VSOL operational monitoring: shared dark palette, also outside administration. */
.vsol-monitor,.vsol-card{--vm-bg:var(--inanet-surface,#132e3b);color:var(--inanet-text,#e3f4fc);background:var(--vm-bg);border:1px solid var(--inanet-border,#456778);border-radius:18px;padding:24px;min-width:0;box-sizing:border-box}.vsol-card{border-top:3px solid #68d5e8;display:flex;flex-direction:column;gap:14px}.vsol-monitor *,.vsol-card *{box-sizing:border-box}.vsol-monitor h2,.vsol-monitor h3,.vsol-monitor p,.vsol-card h3,.vsol-card p{color:inherit;margin:0 0 12px}.vsol-monitor small,.vsol-card small,.vm-help{color:#b4cfda}.vsol-monitor button,.vsol-card button,.vsol-monitor input,.vsol-monitor select{font:inherit;color:var(--inanet-text,#e3f4fc);background:#173e50;border:1px solid #527b8e;border-radius:10px;padding:11px 14px;max-width:100%}.vsol-monitor button,.vsol-card button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.vsol-monitor button:disabled,.vsol-card button:disabled{background:var(--inanet-disabled,#29424d);color:#aac0c9;cursor:default;opacity:.7}.vsol-monitor button:focus-visible,.vsol-card button:focus-visible,.vsol-monitor input:focus-visible,.vsol-monitor select:focus-visible{outline:3px solid #8ce7d8;outline-offset:2px}.vsol-monitor svg,.vsol-card svg{width:20px;height:20px;flex-shrink:0}.vm-heading,.vm-refresh,.vm-actions,.vm-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;flex-wrap:wrap}.vm-heading h2{font-size:26px}.vm-heading small,.vm-kicker{color:#83dfdd;font-weight:700;font-size:12px;letter-spacing:1px}.vm-kicker,.vm-timer{display:flex;align-items:center;gap:8px}.vm-refresh small{display:block;margin-top:8px}.vm-timer{font-size:13px;color:#b9d9e4}.vm-card-counts,.vm-metrics,.vm-ports,.vm-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.vm-card-counts{grid-template-columns:repeat(3,1fr)}.vm-card-counts>div{display:flex;flex-direction:column;gap:8px}.vm-card-counts strong{font-size:30px;color:#81ebca}.vm-card-counts span{font-size:12px}.vsol-monitor .vm-metrics button{display:flex;flex-direction:column;align-items:flex-start;min-height:125px;background:#102735}.vm-metrics strong{font-size:32px}.vsol-monitor .selected{border-color:#81e7d3;box-shadow:inset 0 0 0 1px #81e7d3;background:#194951}.vm-ports button{display:flex;flex-direction:column;align-items:flex-start}.vm-ports span,.vm-ports b{font-size:12px}.vm-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:20px 0}.vm-filters label{color:#cce5ee;font-size:13px;font-weight:600;min-width:0}.vm-filters input,.vm-filters select{display:block;width:100%;margin-top:8px;background:#0c2330}.vm-table{width:100%;overflow:auto;border:1px solid #3e6171;border-radius:10px;margin:14px 0}.vm-table table{width:100%;border-collapse:collapse;color:#e3f4fc;background:#102b38;min-width:680px}.vm-table th{background:#1c4051;color:#c9e6f1;text-align:left;font-size:12px;white-space:nowrap}.vm-table th,.vm-table td{padding:14px 12px;border-bottom:1px solid #375868;font-size:13px}.vm-table td{background:transparent;color:#e3f4fc}.vm-table td strong{display:block;max-width:320px;overflow-wrap:anywhere}.vm-table td code,.vm-table small{display:block;margin-top:6px;color:#b8d2dd;max-width:230px}.vm-state{font-weight:700}.vm-state.online{color:#83ecc6}.vm-state.offline{color:#ffb0bb}.vm-state.unknown{color:#ffce7a}.vm-error{border:1px solid #bd6f7d;background:#4b2833;padding:14px;border-radius:10px;color:#ffe0e5!important;overflow-wrap:anywhere}.vm-detail,.vm-snmp{background:#0c2330;border:1px solid #527483;border-radius:14px;padding:20px;margin:24px 0}.vm-snmp summary{font-weight:700;cursor:pointer;color:#a5e3eb;margin-bottom:18px}.vm-details>div{display:flex;flex-direction:column;gap:9px;padding:13px;border-radius:10px;background:#173744;min-width:0}.vm-details dt,.vm-details span{color:#b1cdd9;font-size:12px}.vm-details dd{margin:0;color:#e3f4fc;font-weight:700;overflow-wrap:anywhere}.vm-empty{padding:22px;background:#173744;border-radius:10px}.vm-pagination{font-size:13px}.vsol-card .vm-actions{margin-bottom:0;margin-top:auto}
@media(max-width:650px){.vsol-monitor,.vsol-card{padding:16px}.vm-heading h2{font-size:21px}.vm-filters{grid-template-columns:1fr}.vm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-ports{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-heading,.vm-refresh{align-items:flex-start}.vm-detail,.vm-snmp{padding:14px}.vm-details{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-timer{font-size:12px}.vm-table table{min-width:650px}}

.direct-olt .do-vsol-scope{color:var(--inanet-text,#e4f3fa);background:var(--inanet-surface,#15313f);border:1px solid var(--inanet-border,#456672);padding:12px 16px;border-radius:12px;font-size:14px;}

.direct-olt .do-cards .vsol-card{align-self:start;height:auto;min-height:0}
.crm-app .vsol-client-control,.crm-app .vsol-client-dialog{background:#142f3b;color:#e4f4fa;border:1px solid #477180;border-radius:18px;padding:24px;margin:20px 0;line-height:1.5;min-width:0;box-sizing:border-box}
.crm-app .vsol-client-control header{display:flex;gap:16px;align-items:center}.crm-app .vsol-client-control header>svg{width:40px;height:40px;color:#7ce4d4;flex-shrink:0}
.crm-app .vsol-client-control h3,.crm-app .vsol-client-dialog h3{color:#e4f4fa;margin:4px 0;font-size:24px}.crm-app .vsol-client-control p{margin:10px 0}.crm-app .vsol-client-control small{color:#b8d4df}.crm-app .vsol-client-control svg,.crm-app .vsol-client-dialog svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}
.crm-app .vsol-client-control button,.crm-app .vsol-client-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#1d4c60;color:#eefaff;border:1px solid #69abc0;border-radius:10px;padding:12px 16px;min-height:44px;cursor:pointer;white-space:normal;font:inherit;font-weight:700}
.crm-app .vsol-client-control button:disabled,.crm-app .vsol-client-dialog button:disabled{opacity:.55;cursor:default}.crm-app .vsol-client-control button:focus-visible,.crm-app .vsol-client-dialog button:focus-visible{outline:3px solid #ffd275;outline-offset:3px}
.crm-app .vc-identity,.crm-app .vc-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.crm-app .vc-identity>span,.crm-app .vc-values>span{background:#0c2632;padding:12px;border-radius:10px;overflow-wrap:anywhere}.crm-app .vc-identity strong,.crm-app .vc-identity small,.crm-app .vc-values strong{display:block}
.crm-app .vc-diagnostic{padding:16px 0;border-block:1px solid #426573}.crm-app .vc-diagnostic>small{display:block;margin:8px 0}.crm-app .vc-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.crm-app .vsol-client-control textarea{display:block;width:100%;box-sizing:border-box;background:#09212c;color:#e4f4fa;border:1px solid #69abc0;border-radius:8px;padding:12px;margin:8px 0;font:inherit}.crm-app .vsol-client-control form>button{margin:8px 8px 8px 0}
.crm-app .vc-alert{background:#453323;color:#ffe2af;border:1px solid #b58b4d;border-radius:10px;padding:14px;overflow-wrap:anywhere}.crm-app .vc-note{color:#bdd9e1;font-size:13px}.crm-app .vc-success{background:#104a40;color:#a6f0d9;padding:14px;border-radius:10px}
.crm-app .vsol-client-dialog{width:min(600px,calc(100vw - 32px));max-height:85vh;overflow:auto;margin:auto;box-shadow:0 20px 100px #0008}.crm-app .vsol-client-dialog::backdrop{background:#001016c9}.crm-app .vc-check{display:flex;gap:12px;align-items:center;margin:16px 0}.crm-app .vc-check input{width:20px;height:20px;flex-shrink:0}
@media(max-width:600px){.crm-app .vsol-client-control,.crm-app .vsol-client-dialog{padding:16px}.crm-app .vc-actions>button{width:100%}.crm-app .vc-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
.crm-app .vsol-client-control>header{justify-content:flex-start;text-align:left}.crm-app .vsol-client-control>header>div{flex:1;text-align:left}
.crm-app .vsol-maint{background:var(--inanet-surface,#122d39);color:var(--inanet-text,#e1f2f7);border:1px solid var(--inanet-border,#426776);border-radius:16px;padding:20px;min-width:0}.crm-app .vsol-maint *{box-sizing:border-box}.crm-app .vsol-maint h3,.crm-app .vsol-maint h4{color:var(--inanet-text,#e1f2f7);margin:8px 0}.crm-app .vsol-maint svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.crm-app .vsol-maint header{background:transparent;color:inherit;border:0;padding:0;display:flex;gap:16px;justify-content:space-between;align-items:center;text-align:left}.crm-app .vsol-maint button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--inanet-surface-alt,#1b4355);color:var(--inanet-text,#e1f2f7);border:1px solid var(--inanet-border,#58899a);border-radius:9px;padding:11px 14px;min-height:44px;font:inherit;font-weight:650;white-space:normal;cursor:pointer}.crm-app .vsol-maint button:disabled{background:var(--inanet-disabled,#213d49);opacity:.6;cursor:default}.crm-app .vsol-maint button:focus-visible,.crm-app .vsol-maint input:focus-visible,.crm-app .vsol-maint select:focus-visible{outline:3px solid #76dfd0;outline-offset:3px}.crm-app .vsol-maint .vm-toolbar,.crm-app .vsol-maint .vm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.crm-app .vsol-maint .vm-toolbar{justify-content:space-between}.crm-app .vsol-maint .vm-list{display:grid;gap:12px}.crm-app .vsol-maint .vm-list article,.crm-app .vsol-maint .vm-history article{background:var(--inanet-surface-alt,#183846);border:1px solid var(--inanet-border,#426776);padding:16px;border-radius:12px;min-width:0}.crm-app .vsol-maint .vm-list article span,.crm-app .vsol-maint .vm-history article span{display:block;color:#bcd5df;margin:5px 0}.crm-app .vsol-maint details{margin:12px 0}.crm-app .vsol-maint summary{cursor:pointer;font-weight:650;color:inherit;padding:8px 0}.crm-app .vsol-maint pre{background:#0a222d;color:#cce7ed;padding:12px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:300px;overflow:auto}.crm-app .vsol-maint .vm-note,.crm-app .vsol-maint .vm-warning,.crm-app .vsol-maint .vm-success{padding:14px;border-radius:10px;line-height:1.5}.crm-app .vsol-maint .vm-note{background:#183e4a;color:#cce8ef}.crm-app .vsol-maint .vm-warning{background:#493b27;color:#ffe0a0;border:1px solid #aa8651}.crm-app .vsol-maint .vm-success{background:#174a40;color:#bbf5df}.crm-app .vsol-maint .vm-form{border:1px solid #68c8cb;border-radius:14px;padding:18px;margin:18px 0}.crm-app .vsol-maint fieldset{border:0;margin:0;padding:0;min-width:0}.crm-app .vsol-maint .vm-fields,.crm-app .vsol-maint .vm-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.crm-app .vsol-maint .vm-fields label{display:flex;flex-direction:column;gap:8px;color:inherit;font-weight:600}.crm-app .vsol-maint input,.crm-app .vsol-maint select{background:#09232e;color:#e1f2f7;border:1px solid #5a8391;border-radius:8px;min-height:44px;width:100%;padding:10px;font:inherit;color-scheme:dark}.crm-app .vsol-maint input:disabled{opacity:.7}.crm-app .vsol-maint .vm-dialog{background:var(--inanet-surface,#122d39);color:var(--inanet-text,#e1f2f7);border:1px solid #69c6ce;border-radius:16px;width:min(840px,calc(100vw - 30px));max-height:88vh;overflow:auto;padding:24px;margin:auto;box-shadow:0 20px 90px #0009}.crm-app .vsol-maint .vm-dialog::backdrop{background:#001019c9}.crm-app .vsol-maint .vm-confirm{display:flex;align-items:center;gap:12px;padding:14px 0}.crm-app .vsol-maint .vm-confirm input{width:22px;height:22px;min-height:22px;flex-shrink:0}.crm-app .vsol-maint .vm-dialog h3{font-size:24px}.crm-app .vsol-maint .vm-history>summary{padding:12px;border:1px solid var(--inanet-border,#426776);border-radius:9px}
@media(max-width:650px){.crm-app .vsol-maint{padding:14px}.crm-app .vsol-maint header{flex-direction:column;align-items:stretch}.crm-app .vsol-maint .vm-fields,.crm-app .vsol-maint .vm-comparison{grid-template-columns:minmax(0,1fr)}.crm-app .vsol-maint .vm-actions button{width:100%}.crm-app .vsol-maint .vm-dialog{padding:16px}.crm-app .vsol-maint .vm-form{padding:12px}}
.crm-app .vsol-maint .vm-save{padding:20px;border:1px solid var(--inanet-border,#426776);border-radius:12px;background:var(--inanet-surface-alt,#173846)}.crm-app .vsol-maint .vm-save small{display:block;margin-top:12px;color:#bad6df}

.crm-app .vsol-maint .vm-confirm{color:var(--inanet-text,#e1f2f7);font-size:14px;font-weight:600}

/* VSOL reuses the fleet's Huawei card hierarchy and shared count/alert styles. */
.crm-app .direct-olt .vm-standard-card{border-color:#35bce9;box-shadow:0 0 20px #26b8e510;color:var(--inanet-text,#e3f2f7)}
.crm-app .direct-olt .vm-standard-card .vm-standard-photo{display:flex;align-items:center;justify-content:center;height:150px;margin:14px 0 12px;background:transparent;border:0}
.crm-app .direct-olt .vm-standard-card .vm-standard-photo img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;border:0;filter:drop-shadow(0 8px 8px #0006)}
.crm-app .direct-olt .vm-standard-card .vm-standard-ports{padding:15px;margin:24px 0 0;background:linear-gradient(145deg,#143746,#0a202c);border:1px solid #4b9fbd;border-radius:15px;color:var(--inanet-text,#e3f2f7)}
.crm-app .vm-standard-ports>div:first-child{display:flex;gap:8px;align-items:center;font-size:14px}.crm-app .vm-standard-ports>div:first-child svg{width:20px;height:20px}.crm-app .vm-standard-ports>p{color:#bad5df;font-size:12px;margin:12px 0}
.crm-app .vm-standard-card .vm-standard-port-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.crm-app .vm-standard-port-grid>div{display:flex;flex-direction:column;gap:7px;padding:10px 8px;background:#152d3c;border:1px solid #4b6878;border-radius:9px;color:#c9dbe5}.crm-app .vm-standard-port-grid>div.up{background:#113f35;border-color:#36876e;color:#8df0c5}
.crm-app .vm-standard-port-grid>div>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700}.crm-app .vm-standard-port-grid i{width:7px;height:7px;background:currentColor;border-radius:50%}.crm-app .vm-standard-port-grid strong{font-size:23px;line-height:1.2;color:inherit}.crm-app .vm-standard-port-grid small{font-size:10px;line-height:1.3}
.crm-app .vm-standard-card .do-card-reading strong{overflow-wrap:anywhere}.crm-app .vm-standard-card .do-card-foot .vm-timer{margin-top:12px;display:flex;align-items:center;gap:7px;color:#bcd8e2;font-size:11px}.crm-app .vm-standard-card .do-card-actions{margin-top:20px}.crm-app .vm-standard-card .do-view-boards{font-size:12px;gap:6px}
.crm-app .direct-olt .vm-standard-card .vm-standard-ports>div:first-child strong{font-size:14px;line-height:1.4;margin:0}

/* Operational ONU dashboard: shared CRM colors, measured distributions and selectable PONs. */
.crm-app .vsol-monitor{background:#0c222d;border-color:#396474;padding:26px;color:#e4f3fa}
.crm-app .vsol-monitor .vm-dashboard-hero{background:linear-gradient(115deg,#19535b 0%,#173d50 52%,#30314c 100%);border:1px solid #4b9bad;border-top:3px solid #80e3d4;border-radius:20px;padding:28px;display:flex;align-items:center;text-align:left;gap:22px;margin:0 0 20px}
.crm-app .vsol-monitor .vm-hero-icon{width:76px;height:76px;border-radius:23px;background:linear-gradient(140deg,#96f2d3,#67c9eb);color:#0a3948;display:grid;place-items:center;flex-shrink:0;box-shadow:0 10px 30px #50d0d126}
.crm-app .vsol-monitor .vm-hero-icon>svg{width:38px;height:38px}
.crm-app .vsol-monitor .vm-hero-copy{flex:1;min-width:0}
.crm-app .vsol-monitor .vm-hero-copy>small{font-size:11px;letter-spacing:2px;color:#a4eae4;font-weight:800}
.crm-app .vsol-monitor .vm-dashboard-hero h2{font-size:clamp(23px,2.2vw,34px);line-height:1.18;margin:10px 0;color:#eefaff;overflow-wrap:anywhere}
.crm-app .vsol-monitor .vm-dashboard-hero p{color:#c1dbe7;font-size:14px;margin:0 0 18px}
.crm-app .vsol-monitor .vm-hero-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:#c9dce7;font-size:12px}
.crm-app .vsol-monitor .vm-hero-meta>span{display:flex;align-items:center;gap:7px}
.crm-app .vsol-monitor .vm-hero-meta svg{width:16px;height:16px}
.crm-app .vsol-monitor .vm-hero-meta .confirmed{color:#90edce}
.crm-app .vsol-monitor .vm-refresh{padding:0 4px;margin-bottom:22px}
.crm-app .vsol-monitor .vm-refresh>div{min-width:0}
.crm-app .vsol-monitor .vm-refresh small{font-size:12px;color:#a9c8d6}
.crm-app .vsol-monitor .vm-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}
.crm-app .vsol-monitor .vm-metrics button{--accent:#7ed9f4;--tint:#174551;background:linear-gradient(140deg,var(--tint),#142d3b);border:1px solid #426a7c;border-top:3px solid var(--accent);border-radius:17px;padding:18px 20px;gap:8px;min-width:0;color:#e3f4fc;min-height:155px;text-align:left;box-shadow:0 8px 24px #00000018}
.crm-app .vsol-monitor .vm-metrics button.vm-metric-online{--accent:#74ecc1;--tint:#17483e}
.crm-app .vsol-monitor .vm-metrics button.vm-metric-offline{--accent:#ff9bb4;--tint:#493144}
.crm-app .vsol-monitor .vm-metrics button.vm-metric-powerFail{--accent:#ffd077;--tint:#4b4029}
.crm-app .vsol-monitor .vm-metrics button.vm-metric-pending{--accent:#c6adff;--tint:#3d3357}
.crm-app .vsol-monitor .vm-metrics button.selected{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none}
.crm-app .vsol-monitor .vm-metric-icon{display:flex;width:100%;align-items:center;justify-content:space-between;color:var(--accent)}
.crm-app .vsol-monitor .vm-metric-icon>svg:first-child{width:25px;height:25px}
.crm-app .vsol-monitor .vm-metric-icon>svg:last-child{width:16px;height:16px;opacity:.65}
.crm-app .vsol-monitor .vm-metrics strong{font-size:38px;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:5px}
.crm-app .vsol-monitor .vm-metrics button>span:last-child{font-size:13px;font-weight:650}
.crm-app .vsol-monitor .vm-analytics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px}
.crm-app .vsol-monitor .vm-chart-panel{background:linear-gradient(135deg,#153441,#102934);border:1px solid #43697a;border-radius:19px;padding:24px;min-width:0}
.crm-app .vsol-monitor .vm-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.crm-app .vsol-monitor .vm-panel-title>span{display:flex;gap:9px;align-items:center;font-size:16px;font-weight:750;color:#e3f4fc}
.crm-app .vsol-monitor .vm-panel-title svg{color:#89dbe7}
.crm-app .vsol-monitor .vm-panel-title>small{font-size:11px;color:#b8d1de}
.crm-app .vsol-monitor .vm-distribution{display:grid;grid-template-columns:minmax(150px,1fr) minmax(165px,1fr);gap:16px;align-items:center;padding:2px 0 20px}
.crm-app .vsol-monitor .vm-ring{position:relative;width:100%;max-width:230px;aspect-ratio:1;justify-self:center}
.crm-app .vsol-monitor .vm-ring>svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 10px #58d8bd10)}
.crm-app .vsol-monitor .vm-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.crm-app .vsol-monitor .vm-ring strong{font-size:clamp(28px,2.5vw,39px);line-height:1.1;color:#8ef0cf;font-variant-numeric:tabular-nums}
.crm-app .vsol-monitor .vm-ring span{font-size:13px;color:#d6eeef}
.crm-app .vsol-monitor .vm-ring small{font-size:11px;color:#aacbd7}
.crm-app .vsol-monitor .vm-legend{display:grid;gap:9px}
.crm-app .vsol-monitor .vm-legend button{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:8px;background:#0d2631;border:1px solid #355866;padding:12px 10px;color:#d7ebf1;min-width:0;font-size:12px}
.crm-app .vsol-monitor .vm-legend i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.crm-app .vsol-monitor .vm-legend strong{font-size:18px;margin-left:auto;color:#ecf8fc}
.crm-app .vsol-monitor .vm-legend svg{width:13px;height:13px;color:#9cbcc9}
.crm-app .vsol-monitor .vm-legend button[aria-pressed=true],.crm-app .vsol-monitor .vm-cause-grid button[aria-pressed=true]{border-color:#87e1d6;box-shadow:inset 0 0 0 1px #87e1d6}
.crm-app .vsol-monitor .vm-cause-title{border-top:1px solid #355a69;padding-top:17px;font-size:12px;color:#bfdae5;margin-bottom:12px}
.crm-app .vsol-monitor .vm-cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.crm-app .vsol-monitor .vm-cause-grid>*{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:center;justify-content:start;text-align:left;background:#0e2935;border:1px solid #496574;border-radius:11px;padding:12px;min-width:0;color:#c8dce7}
.crm-app .vsol-monitor .vm-cause-grid>button:first-child{background:#352d3a;border-color:#965263;color:#ff9caf}
.crm-app .vsol-monitor .vm-cause-grid>button:nth-child(2){background:#34332a;border-color:#947440;color:#ffd274}
.crm-app .vsol-monitor .vm-cause-grid strong{font-size:25px;color:inherit}
.crm-app .vsol-monitor .vm-cause-grid span{grid-column:1/-1;font-size:11px;line-height:1.4;font-weight:650}
.crm-app .vsol-monitor .vm-pon-chart{display:grid;grid-template-columns:1fr;gap:11px;margin:0}
.crm-app .vsol-monitor .vm-pon-chart>button{display:flex;align-items:stretch;flex-direction:column;gap:11px;background:#0e2936;border:1px solid #375f6f;border-radius:12px;padding:13px 15px;min-width:0}
.crm-app .vsol-monitor .vm-pon-chart>button.selected{border-color:#86e8d4;background:#18423f;box-shadow:inset 0 0 0 1px #86e8d4}
.crm-app .vsol-monitor .vm-pon-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crm-app .vsol-monitor .vm-pon-heading>b,.crm-app .vsol-monitor .vm-pon-heading>strong{display:flex;align-items:center;gap:7px;color:#e2f4fa;font-size:14px}
.crm-app .vsol-monitor .vm-pon-heading>b>svg{color:#90b9d0;width:17px;height:17px}
.crm-app .vsol-monitor .vm-pon-heading>strong{font-size:18px;color:#7ce8c3;gap:3px;font-variant-numeric:tabular-nums}
.crm-app .vsol-monitor .vm-pon-heading small{font-size:11px;font-weight:500;color:#b4cfdb}
.crm-app .vsol-monitor .vm-pon-heading>b>small{margin-left:5px;background:#203e4b;padding:3px 7px;border-radius:12px;font-size:10px}
.crm-app .vsol-monitor .vm-pon-heading small.up{background:#16493f;color:#90edc9}
.crm-app .vsol-monitor .vm-pon-heading>strong>svg{width:14px;height:14px;margin-left:5px;color:#abcad7}
.crm-app .vsol-monitor .vm-pon-bar{display:flex;width:100%;height:9px;border-radius:7px;background:#284552;overflow:hidden;gap:0}
.crm-app .vsol-monitor .vm-pon-bar i{display:block;height:100%;background:#b9adf8}
.crm-app .vsol-monitor .vm-pon-bar .online{background:linear-gradient(90deg,#33b998,#70ebc0)}
.crm-app .vsol-monitor .vm-pon-bar .offline{background:#ff8fa8}
.crm-app .vsol-monitor .vm-pon-caption{display:flex;justify-content:space-between;gap:10px;color:#b6d2dc}
.crm-app .vsol-monitor .vm-pon-caption>span{font-size:11px}
.crm-app .vsol-monitor .vm-chart-note{font-size:11px;line-height:1.55;color:#adcbd8;margin:14px 0 0}
.crm-app .vsol-monitor .vm-classification{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;padding:15px 17px;background:#102d38;border:1px solid #355c6b;border-radius:12px;margin:18px 0 28px;color:#b9d5df}
.crm-app .vsol-monitor .vm-classification svg{color:#87d8ce;width:17px;height:17px;margin-top:2px}
.crm-app .vsol-monitor .vm-inventory-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px}
.crm-app .vsol-monitor .vm-inventory-title small{font-size:10px;letter-spacing:1.8px;color:#8bdedc;font-weight:750}
.crm-app .vsol-monitor .vm-inventory-title h3{display:flex;align-items:center;gap:9px;font-size:23px;margin:7px 0 0;color:#e4f3fa}
.crm-app .vsol-monitor .vm-inventory-title>span{font-size:12px;color:#bad4df}
.crm-app .vsol-monitor .vm-filters{padding:18px;background:#143340;border:1px solid #3c6272;border-radius:14px;margin:0 0 18px}
.crm-app .vsol-monitor .vm-filters select{color-scheme:dark;min-height:44px;appearance:auto;border-color:#527f90}
.crm-app .vsol-monitor .vm-filters input{min-height:44px}
.crm-app .vsol-monitor .vm-filters input::placeholder{color:#a7c1cf;opacity:1}
.crm-app .vsol-monitor .vm-state{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:7px;font-size:12px;background:#173f39}
.crm-app .vsol-monitor .vm-state:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.crm-app .vsol-monitor .vm-state.offline{background:#46313e}
.crm-app .vsol-monitor .vm-state.unknown{background:#433d2d}
.crm-app .vsol-monitor .vm-table tr:hover td{background:#193c49}
.crm-app .vsol-monitor .vm-snmp summary{margin:0;padding:3px 0}
.crm-app .vsol-monitor .vm-snmp[open] summary{margin-bottom:18px}
@media(min-width:2000px){.crm-app .vsol-monitor .vm-chart-panel{padding:30px}.crm-app .vsol-monitor .vm-ring{max-width:260px}.crm-app .vsol-monitor .vm-metrics button{min-height:170px}}
@media(max-width:1200px){.crm-app .vsol-monitor .vm-analytics{grid-template-columns:1fr}.crm-app .vsol-monitor .vm-distribution{grid-template-columns:1fr 1fr}.crm-app .vsol-monitor .vm-metrics button{padding:16px 12px}.crm-app .vsol-monitor .vm-dashboard-hero{padding:22px}}
@media(max-width:650px){.crm-app .vsol-monitor{padding:12px}.crm-app .vsol-monitor .vm-dashboard-hero{padding:20px 16px;gap:14px;border-radius:15px;align-items:flex-start}.crm-app .vsol-monitor .vm-hero-icon{width:45px;height:45px;border-radius:14px}.crm-app .vsol-monitor .vm-hero-icon>svg{width:25px;height:25px}.crm-app .vsol-monitor .vm-hero-copy{flex-basis:calc(100% - 60px)}.crm-app .vsol-monitor .vm-dashboard-hero h2{font-size:22px}.crm-app .vsol-monitor .vm-hero-meta{gap:10px;font-size:11px}.crm-app .vsol-monitor .vm-dashboard-hero>button{width:100%}.crm-app .vsol-monitor .vm-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.crm-app .vsol-monitor .vm-metrics button{min-height:138px;padding:14px}.crm-app .vsol-monitor .vm-metrics strong{font-size:32px}.crm-app .vsol-monitor .vm-metrics button:last-child{grid-column:1/-1;min-height:110px}.crm-app .vsol-monitor .vm-chart-panel{padding:16px 12px}.crm-app .vsol-monitor .vm-panel-title>span{font-size:15px}.crm-app .vsol-monitor .vm-distribution{grid-template-columns:1fr;gap:12px}.crm-app .vsol-monitor .vm-ring{max-width:210px}.crm-app .vsol-monitor .vm-ring strong{font-size:36px}.crm-app .vsol-monitor .vm-cause-grid{gap:6px}.crm-app .vsol-monitor .vm-cause-grid>*{padding:10px 7px;gap:6px;grid-template-columns:16px 1fr}.crm-app .vsol-monitor .vm-cause-grid svg{width:16px;height:16px}.crm-app .vsol-monitor .vm-cause-grid strong{font-size:23px}.crm-app .vsol-monitor .vm-cause-grid span{font-size:10px}.crm-app .vsol-monitor .vm-pon-chart>button{padding:12px 9px}.crm-app .vsol-monitor .vm-pon-heading>b{font-size:12px;gap:4px}.crm-app .vsol-monitor .vm-pon-heading>b>small{margin-left:0;padding:3px 5px}.crm-app .vsol-monitor .vm-pon-heading>b>svg{width:14px;height:14px}.crm-app .vsol-monitor .vm-pon-heading>strong{font-size:16px}.crm-app .vsol-monitor .vm-pon-caption>span{font-size:10px}.crm-app .vsol-monitor .vm-inventory-title{flex-wrap:wrap}.crm-app .vsol-monitor .vm-filters{padding:14px}.crm-app .vsol-monitor .vm-refresh button{width:100%}}

.direct-olt .olt-history{margin:24px 0;padding:24px;border:1px solid #365e70;border-radius:18px;background:var(--inanet-surface,#112d3a);color:var(--inanet-text,#d9eaf1);min-width:0}.olt-history>header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:transparent}.olt-history h3,.olt-history h4,.olt-history button,.olt-history .oh-meta{display:flex;align-items:center;gap:9px}.olt-history h3{font-size:22px;margin:8px 0}.olt-history header small{letter-spacing:2px;color:#6cdbee;font-weight:800}.olt-history p{line-height:1.55;color:#bbd4de}.olt-history svg{flex-shrink:0}.olt-history button{padding:11px 15px;border:1px solid #4b778b;border-radius:10px;background:#183d4d;color:#e3f3f8;font-weight:700}.olt-history button:hover{background:#215566}.olt-history button:disabled{opacity:.5}.olt-history .oh-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:22px 0}.olt-history label{display:grid;gap:8px;color:#d1e6ee;flex:1;min-width:170px;font-size:14px;font-weight:700}.olt-history label>svg{display:none}.olt-history select{background:#0a2531;color:#e1eff5;border:1px solid #477285;border-radius:9px;padding:12px;width:100%;min-width:0;min-height:46px}.olt-history option{background:#0a2531;color:#e1eff5}.olt-history .oh-notice,.olt-history .oh-error{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#0a2531;border-radius:10px;font-size:13px}.olt-history .oh-notice svg{color:#70d8e9}.olt-history .oh-error{color:#ffc36a;border:1px solid #806736}.olt-history .oh-values{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.olt-history .oh-values>div{padding:16px;border:1px solid #316076;border-radius:12px;background:#0a2531;color:#52d7ff}.olt-history .oh-values>div+div{color:#ffc06a;border-color:#85642e}.olt-history .oh-values strong{display:block;font-size:30px}.olt-history .oh-values small{font-size:13px}.olt-history .oh-chart>svg{width:100%;height:auto;display:block;overflow:visible}.olt-history svg text{fill:#bad1dd;font-size:11px}.olt-history .oh-note{font-size:12px}.olt-history .oh-counts{display:flex;flex-wrap:wrap;gap:20px;color:#b9dce8;margin:18px 0}.olt-history .oh-counts b{font-size:22px;display:block}.olt-history details{border:1px solid #335b6f;border-radius:10px;padding:14px;margin-top:14px;color:#cce3ed}.olt-history summary{cursor:pointer;font-weight:700}.olt-history .oh-table{overflow:auto}.olt-history table{border-collapse:collapse;width:100%;font-size:13px}.olt-history th,.olt-history td{text-align:left;padding:12px;border-bottom:1px solid #355867}.olt-history th{background:#173f50;color:#d9edf5}.olt-history .oh-events>article{padding:15px;border:1px solid #355e70;border-radius:12px;margin:14px 0;background:#0a2531;min-width:0}.olt-history h4{margin:0 0 14px;flex-wrap:wrap}.olt-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#c8e2ed;max-height:420px;overflow:auto;background:#09202b;padding:12px}.olt-history .oh-ok{color:#64e5b9}.olt-history .oh-warning{color:#ffc66b}.olt-history .oh-events footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;background:transparent}.olt-history .oh-events dl>div{display:flex;gap:15px;flex-wrap:wrap;margin:8px 0}.olt-history .oh-events dd{margin:0;overflow-wrap:anywhere}.olt-history .oh-empty{padding:24px;border:1px dashed #4c7688;border-radius:10px}@media(max-width:700px){.direct-olt .olt-history{padding:16px}.olt-history>header{align-items:flex-start;flex-direction:column}.olt-history .oh-filters{display:grid;grid-template-columns:1fr}.olt-history .oh-values{gap:9px}.olt-history .oh-values>div{padding:12px}.olt-history .oh-values strong{font-size:23px}.olt-history .oh-values span{font-size:12px}.olt-history .oh-events footer{flex-wrap:wrap}.olt-history .oh-events footer span{font-size:12px}.olt-history .oh-meta{font-size:13px}}

.olt-history .oh-temp{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#ffc369}.olt-history .oh-temp strong{font-size:28px}

.olt-history .oh-chart{width:100%;min-width:0;max-width:1000px;margin:auto}.olt-history .oh-chart svg text{font-size:12px}

.crm-app .vod,.vod{--inanet-surface:#132f3e;--inanet-text:#e6f2f7;--inanet-border:#466c7c;--inanet-disabled:#8ca6b3;color:var(--inanet-text);background:#0c202a;border:1px solid var(--inanet-border);border-radius:22px;padding:24px;max-width:100%;min-width:0;outline:none}
.vod *{box-sizing:border-box}.vod :is(h2,h3,h4,p){color:var(--inanet-text)}.vod h2{font-size:26px;line-height:1.25;margin:8px 0 14px;overflow-wrap:anywhere}.vod h3{display:flex;gap:9px;align-items:center;font-size:19px;margin:0 0 18px}.vod svg{flex-shrink:0;width:20px;height:20px}.vod small{color:#b9d1dc;line-height:1.5}.vod code{color:#92dfed;font-size:14px;overflow-wrap:anywhere}
.vod button,.vod select{background:#173f52;color:var(--inanet-text);border:1px solid #588da1;border-radius:11px;min-height:44px;padding:11px 15px;font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}.vod button:hover{background:#20556a}.vod button:disabled{background:#243b47;color:var(--inanet-disabled);cursor:wait}.vod button:focus-visible,.vod summary:focus-visible{outline:3px solid #ffd47b;outline-offset:3px}.vod button[aria-pressed=true]{border-color:#58daf3;background:#145471}
.vod-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.vod-toolbar>div{display:flex;flex-wrap:wrap;gap:10px}
.vod-hero{display:flex;gap:20px;align-items:center;padding:26px;border:1px solid #54cada;border-top:3px solid #65e2e4;border-radius:19px;background:linear-gradient(120deg,#174f58,#173548 58%,#332d4a)}.vod-hero>div{flex:1;min-width:0}.vod-hero>div>small{letter-spacing:2px;font-size:11px;font-weight:800;color:#a4e8e5}.vod-avatar{display:grid;place-items:center;width:84px;height:84px;border-radius:24px;background:linear-gradient(130deg,#b3f1d6,#5cc9eb);color:#104757;flex-shrink:0}.vod-avatar svg{width:48px;height:48px}.vod-hero aside{display:flex;align-items:flex-end;gap:9px;flex-direction:column;max-width:240px;font-size:14px;color:#c8dce6}.vod-hero aside>svg{width:32px;height:32px;color:#89d9e4}.vod-hero aside strong{font-size:21px;color:var(--inanet-text)}
.vod-badges{display:flex;flex-wrap:wrap;gap:8px}.vod-badges>span{display:inline-flex;gap:7px;align-items:center;border:1px solid #567e8d;border-radius:30px;background:#17323e;padding:7px 11px;color:#c4dce7;font-size:12px}.vod-badges>span.online{background:#124b3c;color:#83efc7;border-color:#409878}.vod-badges>span.offline{background:#512d40;color:#ffadc0;border-color:#ad627f}
.vod-reading{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:#bbd1dc;padding:18px 0}.vod-reading span{display:flex;align-items:center;gap:8px}.vod-warning{background:#473c25!important;color:#ffe2a8!important;border:1px solid #8e7241;border-radius:12px;padding:13px;line-height:1.5;font-size:13px;overflow-wrap:anywhere}.vod-warning svg{vertical-align:middle;margin-right:7px}.vod-good{background:#154a3d;color:#8cebc9;padding:10px;border-radius:9px}.vod-empty{padding:30px;border:1px dashed var(--inanet-border);border-radius:12px}
.vod-overview{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.6fr);gap:20px}.vod-panel,.vod-signal-chart{border:1px solid var(--inanet-border);border-radius:17px;background:var(--inanet-surface);padding:21px;min-width:0}.vod-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.vod-panel-title small{font-size:10px;letter-spacing:2px;color:#81d6e3}.vod-panel-title h3{margin:8px 0}.vod-panel-title>span{font-size:12px;color:#8ee4cc}.vod-pairs{margin:0;display:grid;gap:0}.vod-pairs>div{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid #355565}.vod-pairs>div:last-child{border-bottom:0}.vod-pairs dt{font-size:12px;color:#adc9d5}.vod-pairs dd{margin:0;font-size:13px;font-weight:700;color:var(--inanet-text);overflow-wrap:anywhere}
.vod-fiber{display:flex;align-items:center;justify-content:center;gap:9px;padding:26px 0 18px;color:#9adfe7;font-size:12px}.vod-fiber>i{height:2px;background:linear-gradient(90deg,#40a7bd,#7befbd);flex:1;min-width:12px}.vod-fiber>span{display:flex;gap:6px;align-items:center;color:#c7dde7}
.vod-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vod-gauge{--tone:#57d3f0;padding:14px 12px;border:1px solid #356371;border-radius:15px;background:#0b2633;min-width:0}.vod-gauge.blue{--tone:#aeaeff}.vod-gauge.amber{--tone:#ffc069}.vod-gauge>div{display:flex;align-items:center;gap:7px;color:var(--tone)}.vod-gauge strong{display:block;font-size:14px}.vod-gauge small{display:block;font-size:11px}.vod-gauge>svg{width:100%;height:auto;margin-top:10px}.vod-gauge>svg path{fill:none;stroke-width:12;stroke-linecap:round}.vod-gauge .track{stroke:#294859}.vod-gauge .level{stroke:var(--tone)}.vod-gauge text{fill:var(--tone);font-size:29px;font-weight:800}.vod-gauge text.unit{fill:#bed6e2;font-size:12px;font-weight:400}.vod-gauge footer{display:flex;justify-content:space-between;font-size:10px;color:#a8c4d0;background:none;padding:0;border:0}
.vod-note{font-size:12px!important;line-height:1.6;color:#b7cfda!important;margin:16px 0 0}.vod-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.vod-vitals>div{display:flex;gap:12px;align-items:center;border:1px solid #426879;border-radius:14px;background:linear-gradient(120deg,#163e4b,#152b3b);padding:19px;color:#77d7e6;min-width:0}.vod-vitals>div:nth-child(2){color:#7ae8ba}.vod-vitals>div:nth-child(3){color:#ffcc76}.vod-vitals>div:nth-child(4){color:#b9b0ff}.vod-vitals>div>svg{width:28px;height:28px}.vod-vitals span{font-size:12px;color:#b8d3df}.vod-vitals strong{display:block;font-size:21px;color:#e6f3f8;margin-top:8px}
.vod-chart-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:20px 0}.vod .do-traffic-graph{min-width:0;margin:0;background:var(--inanet-surface);border-color:var(--inanet-border)}.vod .do-traffic-graph>svg{width:100%;height:auto}.vod .do-traffic-values strong{font-size:27px}.vod .do-traffic-values small{font-size:11px}.vod .do-traffic-key,.vod .do-traffic-peaks,.vod .do-traffic-graph footer{flex-wrap:wrap;gap:10px}.vod .do-traffic-graph header h3{font-size:18px}.vod .do-traffic-graph .do-traffic-note{color:#b6cedb}.vod-signal-chart>svg{width:100%;height:auto;margin:25px 0}.vod-signal-chart svg text{fill:#bcd4df;font-size:12px}.vod-chart-key{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#45cfff}.vod-chart-key span:nth-child(2){color:#ffbf5c}.vod-chart-key small{flex-basis:100%}
.vod-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.vod-lan{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #4f8393;border-radius:18px;background:linear-gradient(#295263,#102c3a);padding:17px}.vod-lan>svg{width:36px;height:36px;color:#87deea;margin:0 5px}.vod-lan>div{border:1px solid #8e8153;border-radius:8px;padding:10px;display:flex;align-items:center;flex-direction:column;gap:6px;min-width:72px;background:#253a3e}.vod-lan>div svg{color:#f9cd73}.vod-lan strong{font-size:12px}.vod-lan small{font-size:10px}.vod-table{overflow-x:auto;margin-top:15px;border:1px solid var(--inanet-border);border-radius:11px}.vod-table table{width:100%;border-collapse:collapse;background:#102b37;color:var(--inanet-text);font-size:12px}.vod-table :is(td,th){padding:13px 10px;text-align:left;border-bottom:1px solid #335667;white-space:normal;overflow-wrap:anywhere}.vod-table th{background:#1a3d4d;color:#c8e3ed;font-size:11px}.vod-table code{font-size:12px}.vod-client{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #466879;border-radius:12px;margin-top:15px;background:#102936;font-size:12px}.vod-client>strong{font-size:14px}.vod-client p{margin:0}
.vod-fold{margin:16px 0;border:1px solid var(--inanet-border);border-radius:15px;padding:18px;background:var(--inanet-surface);color:var(--inanet-text)}.vod-fold summary{display:flex;align-items:center;gap:13px;cursor:pointer;list-style:none}.vod-fold summary>svg:first-child{color:#81dae6}.vod-fold summary>svg:last-child{margin-left:auto}.vod-fold summary strong,.vod-fold summary small{display:block}.vod-fold summary small{font-size:12px;margin-top:5px}.vod-fold>.vod-pairs{margin-top:16px}.vod .olt-history{color:var(--inanet-text);background:var(--inanet-surface);border-color:var(--inanet-border)}.vod .olt-history :is(input,select){background:#0d2836;color:var(--inanet-text)}
@media(min-width:2000px){.vod-overview{grid-template-columns:.8fr 1.5fr}.vod-gauge>svg{max-height:220px}.vod-hero{padding:35px}.vod h2{font-size:32px}}
@media(max-width:1200px){.vod-overview{grid-template-columns:1fr}.vod-panel .vod-pairs{grid-template-columns:1fr 1fr;column-gap:25px}.vod-chart-layout{grid-template-columns:1fr}.vod-vitals{grid-template-columns:1fr 1fr}.vod-bottom-grid{grid-template-columns:1fr}}
@media(max-width:650px){.crm-app .vod,.vod{padding:12px;border-radius:15px}.vod-toolbar{align-items:stretch;flex-direction:column}.vod-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.vod-toolbar button{font-size:12px;padding:10px}.vod-hero{flex-wrap:wrap;padding:18px;gap:13px;align-items:flex-start}.vod-avatar{width:51px;height:51px;border-radius:15px}.vod-avatar svg{width:30px;height:30px}.vod-hero>div{flex-basis:calc(100% - 66px)}.vod-hero aside{width:100%;max-width:none;align-items:flex-start;border-top:1px solid #557485;padding-top:13px}.vod-hero aside>svg{display:none}.vod h2{font-size:19px}.vod-hero>div>small{font-size:9px;letter-spacing:1px}.vod-badges{margin-left:-64px;margin-top:16px}.vod-badges>span{font-size:10px}.vod-panel,.vod-signal-chart{padding:14px}.vod h3{font-size:17px}.vod-panel .vod-pairs{grid-template-columns:1fr}.vod-panel-title{align-items:flex-start}.vod-panel-title>span{display:none}.vod-gauges{grid-template-columns:1fr}.vod-gauge{padding:12px 16px;display:grid;grid-template-columns:.9fr 1fr}.vod-gauge>div{align-self:center}.vod-gauge>svg{max-height:120px;margin:0}.vod-gauge footer{grid-column:2}.vod-fiber{gap:5px;font-size:10px}.vod-fiber>span>svg{display:none}.vod-vitals{gap:8px}.vod-vitals>div{padding:13px;gap:8px}.vod-vitals>div>svg{width:20px;height:20px}.vod-vitals strong{font-size:17px}.vod-reading{font-size:11px}.vod .do-traffic-values{grid-template-columns:1fr}.vod .do-traffic-values strong{font-size:24px}.vod .do-traffic-graph{padding:14px}.vod .do-traffic-graph header{gap:12px;flex-wrap:wrap}.vod .do-traffic-graph footer{font-size:11px}.vod .oh-filters{grid-template-columns:1fr}.vod-table th{min-width:75px}.vod-table td{min-width:80px}.vod .olt-history header{flex-wrap:wrap}}

.crm-app .vod .do-traffic-graph{min-width:0;background:linear-gradient(135deg,#112e3d,var(--inanet-surface,#10212b));border:1px solid var(--inanet-border,#376073);border-radius:18px;padding:20px;color:var(--inanet-text,#e8f6fc);overflow:hidden}.crm-app .vod .do-traffic-graph header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:0;background:none;border:0}.crm-app .vod .do-traffic-graph h3{display:flex;align-items:center;gap:9px;font-size:21px;margin:6px 0 14px}.crm-app .vod .do-traffic-graph svg{width:100%;height:auto;display:block;touch-action:pan-y}.crm-app .vod .do-traffic-graph svg text{fill:#b2cad7;font:12px system-ui}.crm-app .vod .do-traffic-graph header svg,.crm-app .vod .do-traffic-values>div>svg,.crm-app .vod .do-traffic-graph footer svg{width:21px;height:21px;flex-shrink:0}.crm-app .vod .do-traffic-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0}.crm-app .vod .do-traffic-values>div{display:flex;gap:12px;align-items:center;padding:15px;background:#081e2a;border-radius:12px;color:#45cfff;border:1px solid #286377;min-width:0}.crm-app .vod .do-traffic-values>div+div{color:#ffbf5c;border-color:#725d37}.crm-app .vod .do-traffic-values strong{display:block;font-size:clamp(23px,3vw,36px);font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}.crm-app .vod .do-traffic-values small{font-size:13px;color:#a9bfcd}.crm-app .vod .do-traffic-graph footer,.crm-app .vod .do-traffic-peaks{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:none;padding:9px 0;font-size:12px;color:#bcd3de}.crm-app .vod .do-traffic-graph footer span{display:flex;align-items:center;gap:6px}.crm-app .vod .do-traffic-note{display:block;font-size:11px;color:#9eb9c7;margin-top:8px}.crm-app .vod .do-traffic-message{color:#ffda91;font-size:13px;margin:8px 0}.crm-app .vod .do-traffic-graph.compact h3{font-size:18px}.crm-app .vod .do-traffic-graph.compact strong{font-size:26px}.crm-app .vod .do-traffic-graph button{background:#126087;color:#eafaff;border:1px solid #54c5ee;border-radius:9px;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px}.crm-app .vod .do-traffic-graph button:disabled{color:var(--inanet-disabled,#7893a2)}
/* VSOL owns the graph styles; this view does not have a Huawei .direct-olt parent. */
.crm-app .vod .do-traffic-graph .do-eyebrow{color:#71d9fa;font-size:11px;letter-spacing:2px;font-weight:800}
.crm-app .vod .do-traffic-graph>header{margin:0 0 14px}
.crm-app .vod .do-traffic-values>div>span{min-width:0;font-size:13px;line-height:1.5}
.crm-app .vod .do-traffic-key,.crm-app .vod .do-traffic-inspect{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--inanet-text,#d5e9f2);font-size:12px;line-height:1.5;margin:12px 0}
.crm-app .vod .do-traffic-gap-key{color:#ffbf5c}
.crm-app .vod .do-traffic-inspect{min-height:35px;padding:10px 12px;border:1px solid var(--inanet-border,#345565);border-radius:8px;background:var(--inanet-surface,#0b202c)}
.crm-app .vod .do-traffic-graph .do-traffic-note{line-height:1.6}
.crm-app .vod .do-traffic-graph .do-traffic-message{line-height:1.5}
.crm-app .vod .do-traffic-point{cursor:crosshair}
.crm-app .vod .do-traffic-point:focus{outline:none;stroke:#fff;stroke-width:2px}
@media(max-width:650px){.crm-app .vod .do-traffic-graph{padding:14px}.crm-app .vod .do-traffic-values{grid-template-columns:minmax(0,1fr);gap:10px}.crm-app .vod .do-traffic-values>div{padding:12px}.crm-app .vod .do-traffic-values strong{font-size:25px}.crm-app .vod .do-traffic-graph h3{font-size:18px}.crm-app .vod .do-traffic-peaks{flex-direction:column;gap:8px}.crm-app .vod .do-traffic-graph footer{gap:10px}.crm-app .vod .do-traffic-graph footer span{flex-wrap:wrap}}
/* ONU identity marker, decorative and shared by every row/state. */
.crm-app .vsol-monitor .vm-onu-identity{display:flex;align-items:center;gap:12px;min-width:0}
.crm-app .vsol-monitor .vm-onu-identity>div{min-width:0}
.crm-app .vsol-monitor .vm-onu-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #387885;border-radius:11px;background:linear-gradient(135deg,#1b4c58,#13323f);color:#8de1e4}
.crm-app .vsol-monitor .vm-onu-icon>svg{width:23px;height:23px;flex:none;stroke-width:1.8}
@media(max-width:650px){.crm-app .vsol-monitor .vm-onu-identity{gap:9px}.crm-app .vsol-monitor .vm-onu-icon{flex-basis:32px;width:32px;height:32px;border-radius:9px}.crm-app .vsol-monitor .vm-onu-icon>svg{width:21px;height:21px}}

.crm-app .vsol-monitor .vm-row-ip{min-width:145px}.crm-app .vsol-monitor .vm-row-ip>div+div{margin-top:10px}.crm-app .vsol-monitor .vm-row-ip code{color:#92dfe8;font-size:13px;white-space:nowrap}.crm-app .vsol-monitor .vm-row-ip small{color:#b6cad5;font-size:11px;margin-top:5px}.crm-app .vsol-monitor .vm-ip-unknown{font-size:12px;color:var(--inanet-text,#b6cad5);opacity:.75}
