:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--panel:#fff;--panel-soft:#f8f9fc;--text:#0f172a;--muted:#64748b;--line:#e1e7ef;--brand:#2563eb;--brand-strong:#1d4ed8;--shadow:0 1px 3px #1018280f, 0 4px 16px #10182812;--shadow-lg:0 8px 32px #1018281a, 0 2px 6px #1018280f;--sidebar:#0f1623;--sidebar-text:#c8d3e0;--success:#16a34a;--success-bg:#f0fdf4;--success-text:#15803d;--warning:#d97706;--warning-bg:#fffbeb;--warning-text:#92400e;--danger:#dc2626;--danger-bg:#fef2f2;--danger-text:#b91c1c;--info:#0891b2;--info-bg:#ecfeff;--info-text:#0e7490;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--item-region:#4f46e5;--item-area:#2563eb;--item-sector:#0891b2;--item-nap:#d97706;--item-olt:#9333ea;--item-mikrotik:#dc2626;--item-onu:#16a34a;--item-cliente:#475569;--item-usuario:#db2777}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161c26;--panel-soft:#1c2433;--text:#e2e8f0;--muted:#8b949e;--line:#242f3d;--brand:#58a6ff;--brand-strong:#79c0ff;--shadow:0 1px 3px #0006, 0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073, 0 2px 6px #0000004d;--sidebar:#0a0e17;--sidebar-text:#bcc8d8;--success:#4ade80;--success-bg:#052e16;--success-text:#86efac;--warning:#fbbf24;--warning-bg:#2d1500;--warning-text:#fcd34d;--danger:#f87171;--danger-bg:#2d0a0a;--danger-text:#fca5a5;--info:#67e8f9;--info-bg:#051e26;--info-text:#a5f3fc;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--item-region:#818cf8;--item-area:#60a5fa;--item-sector:#22d3ee;--item-nap:#fbbf24;--item-olt:#c084fc;--item-mikrotik:#f87171;--item-onu:#4ade80;--item-cliente:#94a3b8;--item-usuario:#f472b6}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161c26;--panel-soft:#1c2433;--text:#e2e8f0;--muted:#8b949e;--line:#242f3d;--brand:#58a6ff;--brand-strong:#79c0ff;--shadow:0 1px 3px #0006, 0 4px 16px #00000059;--shadow-lg:0 8px 32px #00000073, 0 2px 6px #0000004d;--sidebar:#0a0e17;--sidebar-text:#bcc8d8;--success:#4ade80;--success-bg:#052e16;--success-text:#86efac;--warning:#fbbf24;--warning-bg:#2d1500;--warning-text:#fcd34d;--danger:#f87171;--danger-bg:#2d0a0a;--danger-text:#fca5a5;--info:#67e8f9;--info-bg:#051e26;--info-text:#a5f3fc;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px}}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.fel-page{gap:18px;display:grid}.fel-hero{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.fel-hero h2{letter-spacing:0;margin:4px 0;font-size:24px}.fel-hero p{color:var(--muted);max-width:760px;margin:0;font-size:14px}.fel-status{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:6px 10px;font-size:12px;font-weight:850;display:inline-flex}.fel-status.ok,.fel-pill.ok{color:var(--success-text);background:var(--success-bg);border:1px solid #16a34a40}.fel-status.warn,.fel-pill.warn{color:var(--warning-text);background:var(--warning-bg);border:1px solid #d9770640}.fel-pill.bad{color:var(--danger-text);background:var(--danger-bg);border:1px solid #dc262640}.fel-pill.neutral{color:var(--info-text);background:var(--info-bg);border:1px solid #0891b240}.fel-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.fel-summary article{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;min-height:104px;padding:14px;display:grid}.fel-summary article svg{grid-row:span 3}.fel-summary article span{color:var(--muted);font-size:12px;font-weight:850}.fel-summary article strong{color:var(--text);font-size:22px}.fel-summary article p{color:var(--muted);margin:0;font-size:12px}.fel-summary article.ok{border-left:4px solid var(--success)}.fel-summary article.warn{border-left:4px solid var(--warning)}.fel-summary article.bad{border-left:4px solid var(--danger)}.fel-summary article.info{border-left:4px solid var(--info)}.fel-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:14px;display:grid}.fel-toolbar,.fel-config-grid{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.fel-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.fel-toolbar label,.fel-config-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.fel-toolbar input,.fel-toolbar select,.fel-config-grid input,.fel-config-grid select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:38px;color:var(--text);border-radius:8px;padding:8px 10px}.fel-search{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;align-items:center;gap:7px;padding-left:8px;display:flex}.fel-search input{background:0 0;border:0;padding-left:0}.fel-toolbar button,.fel-form-actions button,.fel-actions button{border:1px solid var(--line);background:var(--panel-soft);min-height:38px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-weight:850;display:inline-flex}.fel-form-actions{justify-content:flex-end;gap:10px;display:flex}.fel-form-actions .primary{background:var(--brand);color:#fff;border-color:var(--brand)}.fel-connection-note{border-radius:8px;align-self:center;margin-right:auto;padding:7px 10px;font-size:12px;font-weight:850}.fel-connection-note.ok{color:var(--success-text);background:var(--success-bg)}.fel-connection-note.warn{color:var(--warning-text);background:var(--warning-bg)}.fel-connection-note.bad{color:var(--danger-text);background:var(--danger-bg)}.fel-toggle{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;min-height:38px;padding:8px 10px;display:flex!important}.fel-toggle input{width:18px;min-height:18px}.fel-table{gap:8px;display:grid;overflow-x:auto}.fel-row{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:1.25fr 1.2fr 1fr .7fr .75fr .8fr;align-items:center;gap:10px;min-width:920px;padding:10px 12px;display:grid}.fel-row.head{color:var(--muted);text-transform:uppercase;background:0 0;border:0;font-size:11px;font-weight:900}.fel-row strong{font-size:13px;display:block}.fel-row small{color:var(--muted);word-break:break-word;margin-top:3px;font-size:11px;display:block}.fel-pill{border-radius:8px;width:fit-content;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.fel-actions{justify-content:flex-end;gap:6px;display:flex}.fel-actions button{width:34px;min-height:34px;padding:0}.fel-actions button.danger{color:var(--danger-text)}.fel-actions button:disabled{opacity:.45;cursor:not-allowed}.fel-empty{color:var(--muted);align-items:center;gap:8px;padding:18px;font-weight:800;display:flex}.fel-modal{z-index:80;background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fel-modal>div{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(860px,100%);max-height:86dvh;padding:16px;overflow:auto}.fel-modal pre{white-space:pre-wrap;word-break:break-word;background:var(--panel-soft);border-radius:8px;padding:12px;font-size:12px}.fel-close{float:right;border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:8px;padding:8px 10px;font-weight:850}@media (max-width:920px){.fel-hero{flex-direction:column;align-items:flex-start}.fel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fel-toolbar,.fel-config-grid{grid-template-columns:1fr}.fel-form-actions{flex-direction:column}}@media (max-width:560px){.fel-summary{grid-template-columns:1fr}.fel-hero h2{font-size:20px}}.finance-stats-page{gap:16px;display:grid}.finance-stats-hero{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.finance-stats-hero h2{letter-spacing:0;margin:4px 0;font-size:24px}.finance-stats-hero p{max-width:840px;color:var(--muted);font-size:14px}.finance-stats-live{min-height:32px;color:var(--success-text);background:var(--success-bg);white-space:nowrap;border:1px solid #16a34a40;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.finance-stats-live i{background:var(--success);border-radius:999px;width:8px;height:8px}.finance-stats-filters{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:.7fr .8fr 1fr 1fr 1fr 1fr 1.5fr auto auto;align-items:end;gap:10px;padding:14px;display:grid}.finance-stats-filters label{min-width:0;color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.finance-stats-filters input,.finance-stats-filters select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:38px;color:var(--text);border-radius:8px;padding:8px 10px}.finance-stats-search div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 9px;display:flex}.finance-stats-search input{background:0 0;border:0;min-height:34px;padding:0}.finance-stats-filters button{border:1px solid var(--line);background:var(--panel-soft);min-height:38px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-weight:850;display:inline-flex}.finance-stats-filters button:disabled{opacity:.55;cursor:not-allowed}.finance-stats-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.finance-stat-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;min-height:104px;padding:14px;display:grid}.finance-stat-card svg{grid-row:span 3}.finance-stat-card span{color:var(--muted);font-size:12px;font-weight:900}.finance-stat-card strong{color:var(--text);overflow-wrap:anywhere;font-size:21px}.finance-stat-card p{color:var(--muted);font-size:12px}.finance-stat-card.green{border-left:4px solid var(--success)}.finance-stat-card.blue{border-left:4px solid var(--brand)}.finance-stat-card.amber{border-left:4px solid var(--warning)}.finance-stat-card.red{border-left:4px solid var(--danger)}.finance-stat-card.cyan{border-left:4px solid var(--info)}.finance-stats-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:14px;display:grid}.finance-stats-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:14px;display:grid}.finance-stats-panel-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-stats-panel-title h3{letter-spacing:0;margin:3px 0 0;font-size:17px}.finance-stats-panel-title strong{color:var(--muted);font-size:13px}.finance-stats-chart{grid-template-columns:repeat(12,minmax(52px,1fr));gap:10px;min-height:220px;padding:8px 2px 0;display:grid;overflow-x:auto}.finance-stats-chart article{grid-template-rows:1fr auto;align-items:end;gap:8px;min-width:52px;display:grid}.finance-stats-bars{border-bottom:1px solid var(--line);justify-content:center;align-items:end;gap:4px;height:180px;display:flex}.finance-stats-bars span{border-radius:6px 6px 0 0;width:12px;min-height:4px}.finance-stats-bars .collected,.finance-stats-legend .collected{background:var(--success)}.finance-stats-bars .invoiced,.finance-stats-legend .invoiced{background:var(--brand)}.finance-stats-bars .expenses,.finance-stats-legend .expenses{background:var(--danger)}.finance-stats-chart small{color:var(--muted);text-align:center;font-size:11px}.finance-stats-legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;font-weight:850;display:flex}.finance-stats-legend span{border-radius:999px;align-self:center;width:10px;height:10px;margin-right:-8px}.finance-stats-table{display:grid;overflow-x:auto}.finance-stats-table>div{border-bottom:1px solid var(--line);grid-template-columns:1.2fr repeat(5,minmax(110px,1fr));min-width:780px;display:grid}.finance-stats-table>div>*{padding:9px 8px;font-size:13px}.finance-stats-table .head{color:var(--muted);text-transform:uppercase;background:var(--panel-soft);border-radius:8px 8px 0 0;font-size:11px;font-weight:900}.finance-stats-table strong{font-weight:900}.finance-stats-table .positive{color:var(--success-text)}.finance-stats-table .negative{color:var(--danger-text)}.finance-stats-split-list{gap:9px;display:grid}.finance-stats-split-list article{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;display:grid}.finance-stats-split-list span{color:var(--muted);font-size:12px;font-weight:900}.finance-stats-split-list strong{font-size:15px}.finance-stats-split-list small{color:var(--muted);grid-column:1/-1}.finance-stats-recent{gap:8px;display:grid;overflow-x:auto}.finance-stats-recent article{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(220px,1.4fr) minmax(110px,.6fr) minmax(150px,.8fr) minmax(120px,.6fr);align-items:center;gap:10px;min-width:780px;padding:10px;display:grid}.finance-stats-recent article span,.finance-stats-recent article div span{color:var(--muted);font-size:12px}.finance-stats-recent article strong:last-child{text-align:right}.finance-stats-empty{color:var(--muted);padding:14px;font-weight:850}@media (max-width:1200px){.finance-stats-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-stats-grid{grid-template-columns:1fr}}@media (max-width:680px){.finance-stats-hero{flex-direction:column;align-items:flex-start}.finance-stats-hero h2{font-size:20px}.finance-stats-filters,.finance-stats-summary{grid-template-columns:1fr}}.updates-page{gap:16px;display:grid}.updates-hero{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.updates-hero h2{letter-spacing:0;margin:4px 0;font-size:24px}.updates-hero p{color:var(--muted);max-width:860px;font-size:14px}.updates-channel{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.updates-channel.stable{color:var(--success-text);background:var(--success-bg);border:1px solid #16a34a40}.updates-channel.beta{color:var(--warning-text);background:var(--warning-bg);border:1px solid #d9770640}.updates-alert{background:var(--warning-bg);color:var(--warning-text);border:1px solid #d9770640;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.updates-alert span{margin-right:auto;font-weight:800}.updates-alert button,.updates-actions button,.updates-panel-title button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-weight:850;display:inline-flex}.updates-alert button:disabled,.updates-actions button:disabled,.updates-panel-title button:disabled{opacity:.55;cursor:not-allowed}.updates-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.updates-metric{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:4px;min-height:100px;padding:14px;display:grid}.updates-metric span{color:var(--muted);font-size:12px;font-weight:900}.updates-metric strong{color:var(--text);overflow-wrap:anywhere;font-size:22px}.updates-metric p{color:var(--muted);font-size:12px}.updates-metric.green{border-left:4px solid var(--success)}.updates-metric.blue{border-left:4px solid var(--brand)}.updates-metric.amber{border-left:4px solid var(--warning)}.updates-metric.red{border-left:4px solid var(--danger)}.updates-metric.cyan{border-left:4px solid var(--info)}.updates-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:14px;display:grid}.updates-panel-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.updates-panel-title h3{letter-spacing:0;margin:3px 0 0;font-size:17px}.updates-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.updates-details div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;gap:4px;padding:11px;display:grid}.updates-details .warn{background:var(--warning-bg);color:var(--warning-text);border-color:#d9770659}.updates-details span{color:var(--muted);font-size:12px;font-weight:900}.updates-details strong{overflow-wrap:anywhere;font-size:13px}.updates-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.updates-actions .primary{color:#fff;background:var(--brand);border-color:var(--brand)}.updates-config-grid{grid-template-columns:.8fr minmax(260px,1.5fr) .8fr auto;align-items:end;gap:10px;display:grid}.updates-config-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.updates-config-grid input,.updates-config-grid select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:38px;color:var(--text);border-radius:8px;padding:8px 10px}.updates-config-grid button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 10px;font-weight:850;display:inline-flex}.updates-config-grid button:disabled{opacity:.55;cursor:not-allowed}.updates-changelog{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.updates-changelog article{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;padding:12px}.updates-changelog h4{margin:0 0 8px;font-size:14px}.updates-changelog ul{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.updates-changelog p{color:var(--muted);font-size:13px}.updates-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.updates-checks article{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px;display:grid}.updates-checks article.ok{border-left:4px solid var(--success)}.updates-checks article.bad{border-left:4px solid var(--danger)}.updates-checks article.ok svg{color:var(--success)}.updates-checks article.bad svg{color:var(--danger)}.updates-checks strong{font-size:13px;display:block}.updates-checks span{color:var(--muted);font-size:12px}.updates-empty{color:var(--muted);padding:14px;font-weight:850}.updates-history{gap:8px;display:grid;overflow-x:auto}.updates-history article{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:100px minmax(220px,1fr) 100px minmax(260px,1.2fr);align-items:center;gap:10px;min-width:820px;padding:10px;display:grid}.updates-history small{color:var(--muted);margin-top:2px;display:block}.updates-history p{color:var(--muted);font-size:12px}.history-status{border-radius:8px;justify-content:center;padding:6px 8px;font-size:11px;font-weight:900;display:inline-flex}.history-status.success{color:var(--success-text);background:var(--success-bg)}.history-status.rollback{color:var(--warning-text);background:var(--warning-bg)}.history-status.running{color:var(--info-text);background:var(--info-bg)}.history-status.error{color:var(--danger-text);background:var(--danger-bg)}.updates-modal{z-index:90;background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.updates-modal>div{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:14px;width:min(720px,100%);max-height:86dvh;padding:16px;display:grid;overflow:auto}.updates-close{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:8px;justify-self:end;padding:8px 10px;font-weight:850}.updates-confirm-grid{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:150px 1fr;gap:8px;padding:12px;display:grid}.updates-confirm-grid span{color:var(--muted);font-size:12px;font-weight:900}.updates-warning{color:var(--warning-text);background:var(--warning-bg);border-radius:8px;align-items:center;gap:8px;padding:10px;font-weight:850;display:flex}@media (max-width:980px){.updates-summary,.updates-changelog{grid-template-columns:repeat(2,minmax(0,1fr))}.updates-details,.updates-checks,.updates-config-grid{grid-template-columns:1fr}}@media (max-width:620px){.updates-hero{flex-direction:column;align-items:flex-start}.updates-summary,.updates-changelog{grid-template-columns:1fr}.updates-actions{justify-content:stretch}.updates-actions button{width:100%}}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100dvh;display:flex}.sidebar{background:var(--sidebar);width:264px;height:100dvh;color:var(--sidebar-text);border-right:1px solid #ffffff0d;padding:16px 10px;transition:width .18s;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{width:72px}.brand-row{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;min-height:48px;padding:0 6px 14px;text-decoration:none;display:flex}.brand-row strong,.brand-row span{display:block}.brand-row strong{color:#f1f5f9;font-size:15px}.brand-row span{color:#64748b;letter-spacing:.01em;font-size:11px}.brand-mark{background:var(--brand);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:grid}.side-nav{gap:2px;margin:14px 0;display:grid}.side-nav a,.collapse-button{width:100%;min-height:38px;color:var(--sidebar-text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;transition:background .13s,color .13s;display:flex}.side-nav a:hover,.collapse-button:hover{color:#f1f5f9;background:#ffffff12}.accordion-nav{gap:6px;max-height:calc(100dvh - 140px);padding-right:2px;overflow-y:auto}.nav-accordion-group{gap:4px;display:grid}.nav-accordion-trigger{width:100%;min-height:38px;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;transition:background .13s,color .13s;display:grid}.sidebar.collapsed .nav-accordion-trigger{grid-template-columns:1fr;justify-items:center}.nav-accordion-trigger:hover{color:#f1f5f9;background:#ffffff12}.nav-accordion-trigger.active{color:#93c5fd;background:#58a6ff1f}.nav-accordion-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.accordion-chevron{opacity:.6;transition:transform .18s}.nav-accordion-trigger.active .accordion-chevron{opacity:1;transform:rotate(180deg)}.nav-accordion-panel{gap:2px;padding:2px 0 5px 26px;display:grid;overflow:hidden}.nav-accordion-panel a{color:#788899;border-radius:7px;align-items:center;gap:8px;min-height:32px;padding:6px 9px;font-size:13px;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-accordion-panel a:hover{color:#c9d8f0;background:#58a6ff1a}.submenu-dot{background:currentColor;border-radius:999px;flex-shrink:0;width:5px;height:5px}.collapse-button{cursor:pointer;margin-top:auto}.workspace{flex:1;min-width:0}.topbar{z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(20px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:52px;padding:8px 24px;display:grid;position:sticky;top:0}.topbar-title{align-items:center;gap:10px;min-width:0;display:flex}.topbar-brand{flex:none;align-items:center;height:30px}.topbar-brand img{object-fit:contain;width:auto;max-width:128px;height:26px;display:block}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}h1,h2,p{margin:0}.global-search{border:1px solid var(--line);background:var(--panel-soft);height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.global-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent)}.global-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.topbar-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.icon-button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:36px;padding:0;transition:background .13s,color .13s,border-color .13s;display:inline-flex;position:relative}.icon-button:hover{background:var(--panel-soft);color:var(--text);border-color:var(--brand)}.icon-button.theme-toggle{transition:color .2s}.icon-button.theme-toggle:hover{color:var(--brand)}.profile-menu-wrap{position:relative}.profile-menu-wrap summary{list-style:none}.profile-menu-wrap summary::-webkit-details-marker{display:none}.profile-menu-btn{border:1px solid var(--line);background:var(--panel);height:36px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;transition:background .13s,border-color .13s;display:inline-flex}.profile-menu-btn:hover{background:var(--panel-soft);border-color:var(--brand)}.profile-menu-wrap .profile-menu-popover{display:none}.profile-menu-wrap[open] .profile-menu-popover{display:block}.profile-menu-popover{border:1px solid var(--line);background:var(--panel);width:220px;box-shadow:var(--shadow);z-index:200;border-radius:14px;padding:8px;position:absolute;top:46px;right:0}.profile-menu-header{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 12px}.profile-menu-header strong{font-size:13.5px;display:block}.profile-menu-header small{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.profile-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.profile-menu-item:hover{background:var(--panel-soft)}.profile-menu-item.danger{color:#ef4444}.profile-menu-item.danger:hover{background:#ef44441a}.profile-menu-divider{background:var(--line);height:1px;margin:6px 0}.dot{background:#ef4444;border-radius:999px;width:8px;height:8px;position:absolute;top:7px;right:7px}.notification-wrap,.quick-actions-wrap{position:relative}.quick-actions-wrap summary{list-style:none}.quick-actions-wrap summary::-webkit-details-marker{display:none}.quick-actions-btn{border:1px solid var(--accent,#6366f1);background:var(--accent,#6366f1);color:#fff;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:7px;height:38px;padding:0 14px 0 11px;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.quick-actions-btn:hover,.quick-actions-wrap[open] .quick-actions-btn{opacity:.88}.quick-actions-wrap .quick-actions-popover{display:none}.quick-actions-wrap[open] .quick-actions-popover{display:block}.quick-actions-popover{border:1px solid var(--line);background:var(--panel);width:260px;box-shadow:var(--shadow);z-index:200;border-radius:14px;padding:10px;position:absolute;top:46px;right:0}.quick-actions-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;padding:2px 8px 8px;font-size:11px;font-weight:700}.quick-action-item{color:var(--text);border-radius:9px;align-items:center;gap:12px;padding:10px;text-decoration:none;transition:background .12s;display:flex}.quick-action-item:hover{background:var(--panel-soft)}.quick-action-item strong{font-size:13.5px;font-weight:700;display:block}.quick-action-item small{color:var(--muted);margin-top:1px;font-size:11.5px;display:block}.quick-action-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.quick-action-icon.pay{color:#6366f1;background:#6366f124}.quick-action-icon.install{color:#16a34a;background:#22c55e21}.quick-action-icon.ticket{color:#d97706;background:#f59e0b21}.quick-pay-banner{color:#6366f1;background:#6366f11f;border:1px solid #6366f1;border-radius:8px;align-items:center;gap:8px;margin:0 0 4px;padding:8px 12px;font-size:12.5px;font-weight:600;display:flex}.quick-pay-banner span{flex:1}.quick-pay-banner button{color:#6366f1;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.notifications-popover{border:1px solid var(--line);background:var(--panel);width:min(340px,88vw);box-shadow:var(--shadow);border-radius:14px;padding:14px;position:absolute;top:46px;right:0}.notification-item{border-top:1px solid var(--line);padding:10px 0}.notification-item span{color:var(--brand);font-size:12px;font-weight:700}.notification-item p{color:var(--muted);font-size:13px}.content-frame{max-width:1440px;margin:0 auto;padding:24px}.breadcrumbs{color:var(--muted);gap:8px;margin-bottom:18px;font-size:13px;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1fr) 360px;gap:18px;display:grid}.dashboard-grid.has-quick-actions .dashboard-quick-actions{grid-area:1/1/auto/-1}.dashboard-grid.has-quick-actions .widget-grid{grid-area:2/1}.dashboard-grid.has-quick-actions .wide-panel{grid-area:3/1}.dashboard-grid.has-quick-actions .side-panel{grid-area:2/2/4}.widget-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card,.wide-panel,.side-panel,.hero-panel,.login-card,.admin-hero,.admin-metric-card,.admin-panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow);transition:box-shadow .15s}.metric-card:hover{box-shadow:var(--shadow-lg)}.metric-card{justify-content:space-between;gap:12px;min-height:132px;padding:16px;display:flex}.metric-card span,.metric-card p{color:var(--muted);font-size:13px}.metric-card strong{margin:10px 0 6px;font-size:27px;display:block}.tone-violet svg{color:#7c3aed}.tone-slate svg{color:#64748b}.wide-panel{grid-column:1;padding:18px}.side-panel{grid-area:1/2/span 2;padding:18px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header h2{font-size:18px}.panel-header a{color:var(--brand);font-size:13px;font-weight:700}.activity-list{gap:10px;display:grid}.activity-list div{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.activity-list span{background:var(--brand);border-radius:999px;width:8px;height:8px}.health-score{aspect-ratio:1;border:16px solid color-mix(in srgb, var(--brand) 72%, transparent);border-radius:999px;place-items:center;max-width:220px;margin:18px auto;display:grid}.health-score strong{font-size:48px}.health-score span{color:var(--muted)}.compact-list{gap:10px;display:grid}.compact-list p{border-top:1px solid var(--line);justify-content:space-between;padding-top:10px;display:flex}.hero-panel{gap:18px;padding:26px;display:grid}.hero-panel p{color:var(--muted);max-width:720px}.action-row{flex-wrap:wrap;gap:10px;display:flex}.primary-link,.secondary-link,.login-card button{border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--brand);color:#fff;cursor:pointer;align-items:center;gap:7px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:background .13s,opacity .13s,box-shadow .13s;display:inline-flex}.primary-link:hover,.login-card button:hover{background:var(--brand-strong);box-shadow:0 2px 8px color-mix(in srgb, var(--brand) 40%, transparent)}.secondary-link{color:var(--brand);background:0 0}.secondary-link:hover{background:color-mix(in srgb, var(--brand) 10%, transparent)}.service-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.service-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.service-card span,.service-card p{color:var(--muted);font-size:13px}.service-card strong{margin:6px 0;font-size:22px;display:block}.mini-actions{gap:8px;min-width:86px;display:grid}.mini-actions a,.portal-option{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);text-align:center;border-radius:9px;padding:8px 10px;font-weight:700}.portal-picker{gap:8px;display:grid}.portal-option{cursor:pointer;justify-content:space-between;display:flex}.portal-option span{color:var(--muted);font-weight:500}.portal-option.active{border-color:var(--brand);color:var(--brand)}.admin-detail{gap:18px;display:grid}.admin-hero{gap:12px;padding:24px;display:grid}.admin-hero h2{font-size:28px}.admin-hero p{color:var(--muted);max-width:860px}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-metric-card{padding:18px}.admin-metric-card span,.admin-metric-card p{color:var(--muted);font-size:13px}.admin-metric-card strong{margin:8px 0;font-size:30px;display:block}.admin-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.admin-panel{padding:18px}.tag-list{flex-wrap:wrap;gap:10px;display:flex}.tag-list span{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.integrations-layout{gap:14px;font-size:13px;line-height:1.28;display:grid}.integrations-hero,.integration-section,.integration-summary-card,.integration-card,.olt-card,.capability-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px}.integrations-hero{justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.compact-hero{min-height:132px}.integrations-hero h2{max-width:820px;font-size:22px;line-height:1.18}.integrations-hero p,.integration-section-header p,.integration-card p,.olt-card p,.capability-card p{color:var(--muted)}.integration-health{border:10px solid color-mix(in srgb, var(--brand) 72%, transparent);border-radius:999px;flex:none;place-items:center;width:124px;height:124px;display:grid}.integration-health strong{font-size:30px}.integration-health span{color:var(--muted);text-align:center;font-size:12px}.integration-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.integration-summary-card{padding:14px}.integration-summary-card span,.integration-summary-card p{color:var(--muted);font-size:13px}.integration-summary-card strong{margin:6px 0;font-size:22px;display:block}.integration-section{gap:14px;padding:16px;display:grid}.integration-section-header{justify-content:space-between;gap:16px;display:flex}.integration-section-header h2{font-size:17px;line-height:1.2}.integration-card-grid,.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.integration-card,.capability-card{box-shadow:none;gap:12px;padding:14px;display:grid}.integration-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.integration-card h3,.olt-card h3,.capability-card h3{margin:0;font-size:15px;line-height:1.2}.integration-save-row{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.integration-save-row span{color:var(--muted);font-size:13px}.integration-save-row button,.secondary-action,.olt-form button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:800;display:inline-flex}.secondary-action:hover,.integration-save-row button:hover{border-color:var(--brand);color:var(--brand)}.inline-title-input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:15px;font-weight:800}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.config-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid label,.olt-connections label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.config-grid input,.config-grid select,.olt-connections input,.olt-connections select{border:1px solid var(--line);background:var(--panel);width:100%;height:34px;color:var(--text);border-radius:8px;padding:0 9px;font-size:13px}.olt-form{border:1px dashed var(--line);background:var(--panel-soft);border-radius:14px;gap:14px;padding:16px;display:grid}.olt-form button{background:var(--brand);color:#fff;width:fit-content}.status-pill{border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.status-pill.online{color:#22c55e;background:#16a34a29}.status-pill.standby{color:#f59e0b;background:#d9770629}.integration-tags{flex-wrap:wrap;gap:8px;display:flex}.integration-tags span{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:999px;padding:7px 9px;font-size:12px;font-weight:700}.integration-list{gap:8px;display:grid}.integration-list p,.integration-list p{align-items:center;gap:8px;display:flex}.olt-list{gap:14px;display:grid}.olt-card{box-shadow:none;gap:14px;padding:16px;display:grid}.olt-main,.olt-monitor{justify-content:space-between;align-items:center;gap:14px;display:flex}.olt-score{border:8px solid color-mix(in srgb, var(--brand) 72%, transparent);border-radius:999px;place-items:center;width:82px;height:82px;display:grid}.olt-score strong{font-size:22px}.olt-score span{color:var(--muted);font-size:11px}.olt-connections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.olt-connections div{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;padding:12px}.olt-connections span,.olt-monitor span{color:var(--muted);font-size:12px;font-weight:800}.olt-connections strong,.olt-connections p,.olt-connections em{margin-top:4px;display:block}.olt-connections em{color:var(--brand);font-size:12px;font-style:normal;font-weight:800}.olt-monitor{border-top:1px solid var(--line);padding-top:12px}.olt-monitor p{gap:4px;display:grid}.integration-toolbar,.action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.integration-toolbar button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:7px;min-height:42px;padding:10px 15px;font-size:13px;font-weight:800;display:inline-flex}.integration-toolbar button:hover{border-color:var(--brand);color:var(--brand)}.equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.connected-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;display:grid}.connected-card h3{margin:4px 0;font-size:14px;line-height:1.18}.connected-card p,.muted-line{color:var(--muted);font-size:12px}.olt-connected-card{grid-template-columns:minmax(0,1fr) auto auto}.connected-meta{text-align:right;gap:2px;display:grid}.connected-meta strong{font-size:14px}.connected-meta span{color:var(--muted);font-size:11px}.connection-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.connection-tags span{border:1px solid var(--line);background:color-mix(in srgb, var(--brand) 12%, var(--panel-soft));color:var(--text);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.compact-olt-list{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-olt-card{gap:12px;padding:14px}.path-grid,.olt-config-grid{gap:10px;display:grid}.path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.path-card,.config-group{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px}.path-card span,.path-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.path-card strong{margin:5px 0;font-size:13px;display:block}.olt-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-group{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);gap:12px;display:grid}.config-group h3{margin:0;font-size:14px}.integrations-redesign{gap:18px}.integrations-redesign .integration-module-block{border:1px solid var(--line);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 32%), var(--panel);box-shadow:var(--shadow);border-radius:14px;padding:20px}.integration-block-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.integration-block-heading h2{margin:0 0 5px;font-size:18px;line-height:1.2}.integration-block-heading p{color:var(--muted);font-size:13px}.integration-primary-action{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border-radius:9px;min-height:42px;padding:0 16px;font-size:13px;font-weight:800}.integration-primary-action.green{background:#16a34a;border-color:#22c55e73}.integration-primary-action.violet{background:#7c3aed;border-color:#8b5cf673}.integrations-redesign .integration-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.integrations-redesign .integration-summary-card{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);align-items:center;gap:16px;min-height:132px;padding:20px;display:flex}.integrations-redesign .integration-summary-card strong{font-size:28px}.summary-icon{color:#fff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.integration-summary-card.blue .summary-icon{background:#2563eb}.integration-summary-card.green .summary-icon{background:#16a34a}.integration-summary-card.violet .summary-icon{background:#6d28d9}.integration-summary-card.amber .summary-icon{background:#d97706}.network-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.network-card-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.network-device-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 62%, transparent);cursor:pointer;border-radius:12px;gap:14px;min-height:250px;padding:16px;transition:border-color .16s,transform .16s;display:grid}.network-device-card:hover{border-color:color-mix(in srgb, var(--brand) 52%, var(--line));transform:translateY(-1px)}.device-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-card-top h3{overflow-wrap:anywhere;margin:0 0 7px;font-size:16px}.device-card-top p,.device-card-footer p{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.device-status{white-space:nowrap;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:900}.device-status.online,.device-status.active{color:#4ade80;background:#16a34a38}.device-status.offline{color:#f87171;background:#dc262633}.device-tags{flex-wrap:wrap;gap:8px;display:flex}.device-tags span{border:1px solid var(--line);background:color-mix(in srgb, var(--brand) 12%, var(--panel));border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800}.device-tags .tag-cloud{color:#bfdbfe;background:#2563eb2e;border-color:#3b82f659}.device-tags .tag-local{color:#bbf7d0;background:#16a34a2e;border-color:#22c55e59}.device-tags .tag-smartolt{color:#ddd6fe;background:#6d28d938;border-color:#8b5cf66b}.device-tags .tag-cms-cdata{color:#fde68a;background:#d977062e;border-color:#f59e0b66}.device-meta-grid{border-top:1px solid var(--line);grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:11px 14px;padding-top:14px;display:grid}.device-meta-grid span{color:var(--muted);font-size:13px}.device-meta-grid strong{text-align:right;overflow-wrap:anywhere;justify-self:end;font-size:13px}.device-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:14px;display:flex}.device-actions{gap:8px;display:flex}.device-actions button{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.device-actions button:hover{border-color:var(--brand);color:var(--brand)}.device-actions button.danger,.detail-action-row button.danger{color:#f87171;background:#7f1d1d5c}.integration-detail-form{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:13px;gap:18px;padding:18px;display:grid}.detail-form-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.detail-form-heading span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.detail-form-heading h3{margin:4px 0 0;font-size:20px}.detail-form-heading button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:9px 12px;font-weight:800}.integration-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.integration-form-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.integration-form-grid label.wide{grid-column:1/-1}.integration-form-grid input,.integration-form-grid select{border:1px solid var(--line);background:var(--panel);width:100%;height:40px;color:var(--text);border-radius:9px;padding:0 11px;font-size:13px}.integration-form-grid input:disabled,.integration-form-grid select:disabled{opacity:.6;cursor:not-allowed}.olt-input-action{align-items:center;gap:6px;display:flex}.olt-input-action input{flex:1}.olt-input-action button{border:1px solid var(--line);background:var(--panel-soft);min-width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:9px;font-size:15px;line-height:1}.olt-checkline{height:40px;color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.olt-checkline input{width:auto;height:auto}.olt-pon-types{border:1px solid var(--line);border-radius:10px;gap:8px;margin-top:14px;padding:12px 14px;display:grid}.olt-pon-types legend{color:var(--muted);padding:0 6px;font-size:12px;font-weight:900}.olt-radio{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.olt-radio input{width:auto;height:auto}.conditional-form-panel .detail-action-row{margin-top:12px}.detail-action-row{flex-wrap:wrap;gap:10px;display:flex}.detail-action-row button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:9px;min-height:40px;padding:0 13px;font-weight:800}.detail-action-row button[type=submit]{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:var(--brand);color:#fff}.provider-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.provider-config-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 66%, transparent);border-radius:12px;gap:14px;padding:16px;display:grid}.provider-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-card-heading span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.provider-card-heading h3{margin:4px 0 0;font-size:16px}.provider-form-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.provider-message{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:9px;padding:10px 12px;font-size:13px}.provider-test-button{border:1px solid var(--line);background:var(--panel);width:fit-content;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-weight:800;display:inline-flex}.provider-test-button:hover{border-color:var(--brand);color:var(--brand)}.provider-test-button:disabled{cursor:progress;opacity:.7}.discovered-olt-list{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.discovered-olt-list>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.discovered-olt-row{border:1px solid var(--line);background:var(--panel);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.discovered-olt-row strong{font-size:13px}.discovered-olt-row p{color:var(--muted);font-size:12px}.discovered-olt-row button{border:1px solid color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 18%, var(--panel));color:var(--text);cursor:pointer;border-radius:8px;padding:8px 10px;font-weight:800}.conditional-form-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 68%, transparent);border-radius:12px;gap:14px;padding:16px;display:grid}.conditional-form-panel h3{margin:0;font-size:15px}.conditional-form-panel .provider-panel-grid{margin-bottom:0}.login-wrap{background:radial-gradient(120% 90% at 50% 0,#0e1a33 0%,#070c18 60%,#05070f 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border-radius:var(--r-lg);color:#e6edf7;gap:16px;width:min(440px,100%);padding:30px 26px;display:grid;box-shadow:0 24px 60px #0009;background:#000410!important;border:1px solid #16233d!important}.login-head{justify-items:center;gap:0;display:grid}.login-logo{border-radius:8px;width:100%;max-width:280px;height:auto;margin:0 auto 18px;display:block}@media (max-width:560px){.login-logo{max-width:100%}}.login-tagline{text-align:center;color:#e6edf7;margin:-8px 0 4px;font-weight:800}.login-field{color:#e6edf7;gap:6px;font-size:13px;font-weight:700;display:grid}.login-field input{color:#f1f5fb!important;background:#0e1830!important;border:1px solid #223255!important}.login-field input::placeholder{color:#7c8aa5}.login-remember{color:#9fb0cc;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.login-remember input{width:auto;margin:0}.login-card input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex:none;padding:0}.login-status{text-align:center;margin:2px 0 0;font-size:13px;font-weight:700}.login-status.err{color:#dc2626}.login-status.ok{color:#15803d}@media (max-width:760px){.login-wrap{padding:calc(env(safe-area-inset-top,0px) + 6vh) 20px calc(env(safe-area-inset-bottom,0px) + 24px);background:var(--panel);align-content:start;place-items:stretch stretch}.login-card{width:100%;max-width:460px;box-shadow:none;background:0 0;border:none;gap:18px;margin:0 auto;padding:4px 2px}.login-logo{width:min(240px,64%)}.login-tagline{margin:-22px 0 6px;font-size:18px}.login-card input{border-radius:14px;height:54px;padding:0 15px;font-size:16px}.login-card button{border-radius:14px;justify-content:center;width:100%;height:54px;margin-top:2px;font-size:16px;font-weight:800}}.login-card input{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);width:100%;height:42px;color:var(--text);outline:none;padding:0 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent)}.mobile-only,.mobile-menu-btn{display:none}.sidebar-backdrop{z-index:55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#00000080;border:none;position:fixed;inset:0}@media (max-width:1180px){.customer-kpi-strip,.customer-crm-filters,.customer-expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-crm-filters .search-filter{grid-column:1/-1}.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:flex-start}.dashboard-grid{grid-template-columns:1fr}.side-panel,.wide-panel{grid-area:auto}.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-strip,.admin-metric-grid,.admin-panels,.integration-summary-grid,.integration-card-grid,.network-card-grid,.network-card-grid.two-col,.integration-form-grid,.provider-panel-grid,.provider-form-grid,.equipment-grid,.compact-olt-list,.path-grid,.olt-config-grid,.capability-grid{grid-template-columns:1fr}.integrations-hero,.integration-section-header,.olt-main,.integration-save-row{flex-direction:column;align-items:flex-start}.olt-connections,.config-grid,.config-grid.compact,.olt-connected-card,.connected-card{grid-template-columns:1fr}.connected-meta{text-align:left}.connection-tags{justify-content:flex-start}.integration-block-heading,.detail-form-heading,.device-card-footer{flex-direction:column;align-items:flex-start}.integrations-redesign .integration-summary-card{min-height:auto}}@media (max-width:760px){.customer-kpi-strip,.customer-crm-filters,.customer-expanded-grid{grid-template-columns:1fr}.customer-table-wrap{display:none}.customer-mobile-cards{gap:10px;display:grid}.customer-pagination{flex-direction:column;align-items:stretch}.customer-pagination label,.customer-pagination div{justify-content:space-between;width:100%}.sidebar{z-index:60;width:270px;max-width:84vw;height:100dvh;padding:18px 12px;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 44px #0000008c}.sidebar.collapsed{width:270px;padding:18px 12px}.sidebar.mobile-open{transform:translate(0)}.sidebar .collapse-button{display:none}.workspace{width:100%;min-width:0}.content-frame{padding:14px 14px calc(env(safe-area-inset-bottom,0px) + 28px);min-width:0;max-width:100%;overflow-x:clip}.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-only,.mobile-menu-btn{display:inline-flex}.profile-pill span,.theme-select{display:none}.desktop-only{display:none!important}.topbar{padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:auto;display:flex}.topbar-title{flex:1;order:1;min-width:0}.topbar-actions{flex:none;order:2;gap:6px}.quick-actions-wrap{display:none}.global-search{flex:0 0 100%;order:3;height:40px}}.communication-layout{gap:18px;min-width:0;display:grid}.communication-hero,.communication-module-block,.communication-summary-card{border:1px solid var(--line);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 32%), var(--panel);box-shadow:var(--shadow);border-radius:14px}.communication-hero{padding:24px}.communication-hero h2{margin:8px 0;font-size:27px}.communication-hero p,.communication-block-heading p,.whatsapp-status-main p,.communication-summary-card p{color:var(--muted);font-size:13px}.communication-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.communication-summary-card{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);align-items:center;gap:16px;min-height:126px;padding:20px;display:flex}.communication-summary-card span{color:var(--muted);font-size:13px}.communication-summary-card strong{margin-top:5px;font-size:25px;display:block}.communication-summary-card.red .summary-icon{background:#dc2626}.communication-module-block{min-width:0;padding:20px}.communication-block-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.communication-block-heading h2{margin:4px 0 5px;font-size:20px}.communication-heading-icon{color:var(--brand)}.whatsapp-status-layout{grid-template-columns:minmax(220px,.9fr) minmax(0,2fr);gap:16px;display:grid}.whatsapp-status-main,.whatsapp-status-grid span{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 68%, transparent);border-radius:12px}.whatsapp-status-main{padding:16px}.whatsapp-status-main h3{margin:18px 0 6px;font-size:21px}.whatsapp-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.whatsapp-status-grid span{color:var(--muted);gap:7px;padding:14px;font-size:12px;display:grid}.whatsapp-status-grid strong{color:var(--text);overflow-wrap:anywhere;font-size:13px}.communication-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.communication-actions button,.ghost-action{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.communication-actions button:hover,.ghost-action:hover{border-color:var(--brand);color:var(--brand)}.communication-actions button:disabled{cursor:not-allowed;opacity:.55}.communication-actions .primary-action{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:var(--brand);color:#fff}.communication-inline-ok{color:#4ade80;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.whatsapp-connect-card{gap:16px;display:grid}.meta-connect-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.meta-connect-panel h3{margin:0 0 6px;font-size:18px}.meta-connect-panel p{color:var(--muted);font-size:13px}.meta-connect-icon{color:#93c5fd;background:#2563eb2e;border-radius:14px;place-items:center;width:50px;height:50px;display:grid}.meta-connect-button{color:#fff;cursor:pointer;white-space:nowrap;background:#1877f2;border:1px solid #3b82f673;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:13px;font-weight:900;display:inline-flex}.meta-connect-action{justify-items:end;gap:8px;display:grid}.meta-connect-action p{color:#fbbf24;text-align:right;max-width:250px;font-size:12px;font-weight:800}.meta-connect-button:disabled{cursor:not-allowed;opacity:.55}.advanced-link{color:var(--brand);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:800}.advanced-technical-panel{gap:14px;display:grid}.webhook-status-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 68%, transparent);border-radius:12px;align-items:center;gap:14px;margin-top:14px;padding:14px;display:flex}.webhook-status-card strong{font-size:13px;display:block}.webhook-status-card p{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.danger-action{color:#fca5a5!important;background:#7f1d1d47!important;border-color:#f871715c!important}.communication-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.communication-form-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.communication-form-grid label.wide{grid-column:1/-1}.communication-form-grid input,.communication-form-grid select,.communication-form-grid textarea{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);border-radius:9px;padding:0 11px;font-size:13px}.communication-form-grid input,.communication-form-grid select{height:40px}.communication-form-grid textarea{resize:vertical;min-height:92px;padding-top:11px}.chatwoot-form{margin-top:18px}.compact-heading{margin-top:8px}.chatwoot-history{margin-top:18px}.chatwoot-message-grid{grid-template-columns:minmax(180px,.8fr) minmax(180px,.9fr) minmax(180px,.8fr)}.chatwoot-live-badge{border:1px solid var(--line);vertical-align:middle;border-radius:999px;align-items:center;min-height:24px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:900;display:inline-flex}.chatwoot-live-badge.online,.chatwoot-health.online{color:#22c55e;background:#16a34a24;border-color:#22c55e6b}.chatwoot-live-badge.activated{color:#0f766e;background:#14b8a624;border-color:#14b8a675}.chatwoot-live-badge.pending,.chatwoot-health.pending{color:#b45309;background:#f59e0b1f;border-color:#f59e0b6b}.chatwoot-live-badge.error,.chatwoot-health.error{color:#dc2626;background:#7f1d1d3d;border-color:#f871716b}.chatwoot-health{border:1px solid var(--line);border-radius:10px;gap:4px;margin-top:14px;padding:10px 12px;display:grid}.chatwoot-health strong{font-size:13px}.chatwoot-health span{font-size:12px;font-weight:800}.chatwoot-channel-grid{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.communication-check{grid-template-columns:auto 1fr;align-content:end}.messaging-page{gap:10px;display:grid}.messaging-hero,.messaging-workspace,.messaging-sent-panel,.messaging-metric-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px}.messaging-hero{border-color:color-mix(in srgb, var(--brand) 16%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 7%, var(--panel)) 0%, var(--panel) 62%, color-mix(in srgb, #16a34a 4%, var(--panel)) 100%);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.messaging-hero h2{margin:3px 0;font-size:22px}.messaging-hero p,.messaging-panel-heading p,.messaging-empty{color:var(--muted);font-size:12px}.messaging-hero button,.messaging-reply button{border:1px solid var(--line);background:var(--panel-soft);min-height:36px;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-weight:900;display:inline-flex}.messaging-hero button:hover,.messaging-reply button:hover{border-color:color-mix(in srgb, var(--brand) 38%, var(--line));color:var(--brand)}.messaging-hero button:disabled,.messaging-reply button:disabled{cursor:not-allowed;opacity:.55}.messaging-sync-status{color:#15803d;white-space:nowrap;background:#16a34a14;border:1px solid #22c55e47;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.messaging-sync-status small{color:var(--muted);font-size:11px;font-weight:800}.messaging-sync-status svg.spinning{animation:.8s linear infinite messaging-sync-spin}@keyframes messaging-sync-spin{to{transform:rotate(360deg)}}.messaging-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.messaging-metric-card{--metric-color:var(--brand);border-color:color-mix(in srgb, var(--metric-color) 18%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--metric-color) 6%, var(--panel)) 0%, var(--panel) 82%);width:100%;box-shadow:inset 2px 0 0 color-mix(in srgb, var(--metric-color) 72%, transparent), 0 5px 14px #0f172a0d;cursor:pointer;text-align:left;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:flex}.messaging-metric-card:hover,.messaging-metric-card.active{border-color:color-mix(in srgb, var(--metric-color) 34%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--metric-color) 10%, var(--panel)) 0%, var(--panel) 78%)}.messaging-metric-card.active{box-shadow:inset 3px 0 0 var(--metric-color), 0 0 0 1px color-mix(in srgb, var(--metric-color) 12%, transparent), 0 7px 16px #0f172a12}.messaging-metric-card:focus{outline:none}.messaging-metric-card:focus-visible{outline:2px solid color-mix(in srgb, var(--metric-color) 42%, transparent);outline-offset:2px}.messaging-metric-card svg{color:var(--metric-color)}.messaging-metrics span{color:var(--muted);gap:2px;font-size:11px;font-weight:900;display:grid}.messaging-metrics strong{color:var(--text);font-size:20px}.messaging-metrics .ok{--metric-color:#16a34a}.messaging-metrics .bad{--metric-color:#dc2626}.messaging-metrics .blue{--metric-color:#2563eb}.messaging-metrics .warning{--metric-color:#b45309}.messaging-metrics .media{--metric-color:#0891b2}.messaging-metrics .neutral{--metric-color:#64748b}.messaging-tabs{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, var(--panel));border-radius:10px;justify-self:start;align-items:center;gap:6px;padding:3px;display:inline-flex}.messaging-tabs button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.messaging-tabs button.active{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 16%, var(--panel));color:var(--brand)}.messaging-workspace{grid-template-columns:minmax(280px,.95fr) minmax(0,2fr);min-height:560px;display:grid;overflow:hidden}.messaging-conversation-list{border-right:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--panel-soft) 96%, var(--brand) 2%) 0%, var(--panel-soft) 100%);padding:10px;overflow:auto}.messaging-panel-heading{margin-bottom:10px}.messaging-panel-heading h3,.messaging-thread-header h3{margin:4px 0;font-size:18px}.messaging-thread-title{align-items:center;gap:7px;min-width:0;display:flex}.messaging-thread-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.messaging-conversation{--conversation-color:var(--brand);border:1px solid color-mix(in srgb, var(--conversation-color) 14%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--conversation-color) 4%, var(--panel)) 0%, var(--panel) 70%);width:100%;color:var(--text);cursor:default;text-align:left;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;margin-bottom:6px;padding:8px 9px;display:grid;position:relative}.messaging-conversation.active{border-color:color-mix(in srgb, var(--conversation-color) 42%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--conversation-color) 9%, var(--panel)) 0%, var(--panel) 78%)}.messaging-conversation.open{--conversation-color:#2563eb;box-shadow:inset 2px 0 0 var(--conversation-color)}.messaging-conversation.pending{--conversation-color:#b45309;box-shadow:inset 2px 0 0 var(--conversation-color)}.messaging-conversation.resolved{--conversation-color:#64748b;opacity:.78;box-shadow:inset 2px 0 0 var(--conversation-color)}.messaging-conversation.new{--conversation-color:#0891b2;border-color:#0891b252}.messaging-conversation:hover{border-color:color-mix(in srgb, var(--conversation-color) 48%, var(--line))}.messaging-conversation-main{min-width:0;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;gap:3px;padding:0;display:grid}.messaging-conversation strong,.messaging-conversation small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-conversation strong{align-items:center;gap:6px;min-width:0;font-size:12.5px;font-weight:760;line-height:1.18;display:flex}.messaging-conversation strong span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.messaging-conversation small{color:var(--muted);font-size:11.5px;line-height:1.28}.messaging-conversation i{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9.8px;font-style:normal;font-weight:650;line-height:1.15;display:flex}.messaging-conversation i>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.messaging-conversation em{font-size:11px;font-style:normal;font-weight:900}.conversation-tags{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:4px;display:flex}.conversation-tag{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 7px;font-size:10.5px;font-weight:900;display:inline-flex}.conversation-tag.open{color:#2563eb;background:#2563eb21;border-color:#2563eb61}.conversation-tag.pending,.conversation-tag.warning{color:#b45309;background:#f59e0b26;border-color:#f59e0b6b}.conversation-tag.resolved,.conversation-tag.neutral{color:var(--muted);background:#64748b21;border-color:#64748b5c}.conversation-tag.ok{color:#15803d;background:#16a34a26;border-color:#22c55e5c}.conversation-tag.media{color:#0e7490;background:#0891b21f;border-color:#0891b257}.conversation-channel-tag{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-style:normal;font-weight:950;line-height:1;display:inline-flex}.conversation-channel-icon{border:1px solid var(--line);border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;line-height:1;display:inline-flex}.conversation-channel-icon.whatsapp{color:#fff;background:#22c55e;border-color:#128c7e7a;box-shadow:0 2px 6px #128c7e2e}.conversation-channel-icon.messenger{color:#006aff;background:#0084ff1f;border-color:#0084ff57}.conversation-channel-icon.chatwoot{color:#4338ca;background:#4f46e51c;border-color:#4f46e54d}.conversation-channel-tag.large{min-height:26px;padding:4px 8px;font-size:12px}.conversation-channel-tag.icon-only{justify-content:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0}.conversation-channel-tag strong{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.conversation-channel-tag.whatsapp{color:#075e54;background:#128c7e1f;border-color:#128c7e6b}.conversation-channel-tag.messenger{color:#006aff;background:#0084ff1f;border-color:#0084ff61}.conversation-channel-tag.chatwoot{color:#4338ca;background:#4f46e51f;border-color:#4f46e557}.conversation-icon-action{border:1px solid var(--line);background:var(--panel);width:20px;height:20px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.conversation-mini-status{border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:2px;padding:1px 4px;font-size:9px;font-weight:850;line-height:1.1;display:inline-flex}.conversation-mini-status.open{color:#2563eb;border-color:#2563eb3d}.conversation-mini-status.pending,.conversation-mini-status.warning{color:#b45309;border-color:#f59e0b47}.conversation-mini-status.resolved,.conversation-mini-status.neutral{color:var(--muted);border-color:#64748b42}.conversation-mini-status.ok{color:#15803d;border-color:#22c55e47}.conversation-icon-action.pending{color:#b45309;background:#f59e0b1f;border-color:#f59e0b61}.conversation-icon-action.resolved{color:#15803d;background:#16a34a24;border-color:#22c55e61}.conversation-icon-action.open{color:#2563eb;background:#2563eb21;border-color:#2563eb61}.conversation-icon-action.delete{color:#dc2626;background:#ef44441f;border-color:#ef444461}.conversation-icon-action:disabled{cursor:not-allowed;opacity:.55}.messaging-conversation b{color:#fff;text-align:center;background:#dc2626;border-radius:999px;min-width:22px;padding:2px 6px;font-size:11px;position:absolute;bottom:9px;right:10px}.messaging-thread-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, var(--brand) 3%) 0%, var(--panel) 100%);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.messaging-thread-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 12px;display:flex}.thread-control-stack{justify-items:end;gap:6px;min-width:auto;display:grid}.message-window-stack{white-space:nowrap;background:#16a34a12;border:1px solid #22c55e42;border-radius:999px;justify-content:flex-end;align-items:center;gap:7px;padding:4px 8px 4px 4px;display:inline-flex}.message-window-stack .message-status-pill{padding:3px 8px;font-size:10.5px}.message-window-stack:has(.message-status-pill.bad){background:#ef444414;border-color:#ef44444d}.message-window-stack:has(.message-status-pill.warning){background:#f59e0b17;border-color:#f59e0b52}.message-window-stack:has(.message-status-pill.neutral){background:#64748b14;border-color:#64748b47}.message-window-countdown{text-align:right;min-width:66px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;line-height:1}.message-window-countdown.ok{color:#15803d}.message-window-countdown.warning{color:#b45309}.message-window-countdown.bad{color:#dc2626}.message-window-countdown.neutral{color:var(--muted)}.messaging-thread-header p{color:var(--muted);font-size:12px}.messaging-thread{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-soft) 44%, transparent) 0%, transparent 40%);flex-direction:column;gap:8px;padding:10px;display:flex;overflow:auto}.message-bubble{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;max-width:min(78%,680px);padding:9px}.message-bubble.outbound{background:linear-gradient(135deg, #16a34a24, color-mix(in srgb, var(--panel) 82%, transparent));border-color:#16a34a57;align-self:flex-end}.message-bubble.inbound{background:linear-gradient(135deg, #2563eb1a, color-mix(in srgb, var(--panel-soft) 82%, transparent));border-color:#2563eb47;align-self:flex-start}.message-bubble.activity{background:color-mix(in srgb, var(--panel-soft) 75%, transparent);max-width:80%;color:var(--muted);text-align:center;align-self:center}.message-bubble-head{justify-content:flex-start;align-items:center;gap:8px;margin-bottom:7px;display:flex}.message-bubble p{white-space:pre-wrap;margin:0}.message-placeholder{color:var(--muted);font-style:italic}.message-attachments{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:10px;display:grid}.message-attachment{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 72%, transparent);min-height:52px;color:var(--text);border-radius:9px;text-decoration:none;display:grid;overflow:hidden}.message-attachment.image{aspect-ratio:4/3}.message-attachment img{object-fit:cover;width:100%;height:100%}.message-attachment span{align-items:center;gap:7px;min-width:0;padding:10px;font-size:12px;font-weight:850;display:inline-flex}.message-bubble footer{color:var(--muted);align-items:center;gap:8px;margin-top:6px;font-size:11px;display:flex}.message-bubble.outbound footer svg{color:#16a34a}.mobile-thread-back{display:none}.messaging-reply{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.reply-compose{gap:9px;min-width:0;display:grid}.reply-action-stack{align-content:start;gap:8px;min-width:224px;display:grid}.reply-status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.reply-status-action,.reply-back-action{border:1px solid var(--line);background:var(--panel-soft);min-height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:900;display:inline-flex}.reply-back-action{color:#2563eb;background:#2563eb1c;border-color:#2563eb57;display:none!important}.messaging-reply .primary-action{color:#fff;letter-spacing:0;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 56%,#0f766e 100%);border-color:#2563eb94;justify-content:center;min-height:46px;font-size:14px;box-shadow:0 10px 20px #2563eb33}.messaging-reply .primary-action:hover:not(:disabled){color:#fff;border-color:#1d4ed8bf;transform:translateY(-1px)}.messaging-reply .primary-action:disabled{border-color:color-mix(in srgb, var(--brand) 36%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 34%, var(--panel-soft)) 0%, color-mix(in srgb, #0f766e 18%, var(--panel-soft)) 100%);color:color-mix(in srgb, var(--brand) 78%, var(--text));opacity:.88;transform:none;box-shadow:0 8px 16px #2563eb1a}.reply-status-action.pending{color:#b45309;background:#f59e0b1f;border-color:#f59e0b61}.reply-status-action.resolved{color:#15803d;background:#16a34a24;border-color:#22c55e61}.reply-status-action.open{color:#2563eb;background:#2563eb21;border-color:#2563eb61}.reply-status-action:disabled,.reply-back-action:disabled{cursor:not-allowed;opacity:.55}.messaging-reply textarea{border:1px solid var(--line);background:var(--panel-soft);min-height:58px;color:var(--text);resize:vertical;border-radius:10px;padding:8px 10px}.reply-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attachment-picker{border:1px dashed color-mix(in srgb, var(--brand) 40%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel));min-height:32px;color:var(--brand);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.attachment-picker:has(input:disabled){cursor:not-allowed;opacity:.55}.attachment-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attachment-chip{color:#0e7490;text-overflow:ellipsis;white-space:nowrap;background:#0891b21f;border:1px solid #0891b257;border-radius:999px;align-items:center;gap:5px;max-width:220px;padding:4px 6px 4px 8px;font-size:11px;font-weight:900;display:inline-flex;overflow:hidden}.attachment-chip button{color:#0e7490;cursor:pointer;background:#0891b22e;border:none;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;min-height:auto;padding:0;display:inline-flex}.meta-rule-note{border-top:1px solid var(--line);color:#b45309;background:#f59e0b1a;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:900;display:flex}.messaging-sent-panel{border-color:color-mix(in srgb, #16a34a 18%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, #16a34a 6%, var(--panel)) 0%, var(--panel) 55%);padding:18px}.messaging-table{min-width:1080px}.message-status-pill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.message-status-pill.ok{color:#15803d;background:#16a34a26;border-color:#22c55e5c}.message-status-pill.bad{color:#dc2626;background:#ef44441f;border-color:#f871716b}.message-status-pill.warning{color:#b45309;background:#f59e0b26;border-color:#f59e0b6b}.message-status-pill.neutral{color:var(--muted);background:#64748b21;border-color:#64748b5c}.messaging-table tr.sent-ok{background:#16a34a0d}.messaging-table tr.sent-failed{background:#ef44440f}.messaging-pager{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.messaging-pager.right{justify-content:flex-end}.messaging-pager button{border:1px solid var(--line);background:var(--panel);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.messaging-pager button:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 40%, var(--line));color:var(--brand)}.messaging-pager button:disabled{cursor:not-allowed;opacity:.45}.messaging-pager span{color:var(--muted);font-size:12px;font-weight:900}.communication-check input{width:18px;height:18px}.communication-notice,.communication-error{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13px;font-weight:800}.communication-notice{color:#15803d;background:#16a34a1a;border-color:#22c55e4d}.communication-error{color:#fca5a5;background:#7f1d1d3d;border-color:#f871716b}:root[data-theme=light] .communication-inline-ok,:root[data-theme=light] .history-status.enviado,:root[data-theme=light] .history-status.entregado,:root[data-theme=light] .history-status.leido{color:#15803d}:root[data-theme=light] .history-status.fallido,:root[data-theme=light] .history-status.error{color:#b91c1c}:root[data-theme=light] .history-status.pendiente{color:#92400e}:root[data-theme=light] .danger-action{color:#b91c1c!important;background:#fef2f2!important}:root[data-theme=light] .communication-error{color:#b91c1c;background:#fef2f2}.communication-table-wrap{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}@media (max-width:980px){.messaging-hero,.messaging-thread-header{flex-direction:column;align-items:stretch}.messaging-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.messaging-workspace{grid-template-columns:1fr;min-height:auto}.messaging-conversation-list{border-right:none;border-bottom:1px solid var(--line);max-height:430px}.thread-control-stack,.message-window-stack{justify-items:start;min-width:0;max-width:none}.message-window-stack small{text-align:left}}@media (max-width:760px){.messaging-hero{display:none}.messaging-workspace{display:block;overflow:visible}.messaging-workspace.mobile-list-open .messaging-thread-panel,.messaging-workspace.mobile-thread-open .messaging-conversation-list{display:none}.messaging-workspace.mobile-thread-open .messaging-thread-panel{min-height:calc(100dvh - 170px);display:grid}.messaging-thread-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px 10px;display:grid}.messaging-thread-header>div:first-child{min-width:0}.messaging-thread-header .eyebrow{display:none}.messaging-thread-header h3,.messaging-thread-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messaging-thread-header h3{margin:3px 0 2px;font-size:16px;line-height:1.15}.messaging-thread-header p{font-size:11px}.thread-control-stack{justify-items:end;min-width:0}.message-window-stack{gap:5px;padding:3px 6px 3px 3px}.message-window-stack .message-status-pill{gap:4px;padding:3px 6px;font-size:10px}.message-window-countdown{min-width:58px;font-size:14px}.messaging-conversation-list{border-bottom:none;max-height:none}.mobile-thread-back{color:#2563eb;cursor:pointer;background:#2563eb1c;border:1px solid #2563eb57;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:30px;margin-bottom:4px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.reply-back-action{display:inline-flex!important}}@media (max-width:640px){.messaging-hero{padding:12px}.messaging-hero h2{font-size:20px}.messaging-hero p{display:none}.messaging-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.messaging-metric-card{gap:8px;min-height:58px;padding:8px 9px}.messaging-metric-card span{font-size:10.5px}.messaging-metric-card strong{font-size:18px}.messaging-tabs{justify-self:stretch;display:flex}.messaging-tabs button{justify-content:center;width:100%}.messaging-conversation{grid-template-columns:1fr}.conversation-tags{justify-content:flex-start}.messaging-thread{padding:8px}.message-bubble,.message-bubble.activity{max-width:100%}.message-attachments,.messaging-reply,.reply-action-stack{grid-template-columns:1fr}.reply-status-actions{justify-content:stretch}.reply-status-action{flex:1;min-width:0}.messaging-reply button.primary-action,.reply-back-action{width:100%}.attachment-picker{justify-content:center;width:100%}.attachment-list,.attachment-chip{width:100%}}.communication-table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.communication-table th,.communication-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.communication-table th{color:var(--muted);text-transform:uppercase;font-size:12px}.communication-table small{color:var(--muted);margin-top:4px;display:block}.history-status{border-radius:7px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.history-status.enviado,.history-status.entregado,.history-status.leido{color:#4ade80;background:#16a34a33}.history-status.fallido{color:#f87171;background:#dc26262e}.history-status.pendiente{color:#fbbf24;background:#d977062e}.customers-layout{gap:12px;display:grid}.customers-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.customers-toolbar .customers-hero-actions{flex:none}.customers-toolbar .customer-primary-button,.customers-toolbar .customer-secondary-link{border-radius:9px;gap:7px;min-height:36px;padding:0 13px;font-size:12px}.customers-hero,.customer-panel,.customer-metric-card{border:1px solid var(--line);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 32%), var(--panel);box-shadow:var(--shadow);border-radius:14px}.customers-hero{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.customers-hero-actions{align-items:center;gap:10px;display:flex}.customers-hero h2{margin:8px 0;font-size:27px}.customers-hero p,.customer-panel-heading p,.customer-metric-card p,.customer-chart-card span,.profile-info-block span,.service-card p,.service-card small,.upgrade-box p{color:var(--muted);font-size:13px}.customer-upgrade-box{gap:14px;display:grid}.customer-service-archive-history{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:9px;margin-top:14px;padding:14px;display:grid}.customer-service-archive-history h4{color:var(--text);align-items:center;gap:7px;margin:0;font-size:13px;font-weight:900;display:inline-flex}.customer-service-archive-history p{color:var(--muted);margin:0;font-size:11.5px}.customer-service-archive-history table{border-collapse:collapse;width:100%;font-size:12px}.customer-service-archive-history th,.customer-service-archive-history td{border-bottom:1px solid var(--line);text-align:left;padding:7px 9px}.customer-service-archive-history th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:900}.customer-service-archive-history td{color:var(--text)}.archive-pill{border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.archive-pill svg{flex:none}.archive-pill.sn{color:#67e8f9;letter-spacing:.03em;background:#22d3ee1a;border-color:#22d3ee66;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.archive-pill.model{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b866}.archive-pill.plan{color:#93c5fd;background:#60a5fa1f;border-color:#60a5fa66}.archive-pill.plan.tv{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa73}.archive-pill.olt{color:#fdba74;background:#fb923c1a;border-color:#fb923c66}.archive-pill.user{color:#6ee7b7;background:#34d3991a;border-color:#34d39966}.archive-pill.wipe-ok{color:#34d399;background:#34d39924;border-color:#34d39980}.archive-pill.wipe-pending{color:#fbbf24;background:#fbbf241f;border-color:#fbbf2480}.archive-date{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.archive-location{color:var(--muted);align-items:flex-start;gap:5px;font-size:11px;line-height:1.4;display:inline-flex}.archive-location svg{flex:none;margin-top:1px}.archive-reason{color:var(--muted);font-size:11px;font-style:italic;line-height:1.4}.archive-customer{gap:2px;display:grid}.archive-customer strong{color:var(--text);font-size:11.5px}.archive-customer small{color:var(--muted);font-size:10px;font-weight:800}.bajas-board{gap:14px;display:grid}.bajas-board-note{color:var(--muted);margin:0;font-size:12px}.bajas-board-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.bajas-board-stats span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:11px;align-items:center;gap:8px;padding:11px 13px;font-size:11.5px;font-weight:800;display:flex}.bajas-board-stats span strong{color:var(--text);margin-left:auto;font-size:17px}.bajas-board-stats span.total svg{color:#7dd3fc}.bajas-board-stats span.ok svg{color:#34d399}.bajas-board-stats span.pending svg{color:#fbbf24}.bajas-board-stats span.month svg{color:#c4b5fd}.bajas-board-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.bajas-board-filters label{color:var(--muted);gap:6px;font-size:11px;font-weight:900;display:grid}.bajas-board-filters select{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px;font-size:12.5px}.bajas-board-filters .bajas-search{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--muted);border-radius:9px;flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.bajas-board-filters .bajas-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.bajas-board-table{margin-top:0;overflow-x:auto}.bajas-board-sn{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bajas-sn-search{color:#67e8f9;background:#22d3ee12;border:1px solid #22d3ee73;border-radius:11px;flex:320px;align-items:center;gap:9px;min-height:46px;padding:0 14px;display:flex}.bajas-sn-search input{min-width:0;color:var(--text);font:inherit;letter-spacing:.03em;background:0 0;border:0;outline:none;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px}.bajas-sn-search input::placeholder{color:var(--muted);font-family:var(--font,inherit);letter-spacing:normal}.bajas-sn-search button{color:#67e8f9;cursor:pointer;background:#22d3ee2e;border:0;border-radius:50%;flex:none;width:22px;height:22px;font-size:15px;line-height:1}.bajas-board-count{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;flex:none;padding:6px 12px;font-size:11.5px;font-weight:900}.bajas-clear{color:#fca5a5;cursor:pointer;background:#f8717114;border:1px solid #f8717166;border-radius:9px;align-self:end;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:11.5px;font-weight:900;display:inline-flex}.bajas-board-table tbody tr:nth-child(2n){background:#94a3b80a}.bajas-board-table tbody tr:hover{background:#38bdf812}.bajas-board-table td{vertical-align:middle}.archive-customer-link{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:4px 9px 4px 4px;transition:border-color .15s,background .15s;display:inline-flex}.archive-customer-link:hover{background:#38bdf81a;border-color:#38bdf880}.archive-customer-link .archive-avatar{color:#fff;background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:900;display:inline-flex}.archive-customer-link .archive-customer{text-align:left}.archive-customer-link svg{color:var(--muted)}.archive-customer-link:hover svg{color:#7dd3fc}.bajas-board-error{flex-direction:column;align-items:center;gap:10px;display:flex}.bajas-board-error button{color:#7dd3fc;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf866;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:900;display:inline-flex}.bajas-dash{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:1100px){.bajas-dash{grid-template-columns:1fr}}.bajas-dash-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:start;gap:10px;display:grid}.bajas-dash-cards span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:12px 13px;font-size:11px;font-weight:800;display:flex}.bajas-dash-cards span strong{color:var(--text);margin-left:auto;font-size:19px}.bajas-dash-cards .total svg{color:#7dd3fc}.bajas-dash-cards .ok svg{color:#34d399}.bajas-dash-cards .pending svg{color:#fbbf24}.bajas-dash-cards .month svg{color:#c4b5fd}.bajas-dash-cards .tv svg{color:#f0abfc}.bajas-dash-cards .total{background:linear-gradient(135deg,#7dd3fc14,#0000);border-color:#7dd3fc4d}.bajas-dash-cards .ok{background:linear-gradient(135deg,#34d39914,#0000);border-color:#34d3994d}.bajas-dash-cards .pending{background:linear-gradient(135deg,#fbbf2414,#0000);border-color:#fbbf244d}.bajas-dash-cards .month{background:linear-gradient(135deg,#c4b5fd14,#0000);border-color:#c4b5fd4d}.bajas-dash-cards .tv{background:linear-gradient(135deg,#f0abfc14,#0000);border-color:#f0abfc4d}.bajas-dash-chart{border:1px solid var(--line);background:var(--panel);border-radius:12px;grid-template-rows:auto 1fr;gap:10px;padding:13px 14px;display:grid}.bajas-dash-chart header{color:var(--text);align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.bajas-dash-chart header svg{color:#7dd3fc}.bajas-chart-bars{justify-content:space-around;align-items:flex-end;gap:8px;min-height:120px;display:flex}.bajas-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:120px;display:flex}.bajas-chart-col b{color:var(--text);font-size:12px;font-weight:900}.bajas-chart-col i{background:linear-gradient(#38bdf8,#6366f1);border-radius:6px 6px 0 0;width:100%;max-width:38px;min-height:4px;transition:height .4s}.bajas-chart-col span{color:var(--muted);text-transform:capitalize;font-size:10.5px;font-weight:800}.bajas-list{gap:9px;display:grid}.bajas-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;transition:border-color .15s;overflow:hidden}.bajas-card:hover{border-color:#38bdf852}.bajas-card.open{border-color:#38bdf873}.bajas-card-main{grid-template-columns:34px 1.1fr 1.5fr 1.6fr 2fr auto;align-items:center;gap:12px;padding:11px 14px;display:grid}@media (max-width:1100px){.bajas-card-main{grid-template-columns:30px 1fr 1fr;row-gap:12px}.bajas-col-state{grid-column:2/-1}}.bajas-expand{border:1px solid var(--line);background:var(--bg);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.bajas-expand:hover{color:#7dd3fc;border-color:#38bdf866}.bajas-col{gap:5px;min-width:0;display:grid}.bajas-col-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;font-weight:900}.bajas-col-state{justify-self:end}.archive-onu-group{justify-items:start;gap:3px;display:grid}.archive-onu-group small{color:var(--muted);font-size:10.5px;font-weight:700}.bajas-card-detail{gap:12px;padding:0 14px 14px;display:grid}.bajas-card-detail .customer-expanded-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.bajas-card-detail .customer-expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.bajas-card-detail .bajas-col-wide{grid-column:span 2}.bajas-wipe-steps{border:1px solid var(--line);background:var(--panel-soft);border-radius:11px;gap:8px;padding:12px;display:grid}.bajas-wipe-steps header{color:var(--text);font-size:11.5px;font-weight:900}.bajas-wipe-steps ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.bajas-wipe-steps li{align-items:flex-start;gap:8px;font-size:11px;display:flex}.bajas-wipe-steps li span{gap:2px;min-width:0;display:grid}.bajas-wipe-steps li strong{color:var(--text);font-size:11px}.bajas-wipe-steps li small{color:var(--muted);font-size:10.5px;line-height:1.4}.bajas-wipe-steps li.done svg{color:#34d399;flex:none}.bajas-wipe-steps li.failed svg{color:#fbbf24;flex:none}.bajas-detail-actions{justify-content:flex-end;display:flex}.bajas-detail-actions button{color:#7dd3fc;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf866;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-size:11.5px;font-weight:900;display:inline-flex}.bajas-list-header{background:0 0;border:0;padding:2px 14px 0}.bajas-list-header .bajas-col-label{font-size:10px}.bajas-list-header .bajas-header-state,.bajas-list-header .bajas-header-user{text-align:right;justify-self:end}@media (min-width:1101px){.bajas-card-main .bajas-row-label{display:none}}@media (max-width:1100px){.bajas-list-header{display:none}}.archive-onu-group small b{color:#f0abfc;font-weight:900}.ficha-archive-main{grid-template-columns:34px 1.1fr 1.4fr 2fr auto auto}.ficha-archive-main .bajas-col-user{text-align:right;justify-self:end}.ficha-archive-main .bajas-col-user .bajas-col-label{text-align:right}@media (max-width:1100px){.ficha-archive-main{grid-template-columns:30px 1fr 1fr}.ficha-archive-main .bajas-col-state,.ficha-archive-main .bajas-col-user{text-align:left;grid-column:auto;justify-self:start}}.service-baja-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020617b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.service-baja-confirm{background:var(--panel);border:1px solid #f8717166;border-radius:14px;gap:11px;width:min(520px,100%);padding:18px;display:grid;box-shadow:0 22px 60px #0206178c}.service-baja-confirm h4{color:#fca5a5;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:900;display:inline-flex}.service-baja-confirm .service-baja-target{color:var(--text);margin:0;font-size:12.5px}.service-baja-confirm .service-baja-warning{color:#fda4af;background:#f8717114;border:1px solid #f8717147;border-radius:9px;margin:0;padding:9px 11px;font-size:11.5px;line-height:1.5}.service-baja-confirm label{color:var(--muted);gap:6px;font-size:11.5px;font-weight:900;display:grid}.service-baja-confirm textarea{border:1px solid var(--line);background:var(--bg);min-height:70px;color:var(--text);font:inherit;resize:vertical;border-radius:9px;padding:9px 11px;font-size:12.5px}.service-baja-confirm small{color:#fbbf24;font-size:10.5px}.service-baja-confirm small.service-baja-error{color:#fca5a5}.service-baja-progress-panel{gap:12px;display:grid}.service-baja-progressbar{border:1px solid var(--line);background:var(--bg);border-radius:999px;height:22px;position:relative;overflow:hidden}.service-baja-progressbar i{background:linear-gradient(90deg,#0ea5e9,#22d3ee,#34d399);border-radius:999px;height:100%;transition:width .35s;display:block}.service-baja-progressbar b{color:var(--text);text-shadow:0 1px 3px #02061799;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:flex;position:absolute;inset:0}.service-baja-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.service-baja-steps li{border:1px solid var(--line);background:var(--bg);border-radius:9px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:11.5px;display:flex}.service-baja-steps li span{gap:2px;min-width:0;display:grid}.service-baja-steps li strong{color:var(--text);font-size:11.5px}.service-baja-steps li small{color:var(--muted);font-size:10.5px;line-height:1.4}.service-baja-steps li.done{border-color:#34d39966}.service-baja-steps li.done svg{color:#34d399;flex:none}.service-baja-steps li.failed{border-color:#fbbf2466}.service-baja-steps li.failed svg{color:#fbbf24;flex:none}.service-baja-steps li.working svg{color:#7dd3fc;flex:none;animation:1.1s linear infinite baja-spin}@keyframes baja-spin{to{transform:rotate(-360deg)}}.service-baja-final{border-radius:9px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:12.5px;font-weight:900;display:flex}.service-baja-final.ok{color:#6ee7b7;background:#34d3991a;border:1px solid #34d39973}.service-baja-final.warn{color:#fcd34d;background:#fbbf241a;border:1px solid #fbbf2473}.service-baja-actions{justify-content:flex-end;gap:9px;display:flex}.service-baja-actions button{cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:8px 15px;font-size:12px;font-weight:900;display:inline-flex}.service-baja-actions button.cancel{border:1px solid var(--line);color:var(--muted);background:0 0}.service-baja-actions button.confirm{color:#fca5a5;background:#f8717129;border:1px solid #f8717180}.service-baja-actions button.confirm:disabled{opacity:.45;cursor:not-allowed}.customer-upgrade-form{grid-template-columns:minmax(170px,1fr) minmax(180px,1fr) minmax(140px,.7fr) minmax(150px,.7fr) auto;align-items:end;gap:10px;display:grid}.customer-upgrade-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.customer-upgrade-form select{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px;font-size:13px}.customer-upgrade-form>span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;padding:10px;font-size:12px;font-weight:900}.customer-upgrade-form>span strong{color:var(--brand);margin-top:3px;font-size:17px;display:block}.customer-upgrade-result{background:#22c55e14;border:1px solid #22c55e47;border-radius:10px;padding:11px;font-weight:900;color:#86efac!important}.customer-primary-button,.inline-action{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:13px;font-weight:900;display:inline-flex}.customer-secondary-link{border:1px solid var(--line);background:var(--panel-soft);min-height:42px;color:var(--text);border-radius:10px;align-items:center;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex}.customer-secondary-button{border:1px solid var(--line);background:var(--panel-soft);min-height:42px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:900;display:inline-flex}.customer-secondary-button:disabled{opacity:.6;cursor:progress}.services-master-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.olt-sync-select{border:1px solid var(--line);background:var(--panel-soft);min-height:42px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 12px;font-size:13px;font-weight:800}.olt-sync-select:disabled{opacity:.6;cursor:progress}.olt-sync-button.is-syncing{border-color:color-mix(in srgb, #f59e0b 55%, var(--line));background:color-mix(in srgb, #f59e0b 20%, var(--panel-soft));color:#f59e0b}.olt-sync-button.is-ok{border-color:color-mix(in srgb, #16a34a 55%, var(--line));background:color-mix(in srgb, #16a34a 20%, var(--panel-soft));color:#16a34a}.olt-sync-button.is-error{border-color:color-mix(in srgb, #dc2626 55%, var(--line));background:color-mix(in srgb, #dc2626 18%, var(--panel-soft));color:#f87171}@keyframes smarterisp-spin{to{transform:rotate(360deg)}}.customers-module-menu{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;flex:auto;align-items:center;gap:6px;padding:6px;display:flex}.customers-module-menu button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.customers-module-menu button.active{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 18%, var(--panel));color:var(--text)}.customer-notice{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 9%, var(--panel));color:var(--muted);border-radius:10px;padding:7px 12px;font-size:12px;font-weight:800}.customer-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:700px){.customer-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1100px){.customer-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}}.customer-stat-card{text-align:left;border:1px solid var(--line);background:radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--stat-accent,var(--brand)) 13%, transparent), transparent 46%), var(--panel);box-shadow:var(--shadow);cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.customer-stat-card:hover{border-color:color-mix(in srgb, var(--stat-accent,var(--brand)) 45%, var(--line));transform:translateY(-2px)}article.customer-stat-card{cursor:default}.customer-stat-card .stat-ico{background:color-mix(in srgb, var(--stat-accent,var(--brand)) 15%, var(--panel));width:34px;height:34px;color:var(--stat-accent,var(--brand));border-radius:10px;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.customer-stat-card .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:800}.customer-stat-card strong{font-size:26px;font-weight:900;line-height:1.05}.customer-stat-card small{font-size:11px;font-weight:700}.customer-stat-card .stat-muted{color:var(--muted)}.customer-stat-card.tone-total{--stat-accent:var(--brand)}.customer-stat-card.tone-active{--stat-accent:#16a34a}.customer-stat-card.tone-overdue{--stat-accent:#f59e0b}.customer-stat-card.tone-suspended{--stat-accent:#ef4444}.customer-stat-card.tone-retired{--stat-accent:#64748b}.customer-stat-card.tone-new{--stat-accent:#6366f1}.customers-dashboard-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.customer-metric-card{min-height:126px;padding:18px}.customer-metric-card span,.customer-indicators span,.wallet-grid span,.account-grid span,.ticket-grid span,.network-detail-grid span{color:var(--muted);font-size:12px;font-weight:800}.customer-metric-card strong{margin:8px 0 4px;font-size:24px;display:block}.customers-dashboard-panels,.customer-profile-grid{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:18px;display:grid}.customer-panel{padding:18px}.customer-panel.wide{min-width:0}.customer-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.customer-panel-heading h3{margin:4px 0 0;font-size:19px}.customer-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.customer-chart-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;padding:14px}.customer-chart-card h4{margin:0 0 12px;font-size:14px}.bar-row{grid-template-columns:74px minmax(70px,1fr) 38px;align-items:center;gap:8px;margin:9px 0;display:grid}.bar-row div{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:999px;height:8px;overflow:hidden}.bar-row i{border-radius:inherit;background:var(--brand);height:100%;display:block}.bar-row strong{font-size:12px}.customer-indicators,.wallet-grid,.account-grid,.ticket-grid{gap:10px;display:grid}.wallet-kpi-strip,.tickets-kpi-strip{gap:9px;margin:8px 0 12px;display:grid}.wallet-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tickets-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:720px){.wallet-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.wallet-kpi,.ticket-kpi{text-align:left;border:1px solid var(--line);border-left:3px solid var(--tone,var(--brand));background:color-mix(in srgb, var(--tone,var(--brand)) 7%, var(--panel-soft));border-radius:12px;gap:2px;padding:10px 12px;display:grid}.ticket-kpi{cursor:pointer}.ticket-kpi.active{box-shadow:inset 0 0 0 2px var(--tone,var(--brand))}.wallet-kpi .wk-ico,.ticket-kpi .tk-ico{color:var(--tone,var(--brand))}.wallet-kpi .wk-label,.ticket-kpi .tk-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:10.5px;font-weight:800}.wallet-kpi strong,.ticket-kpi strong{font-size:18px;font-weight:900}.wallet-kpi.tone-green,.ticket-kpi.tone-green{--tone:#16a34a}.wallet-kpi.tone-amber,.ticket-kpi.tone-amber{--tone:#f59e0b}.wallet-kpi.tone-violet{--tone:#7c3aed}.wallet-kpi.tone-blue{--tone:#2563eb}.ticket-kpi.tone-red{--tone:#ef4444}.wallet-filter{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.wallet-filter button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:800}.wallet-filter button.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--panel));color:var(--text)}.wallet-list,.tickets-list{gap:8px;display:grid}@media (min-width:900px){.wallet-list,.tickets-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.wallet-row{border:1px solid var(--line);border-left:3px solid var(--kind,#64748b);background:var(--panel-soft);border-radius:11px;grid-template-columns:34px 1fr auto auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.wallet-row .wr-ico,.ticket-row .tr-cat{background:color-mix(in srgb, var(--kind,var(--cat,#64748b)) 15%, var(--panel));width:34px;height:34px;color:var(--kind,var(--cat,#64748b));border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.wallet-row.kind-pago{--kind:#2563eb}.wallet-row.kind-recarga{--kind:#16a34a}.wallet-row.kind-ajuste{--kind:#7c3aed}.wallet-row.kind-descuento{--kind:#ef4444}.wallet-row.kind-bonificacion{--kind:#f59e0b}.wr-main,.tr-main{gap:1px;min-width:0;display:grid}.wr-main strong,.tr-main strong{align-items:baseline;gap:6px;min-width:0;font-size:13px;display:flex}.wr-main strong small,.tr-main strong small{color:var(--muted);flex:none;font-size:10px;font-weight:700}.tr-main strong{overflow:hidden}.wr-sub,.tr-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.wr-amount{white-space:nowrap;font-size:13px;font-weight:900}.wr-amount.neg{color:#ef4444}.wallet-status,.ticket-status{align-items:center;display:inline-flex}.wallet-status.st-aplicado,.ticket-status.ts-cerrado{color:#16a34a}.wallet-status.st-pendiente,.ticket-status.ts-enproceso{color:#f59e0b}.wallet-status.st-reversado,.ticket-status.ts-abierto{color:#ef4444}.tickets-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tickets-new{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--brand);color:#fff;cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.ticket-item{border:1px solid var(--line);border-left:3px solid var(--prio,#64748b);background:var(--panel-soft);border-radius:11px;align-self:start;overflow:hidden}.ticket-item.prio-alta{--prio:#ef4444}.ticket-item.prio-media{--prio:#f59e0b}.ticket-item.prio-baja{--prio:#16a34a}.ticket-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px 1fr auto auto auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.tr-chevron{color:var(--muted);transition:transform .18s}.ticket-item.open .tr-chevron{transform:rotate(180deg)}.ticket-detail{border-top:1px dashed var(--line);gap:10px;padding:10px 12px 12px;display:grid}.td-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (min-width:700px){.td-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.td-field{border:1px solid var(--line);background:var(--panel);border-radius:9px;gap:2px;padding:7px 9px;display:grid}.td-field>span,.td-block>span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.td-field strong{overflow-wrap:anywhere;font-size:12.5px}.td-block{gap:3px;display:grid}.td-block p{color:var(--text);margin:0;font-size:12.5px;font-weight:600}.td-actions{flex-wrap:wrap;gap:8px;display:flex}.td-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:11.5px;font-weight:800;display:inline-flex}.td-actions .td-close{border-color:color-mix(in srgb, #16a34a 40%, var(--line));color:#16a34a}@media (min-width:900px){.ticket-item.open{grid-column:1/-1}}.tr-cat.cat-soporte{--cat:#2563eb}.tr-cat.cat-facturacion{--cat:#b45309}.tr-cat.cat-instalacion{--cat:#0f766e}.tr-cat.cat-corte{--cat:#ef4444}.tr-cat.cat-cambio{--cat:#7c3aed}.ticket-prio{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:900}.ticket-prio.p-alta{background:color-mix(in srgb, #ef4444 15%, var(--panel));color:#ef4444}.ticket-prio.p-media{background:color-mix(in srgb, #f59e0b 18%, var(--panel));color:#d97706}.ticket-prio.p-baja{background:color-mix(in srgb, #16a34a 15%, var(--panel));color:#16a34a}.customer-indicators article,.wallet-grid span,.account-grid span,.ticket-grid span,.prepaid-calc,.upgrade-box,.equipment-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:11px;padding:13px}.customer-indicators strong,.wallet-grid strong,.account-grid strong,.ticket-grid strong,.network-detail-grid strong{color:var(--text);margin-top:4px;font-size:17px;display:block}.customer-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.customer-filter-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.customer-filter-grid label.search-filter{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;grid-column:span 2;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.customer-filter-grid input{border:1px solid var(--line);background:var(--panel);width:100%;height:40px;color:var(--text);border-radius:9px;padding:0 10px}.customer-filter-grid .search-filter input{background:0 0;border:0;outline:0;height:auto;padding:0}.customer-table-wrap{overflow-x:auto}.customer-table{border-collapse:collapse;width:100%;min-width:1180px;font-size:13px}.customer-table th,.customer-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px}.customer-table th{color:var(--muted);text-transform:uppercase;font-size:12px}.customer-table td small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;font-weight:700;display:block}.customer-code-button{color:var(--brand);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:900}.customer-status{border-radius:7px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex}.customer-status.online{color:#4ade80;background:#22c55e26}.customer-status.standby{color:#f87171;background:#ef444426}.customer-status.offline{color:#ef4444;background:#ef444438}.customer-table-actions,.customer-button-row{flex-wrap:wrap;gap:6px;display:flex}.customer-table-actions button,.customer-button-row button,.profile-info-block button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.customer-table-actions{min-width:242px}.customer-table-actions button:hover,.customer-button-row button:hover,.profile-info-block button:hover{border-color:color-mix(in srgb, var(--brand) 42%, var(--line));background:color-mix(in srgb, var(--brand) 11%, var(--panel))}.customer-count-pill{background:color-mix(in srgb, var(--brand) 16%, transparent);color:var(--brand-strong);vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:3px 9px;font-size:13px;font-weight:700;display:inline-flex}.customers-crm-shell{gap:14px;display:grid}.customer-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.customer-crm-kpi{border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;min-height:96px;padding:16px 16px 16px 72px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}button.customer-crm-kpi{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none}.customer-crm-kpi:hover,.customer-crm-table tbody tr:hover,.customer-mobile-card:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));transform:translateY(-2px);box-shadow:0 18px 36px #00000047}button.customer-crm-kpi.kpi-selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand) 40%, transparent)}.customer-crm-kpi svg{border-radius:14px;width:38px;height:38px;padding:9px;position:absolute;top:25px;left:18px}.customer-crm-kpi.active{background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 28%, var(--line))}.customer-crm-kpi.active svg{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.customer-crm-kpi.overdue{background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 28%, var(--line))}.customer-crm-kpi.overdue svg{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.customer-crm-kpi.suspended{background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning) 28%, var(--line))}.customer-crm-kpi.suspended svg{background:color-mix(in srgb, var(--warning) 14%, transparent);color:var(--warning)}.customer-crm-kpi.new{background:var(--info-bg);border-color:color-mix(in srgb, var(--info) 28%, var(--line))}.customer-crm-kpi.new svg{background:color-mix(in srgb, var(--info) 14%, transparent);color:var(--info)}[data-theme=dark] .customer-crm-kpi.active{border-color:color-mix(in srgb, #16a34a 22%, var(--line));background:linear-gradient(135deg,#16a34a38,#0f172ae6)}[data-theme=dark] .customer-crm-kpi.active svg{color:#4ade80;background:#16a34a33}[data-theme=dark] .customer-crm-kpi.overdue{border-color:color-mix(in srgb, #dc2626 22%, var(--line));background:linear-gradient(135deg,#dc262633,#0f172ae6)}[data-theme=dark] .customer-crm-kpi.overdue svg{color:#f87171;background:#dc26262e}[data-theme=dark] .customer-crm-kpi.suspended{border-color:color-mix(in srgb, #d97706 22%, var(--line));background:linear-gradient(135deg,#f59e0b38,#0f172ae6)}[data-theme=dark] .customer-crm-kpi.suspended svg{color:#fbbf24;background:#f59e0b2e}[data-theme=dark] .customer-crm-kpi.new{border-color:color-mix(in srgb, #2563eb 22%, var(--line));background:linear-gradient(135deg,#2563eb45,#0f172ae6)}[data-theme=dark] .customer-crm-kpi.new svg{color:#60a5fa;background:#3b82f633}.customer-crm-kpi span,.customer-crm-kpi small{color:var(--muted);font-size:12px;font-weight:900;display:block}.customer-crm-kpi strong{color:var(--text);margin-top:3px;font-size:24px;display:block}.customer-crm-filters{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;grid-template-columns:minmax(220px,1.3fr) minmax(118px,.6fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(126px,.6fr) auto auto;align-items:end;gap:10px;padding:10px;display:grid}.customer-crm-filters label{color:var(--muted);gap:5px;font-size:11px;font-weight:900;display:grid}.customer-crm-filters .search-filter{border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;align-items:center;gap:10px;min-height:56px;padding:0 14px;display:flex}.customer-crm-filters input,.customer-crm-filters select,.advanced-filter-panel input{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:40px;color:var(--text);border-radius:9px;outline:0;padding:0 11px}.customer-crm-filters .search-filter input{background:0 0;border:0;height:100%;min-height:auto;padding:0;font-size:12px;font-weight:400}.customer-crm-filters .search-filter input::placeholder{color:var(--muted);font-size:12px;font-weight:400}.customer-advanced-filter-button{border:1px solid var(--line);background:var(--panel-soft);min-height:42px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:900;display:inline-flex}.customer-advanced-filter-button.icon-only{gap:0;width:42px;padding:0}.customer-crm-table{border:1px solid var(--line);border-collapse:separate;border-spacing:0;border-radius:12px;min-width:1080px;overflow:hidden}.customer-crm-table thead th{background:color-mix(in srgb, var(--panel-soft) 78%, transparent);text-transform:none;letter-spacing:0}.customer-crm-table tbody tr{transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.customer-crm-table tbody tr:hover{background:#3b82f60d}.customer-identity-cell{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:inline-flex}.customer-identity-row{align-items:center;gap:9px;display:flex}.customer-expand-button{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 12%, var(--panel));color:#93c5fd;cursor:pointer;border-radius:999px;flex:0 0 29px;justify-content:center;align-items:center;width:29px;height:29px;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.customer-expand-button:hover{border-color:color-mix(in srgb, var(--brand) 72%, var(--line));background:color-mix(in srgb, var(--brand) 22%, var(--panel));transform:scale(1.04)}.customer-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:999px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:950;display:inline-flex}.customer-avatar.tone-1{background:linear-gradient(135deg,#7c3aed,#db2777)}.customer-avatar.tone-2{background:linear-gradient(135deg,#0891b2,#14b8a6)}.customer-avatar.tone-3{background:linear-gradient(135deg,#2563eb,#06b6d4)}.customer-contact-stack{gap:6px;display:grid}.customer-whatsapp-line{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.customer-contact-line{color:var(--text);align-items:center;gap:6px;font-weight:900;display:flex}.customer-contact-line svg{color:#60a5fa}.customer-whatsapp-line svg{color:#22c55e}.service-pill{color:#93c5fd;background:#2563eb38;border-radius:7px;width:fit-content;padding:3px 7px;display:inline-flex}.service-pill.tv{color:#c4b5fd;background:#7c3aed3d}.customer-status.overdue{color:#fbbf24;background:#f59e0b26}.customer-status.retired{color:#cbd5e1;background:#64748b38}.customer-status.pending{color:#93c5fd;background:#2563eb38}.balance-positive{color:#22c55e}.balance-negative,.due-overdue{color:#f87171!important}.customer-icon-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:206px;display:flex;position:relative}.customer-icon-actions>button,.advanced-filter-panel .customer-panel-heading button,.customer-pagination button,.customer-pagination select{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 10px;font-weight:900;display:inline-flex}.customer-icon-actions>button:hover,.customer-advanced-filter-button:hover,.customer-pagination button:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand) 50%, var(--line));background:color-mix(in srgb, var(--brand) 12%, var(--panel))}.customer-icon-actions>button.view{color:#93c5fd;background:#2563eb24;border-color:#60a5fa52}.customer-icon-actions>button.edit{color:#fde68a;background:#ca8a0424;border-color:#facc1547}.customer-icon-actions>button.payment{color:#86efac;background:#16a34a24;border-color:#22c55e4d}.customer-icon-actions>button.invoice{color:#5eead4;background:#0d948821;border-color:#2dd4bf47}.customer-icon-actions>button.ticket{color:#d8b4fe;background:#7c3aed24;border-color:#a855f74d}.customer-icon-actions>button.more{color:#cbd5e1;background:#33415552;border-color:#94a3b842}.customer-expanded-parent td{border-bottom-color:color-mix(in srgb, var(--brand) 22%, var(--line))}.customer-expanded-row td{background:#0f172a8c;padding:0 11px 14px}.customer-expanded-grid{border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;display:grid}.customer-expanded-grid span{border:1px solid var(--line);background:var(--panel-soft);min-height:58px;color:var(--muted);border-radius:10px;gap:4px;padding:9px 10px;font-size:11px;font-weight:900;display:grid}.customer-expanded-grid strong{color:var(--text);overflow-wrap:anywhere;font-size:13px}.customer-expanded-grid .ceg-field{border-left:3px solid var(--field-accent,var(--line));background:color-mix(in srgb, var(--field-accent,var(--line)) 7%, var(--panel-soft))}.customer-expanded-grid .ceg-field strong{color:color-mix(in srgb, var(--field-accent,var(--text)) 82%, var(--text))}.field-signal{--field-accent:#16a34a}.field-distance{--field-accent:#0ea5e9}.field-status{--field-accent:#7c3aed}.field-model{--field-accent:#f59e0b}.field-onu{--field-accent:#6366f1}.field-olt{--field-accent:#14b8a6}.field-conn{--field-accent:#ec4899}.field-ip{--field-accent:#3b82f6}.field-user{--field-accent:#8b5cf6}.field-pass{--field-accent:#64748b}.field-activation{--field-accent:#22c55e}.field-reading{--field-accent:#f97316}.customer-expanded-grid .ceg-field.tone-good{--field-accent:#16a34a}.customer-expanded-grid .ceg-field.tone-warn{--field-accent:#d97706}.customer-expanded-grid .ceg-field.tone-bad{--field-accent:#ef4444}.customer-expanded-grid .ceg-field.tone-idle{--field-accent:#94a3b8}.customer-expanded-grid .ceg-field.tone-good strong{color:#16a34a}.customer-expanded-grid .ceg-field.tone-warn strong{color:#d97706}.customer-expanded-grid .ceg-field.tone-bad strong{color:#ef4444}.svc-tech-signals{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}@media (max-width:640px){.svc-tech-signals{grid-template-columns:1fr 1fr}.svc-tech-signals .svc-health{grid-column:1/-1;grid-template-columns:auto 1fr;justify-items:start}}.svc-gauge{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;gap:5px;padding:8px 10px;display:grid}.svc-gauge .sg-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.svc-gauge .sg-top span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:800}.svc-gauge .sg-top strong{font-size:12.5px}.svc-gauge .sg-track{background:color-mix(in srgb, var(--gt,#64748b) 18%, var(--panel));border-radius:999px;height:7px;overflow:hidden}.svc-gauge .sg-track i{background:var(--gt,#64748b);border-radius:999px;height:100%;display:block}.svc-gauge.tone-good{--gt:#16a34a}.svc-gauge.tone-warn{--gt:#f59e0b}.svc-gauge.tone-bad{--gt:#ef4444}.svc-health{border:1px solid var(--line);border-left:3px solid var(--ht,#64748b);background:color-mix(in srgb, var(--ht,#64748b) 8%, var(--panel-soft));border-radius:10px;align-content:center;justify-items:center;gap:2px;min-width:96px;padding:8px 12px;display:grid}.svc-health .svh-val{color:var(--ht,#64748b);font-size:20px;font-weight:900;line-height:1}.svc-health .svh-label{color:var(--muted);text-transform:uppercase;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.svc-health .svh-label i{background:var(--ht,#64748b);border-radius:999px;width:7px;height:7px}.svc-health.tone-good{--ht:#16a34a}.svc-health.tone-warn{--ht:#f59e0b}.svc-health.tone-bad{--ht:#ef4444}.svc-health.tone-idle{--ht:#94a3b8}.svc-tech-actions{border-top:1px dashed var(--line);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.svc-tech-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:800;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.svc-tech-actions button:hover{border-color:var(--brand);color:var(--brand)}.svc-tech-actions .svc-tech-wifi:hover{color:#16a34a;border-color:#16a34a}.svc-live{position:relative}.svc-live .tone-good{--tc:#16a34a}.svc-live .tone-warn{--tc:#f59e0b}.svc-live .tone-bad{--tc:#ef4444}.svc-live .tone-idle{--tc:#94a3b8}.svc-live .tone-brand{--tc:var(--brand)}.svc-live-badge{z-index:3;letter-spacing:.05em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;top:8px;right:10px}.svc-live-badge i{border-radius:50%;width:7px;height:7px}.svc-live-badge em{color:var(--muted);letter-spacing:0;font-style:normal;font-weight:800}.svc-live-badge.live{color:#16a34a;background:color-mix(in srgb, #16a34a 12%, var(--panel));border:1px solid #16a34a6b}.svc-live-badge.live i{background:#16a34a;animation:1.4s ease-out infinite svcPulse}.svc-live-badge.cache{color:var(--warning-text);background:var(--warning-bg);border:1px solid color-mix(in srgb, var(--warning) 42%, transparent)}.svc-live-badge.cache i{background:var(--warning)}@keyframes svcPulse{0%{box-shadow:0 0 #16a34a8c}to{box-shadow:0 0 0 7px #16a34a00}}.svc-loader{border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 7%, var(--panel-soft)), var(--panel-soft));border-radius:14px;align-items:center;gap:14px;padding:16px 18px;display:flex}.svc-loader-mark{width:46px;height:46px;color:var(--brand);flex:none;place-items:center;display:grid;position:relative}.svc-loader-orbit{border:2px solid color-mix(in srgb, var(--brand) 20%, transparent);border-top-color:var(--brand);border-radius:50%;animation:.9s linear infinite svcSpin;position:absolute;inset:0}@keyframes svcSpin{to{transform:rotate(360deg)}}.svc-loader-body{flex:auto;gap:7px;min-width:0;display:grid}.svc-loader-body b{color:var(--text);font-size:12.5px;font-weight:900}.svc-loader-body small{color:var(--muted);font-size:11px;font-weight:700}.svc-loader-bar{background:color-mix(in srgb, var(--brand) 13%, var(--panel-soft));border-radius:999px;height:8px;position:relative;overflow:hidden}.svc-loader-bar i{background:linear-gradient(90deg, transparent, var(--brand), var(--brand-strong), transparent);border-radius:999px;width:42%;animation:1.15s cubic-bezier(.4,0,.2,1) infinite svcLoaderSlide;position:absolute;top:0;bottom:0}@keyframes svcLoaderSlide{0%{left:-45%}to{left:103%}}.ftx-detail{position:relative}.ftx-hero.tone-good{--fx:#22c55e;--fx2:#f59e0b}.ftx-hero.tone-warn{--fx:#f59e0b;--fx2:#f59e0b}.ftx-hero.tone-bad{--fx:#ef4444;--fx2:#ef4444}.ftx-hero{grid-template-columns:minmax(190px,1fr) minmax(240px,1.5fr) minmax(190px,1fr);align-items:stretch;gap:14px;display:grid}.ftx-node{text-align:center;border-radius:14px;align-content:start;justify-items:center;gap:4px;padding:9px 14px 10px;display:grid;position:relative}.ftx-olt{background:color-mix(in srgb, #2563eb 6%, var(--panel-soft));border:1px solid color-mix(in srgb, #2563eb 16%, var(--line))}.ftx-onu{background:color-mix(in srgb, #22c55e 8%, var(--panel-soft));border:1px solid color-mix(in srgb, #22c55e 22%, var(--line))}.ftx-node-ico{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:50%;place-items:center;width:33px;height:33px;display:grid;box-shadow:0 5px 12px #2563eb47}.ftx-node-ico.green{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 5px 12px #22c55e47}.ftx-node-head h5{color:#2563eb;margin:0;font-size:13px;font-weight:900}.ftx-onu .ftx-node-head h5{color:#16a34a}.ftx-node-head small{color:var(--muted);overflow-wrap:anywhere;margin-top:1px;font-size:10px;font-weight:700;display:block}.ftx-wl-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:9px;font-weight:800}.ftx-dbm{color:#2563eb;font-size:16px;font-weight:900;line-height:1}.ftx-dbm.green{color:#16a34a}.ftx-dbm em{color:var(--muted);margin-left:3px;font-size:10px;font-style:normal;font-weight:800}.ftx-wl-pill{border-radius:999px;padding:2px 9px;font-size:9px;font-weight:800}.ftx-wl-pill.blue{color:#2563eb;background:color-mix(in srgb, #2563eb 12%, var(--panel))}.ftx-wl-pill.green{color:#16a34a;background:color-mix(in srgb, #22c55e 15%, var(--panel))}.ftx-node-check{display:inline-flex;position:absolute;top:12px;right:12px}.ftx-node-check.ok{color:#22c55e}.ftx-node-check.off{color:#ef4444}.ftx-center{align-content:center;justify-items:center;gap:2px;padding:2px;display:grid}.ftx-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:10px;font-weight:900;display:inline-flex}.ftx-status i{border-radius:50%;width:7px;height:7px}.ftx-status.tone-good{color:#16a34a;background:color-mix(in srgb, #22c55e 12%, var(--panel))}.ftx-status.tone-good i{background:#22c55e;animation:1.6s ease-out infinite svcPulse}.ftx-status.tone-warn{color:#b45309;background:color-mix(in srgb, #f59e0b 15%, var(--panel))}.ftx-status.tone-warn i{background:#f59e0b}.ftx-status.tone-bad{color:#b91c1c;background:color-mix(in srgb, #ef4444 12%, var(--panel))}.ftx-status.tone-bad i{background:#ef4444;animation:1.6s ease-out infinite svcPulse}.ftx-dist-label{color:var(--muted);margin-top:2px;font-size:10px;font-weight:700}.ftx-dist{color:var(--text);font-size:15px;font-weight:900;line-height:1}.ftx-dist em{color:var(--muted);margin-left:3px;font-size:10px;font-style:normal;font-weight:800}.ftx-line{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;margin:5px 0 1px;display:grid}.ftx-dev{color:#fff;background:#2563eb;border-radius:6px;place-items:center;width:24px;height:19px;display:grid}.ftx-dev.green{background:#16a34a}.ftx-wire{background:linear-gradient(90deg, var(--fx,#22c55e), var(--fx2,#f59e0b));border-radius:999px;height:4px;position:relative}.ftx-p{width:6px;height:6px;box-shadow:0 0 6px 1px #fff, 0 0 11px var(--fx,#22c55e);background:#fff;border-radius:50%;margin-top:-3px;position:absolute;top:50%}.ftx-p.ltr{animation:2.4s linear infinite ftxLtr;animation-delay:var(--d,0s)}.ftx-p.rtl{animation:2.4s linear infinite ftxRtl;animation-delay:var(--d,0s)}@keyframes ftxLtr{0%{opacity:0;left:-2%}10%{opacity:1}90%{opacity:1}to{opacity:0;left:100%}}@keyframes ftxRtl{0%{opacity:0;left:100%}10%{opacity:1}90%{opacity:1}to{opacity:0;left:-2%}}.ftx-pulse{width:21px;height:21px;color:var(--fx,#22c55e);background:var(--panel);border:2px solid var(--fx,#22c55e);border-radius:50%;place-items:center;animation:1.9s ease-out infinite ftxPulse;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ftxPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fx,#22c55e) 50%, transparent)}to{box-shadow:0 0 0 9px #0000}}.ftx-health{border:1px solid;border-radius:10px;align-items:center;gap:5px;margin-top:4px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-flex}.ftx-health b{margin-left:2px;font-weight:900}.ftx-health.tone-good{color:#16a34a;background:color-mix(in srgb, #22c55e 8%, var(--panel));border-color:#22c55e4d}.ftx-health.tone-warn{color:#b45309;background:color-mix(in srgb, #f59e0b 10%, var(--panel));border-color:#f59e0b52}.ftx-health.tone-bad{color:#b91c1c;background:color-mix(in srgb, #ef4444 9%, var(--panel));border-color:#ef44444d}.ftx-strip{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;grid-template-columns:repeat(6,1fr);margin-top:14px;display:grid;overflow:hidden}.ftx-strip>span{border-right:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:1px 8px;min-width:0;padding:9px 10px;display:grid}.ftx-strip>span:last-child{border-right:none}.ftx-strip i{color:#2563eb;background:color-mix(in srgb, #2563eb 10%, var(--panel));border-radius:8px;grid-row:1/3;place-items:center;width:26px;height:26px;display:grid}.ftx-strip small{color:var(--muted);text-transform:uppercase;letter-spacing:.01em;align-self:end;font-size:8.5px;font-weight:800;line-height:1.15}.ftx-strip strong{color:var(--text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;align-self:start;font-size:11px;font-weight:800}.ftx-strip>span.ok strong{color:#16a34a}.ftx-pass{align-items:center;gap:8px;display:inline-flex}.ftx-pass button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;display:inline-flex}.ftx-pass button:hover{color:#2563eb}.ftx-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.ftx-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:12.5px;font-weight:800;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.ftx-actions button:hover{color:#2563eb;background:color-mix(in srgb, #2563eb 5%, var(--panel));border-color:#2563eb}.ftx-actions button.wifi:hover{color:#16a34a;background:color-mix(in srgb, #22c55e 6%, var(--panel));border-color:#16a34a}@media (max-width:960px){.ftx-hero{grid-template-columns:1fr}.ftx-strip{grid-template-columns:repeat(3,1fr)}.ftx-strip>span:nth-child(3n){border-right:none}}@media (max-width:560px){.ftx-strip{grid-template-columns:repeat(2,1fr)}.ftx-strip>span:nth-child(3n){border-right:1px solid var(--line)}.ftx-strip>span:nth-child(2n){border-right:none}}.customer-context-backdrop{z-index:1200;cursor:default;background:0 0;border:0;position:fixed;inset:0}.customer-context-menu{z-index:1201;border:1px solid color-mix(in srgb, var(--brand) 24%, var(--line));-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;background:#0f172a;border-radius:12px;width:200px;max-height:calc(100dvh - 24px);padding:7px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 24px 60px #020617d9}:root[data-theme=light] .customer-context-menu,.light .customer-context-menu{background:#fff}.customer-context-menu button.highlight{color:#6ee7b7;font-weight:900}.customer-archived-toggle.active{color:#c4b5fd;background:#a78bfa1f;border-color:#a78bfa80}.customer-archived-toggle em{color:#ddd6fe;background:#a78bfa47;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.reactivate-confirm{width:min(620px,100%)}.reactivate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.reactivate-grid label{color:var(--muted);gap:5px;font-size:11px;font-weight:900;display:grid}.reactivate-grid .reactivate-wide{grid-column:span 2}.reactivate-grid input{border:1px solid var(--line);background:var(--bg);min-height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 10px;font-size:12.5px}.service-baja-warning.ok{color:#6ee7b7;background:#34d39914;border-color:#34d3994d}.service-baja-actions button.confirm.reactivate{color:#6ee7b7;background:#34d39929;border-color:#34d39980}.customer-context-menu button{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;min-height:34px;padding:0 10px;font-weight:800}.customer-context-menu button:hover{background:color-mix(in srgb, var(--brand) 16%, transparent)}.customer-context-menu button.danger{color:#fca5a5}.customer-pagination{justify-content:space-between;align-items:center;gap:14px;display:flex}.customer-pagination label{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:800;display:inline-flex}.customer-pagination div{align-items:center;gap:8px;display:flex}.customer-pagination span{background:var(--brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:34px;font-weight:950;display:inline-flex}.customer-pagination button:disabled{cursor:not-allowed;opacity:.45}.customer-mobile-cards{display:none}.customer-mobile-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 74%, transparent);border-radius:13px;padding:13px;transition:transform .2s,border-color .2s,box-shadow .2s}.customer-mobile-card button{color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.customer-mobile-card p,.customer-mobile-card small{color:var(--muted);font-size:12px}.customer-mobile-contact{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.customer-mobile-contact svg:first-of-type{color:#60a5fa}.customer-mobile-contact svg:last-of-type{color:#22c55e}.customer-mobile-card div{justify-content:space-between;gap:10px;margin:10px 0;display:flex}.advanced-filter-layer{z-index:60;justify-content:flex-end;display:flex;position:fixed;inset:0}.advanced-filter-backdrop{background:#0206179e;border:0;position:absolute;inset:0}.advanced-filter-panel{z-index:1;border-left:1px solid var(--line);background:var(--panel);align-content:start;gap:11px;width:min(420px,92vw);height:100%;padding:22px;display:grid;position:relative;overflow-y:auto;box-shadow:-24px 0 60px #00000061}.advanced-filter-panel label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.customer-fields-panel>p{border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));background:color-mix(in srgb, var(--brand) 8%, transparent);color:var(--muted);border-radius:10px;margin:0;padding:11px;font-size:13px;font-weight:800}.customer-field-toggle-list{gap:8px;display:grid}.customer-field-toggle-list label{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.customer-field-toggle-list input{width:18px;min-height:18px;accent-color:var(--brand)}.customer-fields-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.customer-fields-actions .customer-primary-button{grid-column:1/-1}.customer-fields-actions button:not(.customer-primary-button){border:1px solid var(--line);background:var(--panel-soft);min-height:40px;color:var(--text);cursor:pointer;border-radius:9px;font-weight:900}@media (max-width:760px){.advanced-filter-panel{width:100vw;padding:16px}.advanced-filter-panel .customer-panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.advanced-filter-panel .customer-panel-heading h3{font-size:16px}}.customer-form-panel{scroll-margin-top:92px}.customer-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.customer-form-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.customer-form-grid label.wide{grid-column:span 2}.customer-form-grid input,.customer-form-grid select{border:1px solid var(--line);background:var(--panel-soft);width:100%;height:42px;color:var(--text);font:inherit;border-radius:9px;padding:0 11px;font-size:13px}.customer-edit-form{flex-direction:column;gap:16px;display:flex}.customer-edit-scope-note{border:1px solid color-mix(in srgb, #38bdf8 35%, var(--line));background:color-mix(in srgb, #38bdf8 12%, var(--panel-soft));color:#7dd3fc;border-radius:10px;align-items:center;gap:8px;margin:0;padding:10px 13px;font-size:12px;font-weight:700;display:flex}.customer-edit-section{flex-direction:column;gap:10px;display:flex}.customer-edit-section-title{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.4px;color:var(--brand);align-items:center;gap:7px;margin:0;padding-bottom:6px;font-size:12px;font-weight:900;display:flex}.customer-edit-section-title.contact{color:#34d399}.customer-edit-section-title.location{color:#fbbf24}.customer-edit-section-title.docs{color:#c084fc}.customer-field-label{align-items:center;gap:5px;display:inline-flex}.customer-field-label .req{color:#f87171}.customer-edit-optional{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);letter-spacing:.3px;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:9.5px}.customer-dpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.customer-dpi-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:11px;flex-direction:column;gap:8px;padding:12px;display:flex}.customer-dpi-card strong{font-size:12px;font-weight:900}.customer-dpi-preview{border:1px dashed var(--line);background:var(--panel);border-radius:9px;justify-content:center;align-items:center;height:130px;display:flex;overflow:hidden}.customer-dpi-preview img{object-fit:cover;width:100%;height:100%}.customer-dpi-preview span{color:var(--muted);font-size:12px}.customer-dpi-actions{align-items:center;gap:8px;display:flex}.customer-dpi-upload{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--brand);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:11.5px;font-weight:800;display:inline-flex}.customer-dpi-remove{border:1px solid color-mix(in srgb, #f87171 40%, var(--line));color:#f87171;cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:7px 10px;display:inline-flex}.customer-form-actions{align-items:end;gap:8px;padding-top:19px;display:flex}.customer-form-actions button:not(.customer-primary-button){border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 14px;font-size:13px;font-weight:900}.customer-empty-state{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);color:var(--muted);border-radius:12px;margin:0;padding:18px;font-size:13px;font-weight:800}.customer-flow-panel{min-height:360px}.customer-crm-kpi small.trend-up{color:#34d399}.customer-crm-kpi small.trend-down{color:#f87171}.clients-split{grid-template-columns:minmax(338px,408px) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (max-width:1100px){.clients-split{grid-template-columns:1fr}}.clients-master{border:1px solid var(--line);background:var(--panel);border-radius:13px;gap:10px;padding:13px;display:grid;position:sticky;top:12px}.clients-master-head{color:var(--text);font-size:12.5px;font-weight:900}.clients-master-list{grid-template-columns:minmax(0,1fr);gap:8px;max-height:620px;display:grid;overflow-y:auto}.clients-master-item{border:1px solid var(--line);background:var(--bg);cursor:pointer;text-align:left;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;transition:border-color .15s,background .15s;display:flex}.clients-master-item:hover{background:color-mix(in srgb, var(--brand) 3%, var(--bg));border-color:#38bdf859}.clients-master-item.selected{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--bg));box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent)}.clients-master-info{flex-direction:column;flex:1;gap:3px;min-width:0;padding-top:1px;display:flex}.cmi-row1{align-items:baseline;gap:6px;min-width:0;display:flex}.cmi-row1 strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:900;overflow:hidden}.cmi-code{color:var(--muted);white-space:nowrap;background:#64748b1a;border-radius:4px;flex:none;padding:1px 5px;font-size:9px;font-weight:800}.cmi-sector{color:var(--muted);font-size:9.5px;font-weight:700}.client-svc-types{flex-wrap:wrap;gap:3px;margin-top:1px;display:flex}.client-svc-type{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:5px;padding:2px 6px;font-size:8.5px;font-weight:800}.client-svc-more{color:var(--muted);background:#64748b1f;border-radius:5px;padding:2px 6px;font-size:8.5px;font-weight:800}.client-status-breakdown{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.csb-chip{white-space:nowrap;align-items:center;gap:3px;font-size:9px;font-weight:900;display:inline-flex}.csb-active{color:#4ade80}.csb-moroso{color:#fbbf24}.csb-suspended{color:#f87171}.csb-grace{color:#fcd34d;background:#d977062e;border-radius:4px;margin-left:2px;padding:1px 5px;font-size:8px;font-weight:800;display:inline-block}.clients-master-pagination{margin-top:2px}.clients-master-pagination span{border-radius:6px;min-width:26px;min-height:24px;font-size:11px}.clients-detail{gap:12px;min-width:0;display:grid}.clients-detail-head{border:1px solid var(--line);background:var(--panel);border-radius:13px;align-items:center;gap:13px;padding:15px 16px;display:flex}.clients-detail-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);width:46px!important;height:46px!important;font-size:15px!important}.clients-detail-id{flex:1;gap:6px;min-width:0;display:grid}.clients-detail-name{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.clients-detail-name h3{color:var(--text);margin:0;font-size:17px;font-weight:900}.clients-detail-meta{flex-wrap:wrap;gap:14px;display:flex}.clients-detail-meta span{color:var(--muted);align-items:center;gap:5px;font-size:11.5px;font-weight:800;display:inline-flex}.clients-detail-meta span svg{color:#60a5fa}.clients-detail-meta span.wa svg{color:#22c55e}.clients-detail-actions{flex:none;align-items:center;gap:7px;display:inline-flex}.clients-detail-tabs{margin:0}.detail-back-btn{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:9px;align-self:flex-start;align-items:center;gap:6px;padding:9px 13px;font-size:13px;font-weight:800;display:none}.clients-detail-body{gap:12px;display:grid}.clients-resumen{gap:13px;display:grid}.clients-resumen-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.clients-resumen-stats>span{border:1px solid var(--line);background:var(--bg);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:11px;gap:3px;padding:12px 13px;font-size:10.5px;font-weight:900;display:grid}.clients-resumen-stats>span b{color:var(--text);letter-spacing:0;text-transform:none;font-size:17px}.clients-resumen-stats>span b.ok{color:#34d399}.clients-resumen-stats>span small{color:var(--muted);text-transform:none;letter-spacing:0;font-size:10.5px;font-weight:700}.clients-resumen-tags{flex-wrap:wrap;gap:7px;display:flex}.clients-resumen-tags .crt{border:1px solid color-mix(in srgb, var(--chip,#64748b) 35%, var(--line));background:color-mix(in srgb, var(--chip,#64748b) 12%, var(--panel));color:var(--chip,#64748b);border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:900;display:inline-flex}.crt.ok{--chip:#16a34a}.crt.warn{--chip:#d97706}.crt.bad{--chip:#ef4444}.crt.info{--chip:#2563eb}.crt.teal{--chip:#0f766e}.crt.violet{--chip:#7c3aed}.crt.slate{--chip:#64748b}.clients-resumen-stats>span.crs{border-left:3px solid var(--tone-c,var(--brand));background:color-mix(in srgb, var(--tone-c,var(--brand)) 6%, var(--bg))}.clients-resumen-stats>span.crs .crs-ico{background:color-mix(in srgb, var(--tone-c,var(--brand)) 15%, var(--panel));width:30px;height:30px;color:var(--tone-c,var(--brand));border-radius:8px;justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.clients-resumen-stats>span.crs.tone-blue{--tone-c:#2563eb}.clients-resumen-stats>span.crs.tone-green{--tone-c:#16a34a}.clients-resumen-stats>span.crs.tone-amber{--tone-c:#f59e0b}.clients-resumen-stats>span.crs.tone-red{--tone-c:#ef4444}.clients-resumen-stats>span.crs.tone-violet{--tone-c:#7c3aed}.clients-resumen-stats>span.crs.tone-slate{--tone-c:#64748b}.clients-resumen-services{gap:12px;display:grid}.clients-resumen-services-title{color:var(--text);align-items:center;gap:8px;margin:6px 0 0;font-size:13px;font-weight:900;display:flex}.clients-resumen-services-title svg{color:var(--brand)}.clients-resumen-service{--srv-accent:var(--brand);border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.clients-resumen-service.tone-0{--srv-accent:#2563eb}.clients-resumen-service.tone-1{--srv-accent:#0f766e}.clients-resumen-service.tone-2{--srv-accent:#7c3aed}.clients-resumen-service.tone-3{--srv-accent:#b45309}.clients-resumen-service .srv-head{background:color-mix(in srgb, var(--srv-accent) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--srv-accent) 25%, var(--line));flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.srv-badge{color:#fff;background:var(--srv-accent);border-radius:7px;padding:2px 9px;font-size:11px;font-weight:900}.srv-name{color:var(--srv-accent);font-size:13.5px;font-weight:900}.srv-default{color:var(--srv-accent);border:1px solid color-mix(in srgb, var(--srv-accent) 45%, var(--line));border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.srv-price{color:var(--srv-accent);margin-left:auto;font-size:12.5px;font-weight:800}.clients-resumen-service .srv-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px 18px;padding:12px 14px;display:grid}.clients-resumen-service .srv-net{border-top:1px dashed var(--line)}.clients-resumen-service .srv-grid>div{gap:2px;display:grid}.clients-resumen-service .srv-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:10.5px;font-weight:800}.clients-resumen-service .srv-grid strong{color:var(--text);font-size:12.5px;font-weight:700}.client-services-compact{gap:12px;display:grid}.client-services-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.client-services-title{align-items:center;gap:10px;display:inline-flex}.client-services-title svg{color:var(--brand);flex:none}.client-services-title h3{margin:0;font-size:19px}.client-services-head-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.client-services-new{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border-radius:9px;flex:none;align-items:center;gap:7px;padding:8px 13px;font-size:11.5px;font-weight:900;display:inline-flex}.client-services-technical{color:#7dd3fc;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf866;border-radius:9px;flex:none;align-items:center;gap:7px;padding:8px 13px;font-size:11.5px;font-weight:900;display:inline-flex}.client-services-summary{flex-wrap:wrap;gap:8px;display:flex}.client-services-summary>span,.client-services-summary>button{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:11px;font-weight:900;display:inline-flex}.client-services-summary b{color:inherit;font-size:12px;font-weight:900}.client-services-summary .ok{color:#4ade80;background:#22c55e14;border-color:#22c55e66}.client-services-summary .ok b{color:#4ade80}.client-services-summary .overdue{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b66}.client-services-summary .overdue b{color:#fbbf24}.client-services-summary .suspended{color:#f87171;background:#ef444414;border-color:#ef444466}.client-services-summary .suspended b{color:#f87171}.client-services-summary .duesoon{color:#fdba74;background:#fb923c14;border-color:#fb923c66}.client-services-summary .duesoon b{color:#fdba74}.client-services-summary .archived{color:#c4b5fd;cursor:pointer;background:#a78bfa14;border-color:#a78bfa66}.client-services-summary .archived b{color:#c4b5fd}.client-services-table{gap:8px;display:grid}.client-service-row{grid-template-rows:auto auto auto;grid-template-columns:26px 48px minmax(0,.95fr) 1.15fr 1.2fr .85fr .95fr .95fr 44px;align-items:center;gap:1px 9px;padding:10px 12px;display:grid}.client-service-row .bajas-expand{grid-area:1/1/4;align-self:center}.client-service-row .csr-status{grid-area:1/2/4;align-self:center}.client-service-row .end{grid-area:1/9/4;place-self:center end}.client-service-row .csr-addr{grid-area:2/3/auto/9;align-self:start}.client-service-row .csr-ref{grid-area:3/3/auto/9;align-self:start}.client-service-header .csr-hspace{grid-column:1/3}.client-service-header{grid-template-rows:auto;align-items:center}@media (max-width:1280px){.client-service-row{grid-template-columns:26px 48px minmax(0,.9fr) 1.2fr 1.3fr .9fr 44px}.client-service-row .csr-corte,.client-service-row .csr-proximo,.client-service-header .h-corte,.client-service-header .h-proximo{display:none}.client-service-row .end{grid-column:7}.client-service-row .csr-addr,.client-service-row .csr-ref{grid-column:3/7}}.svc-id-info{gap:1px;min-width:0;display:grid}.svc-loc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:inherit;font-size:10px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.svc-loc-sector{color:var(--brand);font-weight:800}.svc-loc-sector svg{vertical-align:-1px;margin-right:3px}.svc-loc-ref{color:var(--muted);font-style:italic}.client-service-header{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 12px 0;font-size:9.5px;font-weight:900}.client-service-header .end{text-align:right}.client-service-card{--svc-accent:var(--brand);border:1px solid var(--line);background:var(--panel);border-radius:12px;transition:border-color .15s}.client-service-card.tone-0{--svc-accent:#2563eb}.client-service-card.tone-1{--svc-accent:#0f766e}.client-service-card.tone-2{--svc-accent:#7c3aed}.client-service-card.tone-3{--svc-accent:#b45309}.client-service-card.tone-0,.client-service-card.tone-1,.client-service-card.tone-2,.client-service-card.tone-3{border-color:color-mix(in srgb, var(--svc-accent) 45%, var(--line));box-shadow:inset 3px 0 0 var(--svc-accent)}.client-service-card:hover{border-color:color-mix(in srgb, var(--svc-accent) 65%, var(--line))}.client-service-card.open{border-color:var(--svc-accent)}.client-service-id{align-items:center;gap:9px;min-width:0;display:flex}.client-service-id>span{gap:1px;min-width:0;display:grid}.client-service-id strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:900;overflow:hidden}.client-service-id small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:800}.client-service-id-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;width:100%;padding:0;transition:background .15s}.client-service-id-btn:hover{background:var(--surface-2,#ffffff0f)}.csr-status{cursor:pointer;background:0 0;border:none;align-content:center;justify-items:center;gap:2px;min-width:0;padding:2px 0;display:grid}.csr-status-ic{display:inline-flex}.csr-status-ic svg{width:26px;height:26px}.csr-status-unit{color:var(--muted);letter-spacing:.02em;font-size:7.5px;font-weight:800;line-height:1}.csr-status.tone-good .csr-status-ic{color:#16a34a}.csr-status.tone-warn .csr-status-ic{color:#f59e0b}.csr-status.tone-bad .csr-status-ic{color:#ef4444}.csr-status.tone-idle .csr-status-ic{color:#94a3b8}.csr-status.tone-good .csr-status-ic svg{animation:2.2s ease-in-out infinite onuLinkPulse}@keyframes onuLinkPulse{0%,to{opacity:1}50%{opacity:.55}}.csr-status-lvl{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9.5px;font-weight:900;line-height:1}.csr-status.tone-good .csr-status-lvl{color:#16a34a}.csr-status.tone-warn .csr-status-lvl{color:#d97706}.csr-status.tone-bad .csr-status-lvl{color:#ef4444}.csr-status.tone-idle .csr-status-lvl{color:#94a3b8}.csr-name{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-self:center;min-width:0;padding:0;transition:background .15s}.csr-name:hover{background:var(--surface-2,#ffffff0f)}.csr-name .svc-code{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;display:block;overflow:hidden}.csr-addr,.csr-ref{cursor:pointer;text-align:left;min-width:0;max-width:100%;color:var(--muted);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.csr-addr{font-size:11px}.csr-ref{font-size:10.5px;font-style:italic}.csr-addr svg{color:var(--brand);flex:none}.csr-addr span,.csr-ref span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.csr-ref span{padding-left:16px}.csr-addr:hover span,.csr-ref:hover span{color:var(--text)}@media (prefers-reduced-motion:reduce){.csr-status.tone-good .csr-status-ic svg{animation:none}}.customer-service-focus-bar{background:var(--accent-dim,#6366f11f);border:1px solid var(--accent,#6366f1);color:var(--accent,#6366f1);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 14px;font-size:12.5px;display:flex}.customer-service-focus-bar button{border:1px solid var(--accent,#6366f1);color:var(--accent,#6366f1);cursor:pointer;background:0 0;border-radius:5px;padding:3px 10px;font-size:11.5px}.customer-service-focus-bar button:hover{background:var(--accent,#6366f1);color:#fff}.client-service-icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.client-service-icon.net{color:#60a5fa;background:#60a5fa26}.client-service-icon.tv{color:#a78bfa;background:#a78bfa26}.client-service-plan{justify-items:start;gap:3px;min-width:0;display:grid}.client-service-plan strong{color:var(--text);font-size:12.5px;font-weight:900}.client-service-plan .archive-pill.plan{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.client-service-row .csr-estado{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.client-service-amount{gap:1px;display:grid}.client-service-amount strong{color:var(--text);font-size:12.5px;font-weight:900}.client-service-amount small{color:var(--muted);font-size:10px;font-weight:800}.client-service-date{gap:1px;display:grid}.client-service-date strong{color:var(--text);font-size:12px;font-weight:900}.client-service-date small{color:var(--muted);font-size:10px;font-weight:800}.client-service-date small.due-soon{color:#fbbf24}.client-service-date small.due-overdue{color:#f87171}.client-service-row .end{justify-self:end}.client-service-more{border:1px solid var(--line);background:var(--bg);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.client-service-more:hover{color:#7dd3fc;border-color:#38bdf866}.client-service-detail{padding:0 12px 12px}.svc-ref{display:none}.customer-history-panel{gap:12px;display:grid}.history-branches{gap:9px;display:grid}.history-branch{border:1px solid var(--line);border-left:3px solid var(--branch,#64748b);background:var(--panel);border-radius:11px;overflow:hidden}.history-branch.tone-green{--branch:#34d399}.history-branch.tone-emerald{--branch:#10b981}.history-branch.tone-cyan{--branch:#22d3ee}.history-branch.tone-blue{--branch:#60a5fa}.history-branch.tone-violet{--branch:#c4b5fd}.history-branch.tone-amber{--branch:#fbbf24}.history-branch.tone-red{--branch:#f87171}.history-branch.tone-orange{--branch:#fb923c}.history-branch.tone-slate{--branch:#94a3b8}.history-branch-head{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.history-branch-head:hover{background:color-mix(in srgb, var(--branch) 8%, transparent)}.history-branch-dot{background:var(--branch);width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb, var(--branch) 22%, transparent);border-radius:50%;flex:none}.history-branch-head strong{font-size:13px;font-weight:900}.history-branch-count{background:color-mix(in srgb, var(--branch) 20%, transparent);min-width:22px;height:22px;color:var(--branch);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:11.5px;font-style:normal;font-weight:900;display:inline-flex}.history-branch-chevron{color:var(--muted);margin-left:auto;transition:transform .2s}.history-branch.open .history-branch-chevron{transform:rotate(180deg)}.history-branch-list{gap:0;margin:0;padding:0 14px 12px;list-style:none;display:grid}.history-branch-list li{gap:12px;padding:10px 0 10px 4px;display:flex;position:relative}.history-branch-list li:not(:last-child){border-bottom:1px dashed var(--line)}.history-event-dot{background:var(--branch);border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px}.history-event-body{flex:1;gap:4px;min-width:0;display:grid}.history-event-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.history-event-top strong{color:var(--text);font-size:12.5px;font-weight:900}.history-event-top small{color:var(--muted);white-space:nowrap;font-size:10.5px;font-weight:800}.history-event-body p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}.history-event-user{width:fit-content;color:var(--branch);align-items:center;gap:5px;font-size:10.5px;font-weight:900;display:inline-flex}.customer-documents-panel{gap:12px;display:grid}.customer-documents-note{color:var(--muted);margin:0;font-size:12px}.customer-doc-uploader{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:11px;padding:14px;display:grid}.customer-doc-uploader-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.customer-doc-uploader-fields label{color:var(--muted);gap:6px;font-size:11px;font-weight:900;display:grid}.customer-doc-uploader-fields select,.customer-doc-uploader-fields input{border:1px solid var(--line);background:var(--bg);min-height:38px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px;font-size:12.5px}.customer-doc-uploader-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.customer-doc-file{border:1px dashed color-mix(in srgb, var(--brand) 40%, var(--line));background:color-mix(in srgb, var(--brand) 8%, transparent);color:var(--brand);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:900;display:inline-flex}.customer-doc-preview{border:1px solid var(--line);object-fit:cover;border-radius:10px;max-width:220px;max-height:160px}.customer-doc-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:11px;display:grid}.customer-doc-card{border:1px solid var(--line);background:var(--panel);border-radius:11px;gap:0;text-decoration:none;transition:border-color .15s,transform .15s;display:grid;overflow:hidden}.customer-doc-card:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));transform:translateY(-2px)}.customer-doc-card img{object-fit:cover;width:100%;height:120px;display:block}.customer-doc-fileicon{height:120px;color:var(--muted);background:var(--bg);justify-content:center;align-items:center;display:flex}.customer-doc-meta{gap:3px;padding:9px 11px;display:grid}.customer-doc-meta strong{color:var(--text);overflow-wrap:anywhere;font-size:11.5px;font-weight:800}.customer-doc-meta small{color:var(--muted);font-size:10px;font-weight:800}.customer-flow-grid,.customer-tab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.customer-flow-grid a{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:14px;gap:10px;min-height:190px;padding:18px;transition:transform .18s,border-color .18s,background .18s;display:grid}.customer-flow-grid a:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel));transform:translateY(-1px)}.customer-flow-grid svg{color:var(--brand)}.customer-flow-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.customer-flow-grid strong{font-size:22px}.customer-flow-grid p{color:var(--muted);font-size:13px;line-height:1.45}.customer-tab-action{width:fit-content;margin-top:14px}.customer-profile-shell{gap:14px;display:grid}.customer-profile-tabs{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.customer-profile-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:900}.customer-profile-tabs button.active{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 14%, var(--panel));color:var(--text)}.clients-detail-tabs button[data-tab]{border-bottom:2.5px solid color-mix(in srgb, var(--tab-accent,var(--brand)) 50%, transparent)}.clients-detail-tabs button[data-tab=Resumen]{--tab-accent:#2563eb}.clients-detail-tabs button[data-tab=Servicios]{--tab-accent:#0f766e}.clients-detail-tabs button[data-tab=Facturacion]{--tab-accent:#b45309}.clients-detail-tabs button[data-tab=Pagos]{--tab-accent:#15803d}.clients-detail-tabs button[data-tab=Tickets]{--tab-accent:#dc2626}.clients-detail-tabs button[data-tab=Equipos]{--tab-accent:#7c3aed}.clients-detail-tabs button[data-tab=Documentos]{--tab-accent:#be185d}.clients-detail-tabs button[data-tab=Historial]{--tab-accent:#4f46e5}.clients-detail-tabs button[data-tab=Notificaciones]{--tab-accent:#0891b2}.clients-detail-tabs button[data-tab=Auditoria]{--tab-accent:#64748b}.clients-detail-tabs button.active[data-tab]{border-color:var(--tab-accent);background:color-mix(in srgb, var(--tab-accent) 14%, var(--panel))}.services-master-page{gap:16px;display:grid}.services-master-hero,.services-master-metrics article,.services-master-list,.services-master-detail{border:1px solid var(--line);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 32%), var(--panel);box-shadow:var(--shadow);border-radius:14px}.services-master-hero{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.services-master-hero h2{margin:8px 0;font-size:27px}.services-master-hero p,.services-master-metrics p,.services-master-table span,.services-master-table small,.services-master-profile span,.services-relations-grid span{color:var(--muted);font-size:13px}.services-master-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.services-master-metrics article{padding:18px}.services-master-metrics span{color:var(--muted);font-size:12px;font-weight:900}.services-master-metrics strong{margin:8px 0 4px;font-size:25px;display:block}.services-master-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);align-items:start;gap:16px;display:grid}.services-master-list,.services-master-detail{padding:18px}.services-master-detail{position:sticky;top:88px}.services-master-table{gap:10px;display:grid}.services-master-table article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);cursor:pointer;border-radius:12px;grid-template-columns:minmax(190px,1fr) 130px 100px 86px auto;align-items:center;gap:12px;padding:13px;transition:transform .18s,border-color .18s,background .18s;display:grid}.services-master-table article:hover,.services-master-table article.selected{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 9%, var(--panel));transform:translateY(-1px)}.services-master-table strong,.services-master-profile strong,.services-relations-grid strong{color:var(--text);font-weight:900;display:block}.services-master-table b{color:var(--brand)}.services-master-table em{border-radius:999px;width:fit-content;padding:6px 9px;font-size:11px;font-style:normal;font-weight:900}.services-master-table em.online{color:#4ade80;background:#16a34a33}.services-master-table em.offline{color:#f87171;background:#dc262633}.services-master-actions{gap:6px;display:flex}.services-master-actions button{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;display:grid}.services-master-actions button:hover{border-color:color-mix(in srgb, var(--brand) 42%, var(--line));color:var(--brand)}.services-master-profile,.services-relations-grid,.services-master-form{gap:10px;display:grid}.services-master-profile span,.services-relations-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:11px;padding:12px;font-weight:800}.services-master-profile strong{margin-top:5px}.services-relations-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.services-master-form{grid-template-columns:repeat(2,minmax(0,1fr))}.services-master-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.services-master-form label.wide,.services-master-form .customer-form-actions{grid-column:1/-1}.services-master-form input,.services-master-form select,.services-master-form textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:10px}.services-master-form textarea{resize:vertical;min-height:90px}.services-check{grid-template-columns:auto 1fr;align-content:end}.profile-main{min-width:0}.profile-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-info-block{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;gap:10px;padding:14px;display:grid}.profile-info-block h4{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.profile-info-block div,.network-detail-grid span{gap:4px;display:grid}.profile-info-block strong{overflow-wrap:anywhere;font-size:13px}.prepaid-calc strong{margin:8px 0;font-size:28px;display:block}.prepaid-calc div,.mini-list,.timeline-list,.ai-grid{gap:8px;margin-top:12px;display:grid}.prepaid-calc div span,.mini-list p,.timeline-list p,.ai-grid span{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;margin:0;padding:9px 10px;font-size:13px;font-weight:800}.customer-operational-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.service-card{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;gap:8px;margin-bottom:10px;padding:13px;display:grid}.service-card div{justify-content:space-between;gap:10px;display:flex}.service-card span{color:var(--muted);font-size:13px}.customer-services-panel{gap:14px;display:grid}.customer-service-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.customer-refresh-network-button{border:1px solid color-mix(in srgb, #60a5fa 34%, var(--line));color:#bfdbfe;cursor:pointer;background:#2563eb29;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:900;display:inline-flex}.customer-refresh-network-button:hover{background:#2563eb3d;border-color:#60a5fa9e}.customer-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.customer-service-card{border-left:4px solid var(--brand);background:radial-gradient(circle at 0% 0%, #3b82f61f, transparent 42%), color-mix(in srgb, var(--panel-soft) 75%, transparent);min-height:315px;margin:0;position:relative}.customer-service-card.archived{opacity:.78;border-left-color:#94a3b8}.customer-service-card header,.customer-service-actions,.customer-service-meta{display:grid}.customer-service-card header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.customer-service-card header strong{margin-top:3px;font-size:20px;display:block}.customer-service-card header p{margin:4px 0 0}.customer-service-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-service-meta span{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;padding:9px;font-size:11px;font-weight:900}.customer-service-meta strong{color:var(--text);margin-top:4px;font-size:13px;display:block}.customer-service-auth{border:1px solid color-mix(in srgb, var(--info) 24%, var(--line));background:color-mix(in srgb, var(--info) 6%, var(--panel-soft));border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid}[data-theme=dark] .customer-service-auth{background:linear-gradient(135deg,#0ea5e917,#0f172a3d),#02061738}.customer-service-auth span{min-width:0;color:var(--muted);text-transform:uppercase;gap:3px;font-size:10px;font-weight:900;display:grid}.customer-service-auth strong{color:var(--text);text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.customer-service-network,.customer-service-signals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.customer-service-network span,.customer-service-signals span{border:1px solid var(--line);min-width:0;color:var(--muted);text-transform:uppercase;background:#0f172a6b;border-radius:10px;gap:4px;padding:9px;font-size:10px;font-weight:900;display:grid}.customer-service-network strong,.customer-service-signals strong{color:var(--text);text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.customer-service-signals{border:1px solid color-mix(in srgb, #22c55e 20%, var(--line));background:linear-gradient(135deg,#22c55e14,#0ea5e90f),#02061733;border-radius:12px;padding:10px}.ip-assigned,.ip-pending{border-radius:999px;width:max-content;max-width:100%;padding:3px 8px}.ip-assigned{background:#16a34a24;border:1px solid #22c55e59;color:#4ade80!important}.ip-pending{background:#facc151f;border:1px solid #facc1559;color:#facc15!important}.customer-service-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.customer-service-actions button{border:1px solid var(--line);min-height:30px;color:var(--text);cursor:pointer;background:#02061757;border-radius:9px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:900;display:inline-flex}.customer-service-actions button.edit{color:#fde68a;border-color:#facc1547}.customer-service-actions button.suspend,.customer-service-actions button.archive{color:#fca5a5;border-color:#f8717147}.customer-service-actions button.restore{color:#86efac;border-color:#22c55e4d}.customer-service-actions button.invoice{color:#5eead4;border-color:#2dd4bf47}.customer-service-actions button.payment{color:#86efac;border-color:#22c55e4d}.customer-service-card-grid{grid-template-columns:minmax(0,1fr)}.ftth-service-dashboard{background:radial-gradient(circle at 18% 0,#22c55e1f,#0000 30%),radial-gradient(circle at 85% 18%,#0ea5e924,#0000 34%),linear-gradient(135deg,#020617f5,#0c1524f0);border:1px solid #38bdf83d;border-left:4px solid #38bdf8;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(325px,.34fr);justify-content:normal;align-items:start;gap:8px;min-height:0;padding:10px;display:grid;box-shadow:0 18px 50px #00000042}.ftth-service-dashboard div{justify-content:initial;gap:initial;display:block}.ftth-service-summary{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 10px;margin:-2px;padding:2px;display:flex}.ftth-summary-index{color:#7dd3fc;background:#38bdf81f;border:1px solid #38bdf866;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid}.ftth-summary-name{flex:150px;gap:1px;min-width:0;display:grid}.ftth-summary-name b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;line-height:1.15;overflow:hidden}.ftth-summary-name small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.15;overflow:hidden}.ftth-summary-state{flex:none;align-items:center;gap:6px;font-size:11px;font-weight:850;display:inline-flex}.ftth-summary-state i{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px}.ftth-summary-state.active{color:#4ade80}.ftth-summary-state.moroso{color:#fbbf24}.ftth-summary-state.suspended,.ftth-summary-state.cut{color:#f87171}.ftth-summary-state.installing{color:#c084fc}.ftth-summary-state.preactive{color:#38bdf8}.ftth-summary-state.inactive{color:#94a3b8}.ftth-summary-chip{color:#e2e8f0;white-space:nowrap;border:1px solid #94a3b859;border-radius:999px;flex:none;padding:2px 8px;font-size:10.5px;font-weight:800}.ftth-summary-chip.good{color:#39ff14;border-color:#39ff1473}.ftth-summary-chip.ok{color:#facc15;border-color:#facc1573}.ftth-summary-chip.warn{color:#fb923c;border-color:#fb923c80}.ftth-summary-chip.bad{color:#ef4444;border-color:#ef444480}.ftth-summary-chip.green{color:#4ade80;border-color:#22c55e73}.ftth-summary-chip.yellow{color:#facc15;border-color:#facc1573}.ftth-summary-chip.orange{color:#fb923c;border-color:#fb923c80}.ftth-summary-chip.red{color:#ef4444;border-color:#ef444480}.ftth-summary-chip.neutral{color:#cbd5e1}.ftth-summary-chevron{color:#94a3b8;flex:none;margin-left:auto;transition:transform .2s}.ftth-service-dashboard.expanded .ftth-summary-chevron{transform:rotate(180deg)}.ftth-service-dashboard.collapsed{padding:8px 10px}.ftth-service-main,.ftth-service-side{align-content:start;align-self:start;gap:7px;min-width:0;display:grid}.ftth-service-side{align-content:start}.ftth-service-header{grid-template-columns:minmax(180px,.32fr) minmax(280px,1fr) minmax(140px,.2fr);align-items:center;gap:8px;min-width:0;display:grid}.ftth-service-dashboard .ftth-service-title strong{color:#fff;letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(19px,1.6vw,23px);font-weight:950;line-height:1.05;display:block}.ftth-service-plan{color:#e5e7eb;align-items:center;gap:8px;min-width:0;display:flex}.ftth-service-plan>span{color:#bae6fd;background:#0ea5e917;border:1px solid #38bdf847;border-radius:8px;gap:5px;padding:5px 7px;display:inline-flex}.ftth-service-dashboard .ftth-service-plan b{font-size:15px;display:block}.ftth-service-dashboard .ftth-service-plan em{color:#22d3ee;font-style:normal;font-weight:900}.ftth-service-plan small,.ftth-service-state span{color:#c4b5fd;font-size:11px}.ftth-service-state{background:#0206176b;border:1px solid #94a3b838;border-radius:8px;justify-items:center;gap:3px;min-height:44px;padding:6px;display:grid}.ftth-service-state i{background:currentColor;border-radius:50%;width:12px;height:12px;box-shadow:0 0 22px}.ftth-service-state strong{font-size:13.5px}.ftth-service-state.active{color:#4ade80}.ftth-service-state.moroso{color:#fbbf24}.ftth-service-state.suspended,.ftth-service-state.cut{color:#f87171}.ftth-service-state.installing{color:#c084fc}.ftth-service-state.preactive{color:#38bdf8}.ftth-service-state.inactive{color:#94a3b8}.ftth-service-kpis{background:#03071257;border:1px solid #38bdf833;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;display:grid}.ftth-service-kpis span{color:#e9d5ff;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:2px 6px;min-width:0;font-size:11px;line-height:1.15;display:grid}.ftth-service-kpis svg{color:#bfdbfe;background:#2563eb33;border-radius:8px;grid-row:span 2;width:24px;height:24px;padding:5px}.ftth-service-kpis strong{color:#fff;white-space:nowrap;border-radius:5px;width:fit-content;max-width:100%;padding:1px 6px;font-size:12px;line-height:1.15}.ftth-service-kpis .price strong{background:#16a34a99;border:1px solid #39ff1459;font-size:13px;font-weight:900}.ftth-service-kpis .blue strong{background:#3b82f694}.ftth-service-kpis .green strong{background:#16a34aa8}.ftth-service-kpis .orange strong{background:#ea580cbd}.ftth-service-kpis .yellow strong{background:#eab308a3}.ftth-service-kpis .red strong{background:#dc2626bd}.ftth-service-grid{grid-template-columns:minmax(240px,.82fr) minmax(340px,1.12fr) minmax(285px,.92fr);gap:7px;display:grid}.ftth-card{background:#0307126b;border:1px solid #38bdf82e;border-radius:8px;min-width:0;padding:8px;overflow:hidden}.ftth-card h4{color:#ddd6fe;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:950;line-height:1.2;display:flex}.ftth-card h4 span{color:#cbd5e1;text-transform:none;font-weight:800}.ftth-flow{grid-template-columns:1fr 26px 1fr 26px 1fr;align-content:center;align-items:start;gap:5px;min-height:100px;display:grid}.ftth-flow div{color:#39ff14;justify-items:center;gap:4px;display:grid}.ftth-flow div svg{background:#22c55e12;border:1.5px solid;border-radius:50%;width:34px;height:34px;padding:7px;box-shadow:0 0 24px #39ff1438}.ftth-flow div strong{font-size:15px;line-height:1.05}.ftth-flow div span{font-size:11px}.ftth-flow div.warn{color:#f59e0b}.ftth-flow i{background:repeating-linear-gradient(90deg,#39ff14 0 8px,#0000 8px 16px);border-radius:999px;align-self:start;height:3px;margin-top:15.5px;box-shadow:0 0 10px #39ff1459}.ftth-flow-status{letter-spacing:.07em;border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin-top:7px;padding:4px 10px;font-size:11.5px;font-weight:900;display:flex}.ftth-flow-status i{background:currentColor;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px}.ftth-flow-status.online{color:#39ff14;background:#22c55e1a;border-color:#39ff1466}.ftth-flow-status.offline{color:#ef4444;background:#ef44441a;border-color:#ef444473}.ftth-optics-card{grid-column:span 1}.ftth-optics-grid{grid-template-columns:1fr;gap:8px;display:grid}.ftth-optical-meter{color:#39ff14;gap:4px;min-width:0;display:grid}.ftth-optical-meter.ok{color:#facc15}.ftth-optical-meter.warn{color:#fb923c}.ftth-optical-meter.bad{color:#ef4444}.ftth-optical-meter.off{color:#94a3b8}.ftth-meter-head{align-items:center;gap:6px;min-width:0;line-height:1.1;display:flex}.ftth-meter-head strong{color:#fff;white-space:nowrap;font-size:11.5px;font-weight:850}.ftth-meter-head small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.ftth-meter-head b{color:currentColor;white-space:nowrap;margin-left:auto;font-size:13px;font-weight:850}.ftth-meter-head em{font-size:10px;font-style:normal;font-weight:700}.ftth-meter-head i{color:currentColor;letter-spacing:.03em;border:1px solid;border-radius:999px;flex:none;padding:1.5px 7px;font-size:8.5px;font-style:normal;font-weight:800}.ftth-meter-track{opacity:.92;border-radius:999px;height:7px;position:relative;box-shadow:inset 0 1px 2px #00000073}.ftth-meter-track.no-reading{filter:grayscale(.85);opacity:.35}.ftth-meter-track i{top:-3px;bottom:-3px;left:clamp(1.5%, var(--meter-value), 98.5%);background:#fff;border-radius:1px;width:2px;position:absolute;transform:translate(-50%);box-shadow:0 0 6px #ffffffe6,0 0 12px}.ftth-meter-track i:after{content:"";filter:drop-shadow(0 0 2px #ffffffb3);border-top:4.5px solid #fff;border-left:3.5px solid #0000;border-right:3.5px solid #0000;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.ftth-meter-scale{color:#94a3b8;justify-content:space-between;font-size:9px;line-height:1;display:flex}.ftth-network-details,.ftth-auth-card,.ftth-location-card{gap:6px;display:grid}.ftth-network-details span,.ftth-auth-card span,.ftth-location-card span{color:#d8b4fe;grid-template-columns:minmax(98px,.42fr) minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:26px;font-size:11.5px;line-height:1.25;display:grid}.ftth-network-details strong,.ftth-auth-card strong,.ftth-location-card strong{color:#f8fafc;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.ftth-auth-card strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.ftth-auth-card .ip-assigned,.ftth-auth-card .ip-pending{justify-self:end}.ftth-network-details span{grid-template-columns:18px minmax(82px,.38fr) minmax(0,1fr);align-items:center;min-height:27px}.ftth-network-details span svg{width:15px;height:15px}.ftth-network-details strong{text-align:left;white-space:normal;overflow-wrap:anywhere}.ftth-location-card span{border-bottom:1px solid #94a3b829;grid-template-columns:minmax(96px,.38fr) minmax(0,1fr) auto;padding-bottom:6px}.ftth-location-card strong{white-space:normal;overflow-wrap:anywhere;line-height:1.3}.ftth-location-card span:last-child strong{white-space:nowrap;overflow-wrap:normal}.ftth-location-card span:last-child{border-bottom:0}.ftth-tx-card,.ftth-health-card{align-content:start;gap:7px;display:grid}.ftth-health-donut-layout{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:10px;display:grid}.ftth-donut{color:#39ff14;place-content:center;justify-items:center;gap:2px;width:86px;height:86px;display:grid;position:relative}.ftth-donut.ok{color:#facc15}.ftth-donut.warn{color:#fb923c}.ftth-donut.bad{color:#ef4444}.ftth-donut svg{width:100%;height:100%;position:absolute;inset:0}.ftth-donut circle{fill:none}.ftth-donut-track{stroke:#94a3b829;stroke-width:9px}.ftth-donut-ticks{stroke:#94a3b84d;stroke-width:2.5px;stroke-dasharray:1.5 5.2}.ftth-donut-progress{stroke:currentColor;stroke-width:9px;stroke-linecap:round;filter:drop-shadow(0 0 5px)}.ftth-donut strong{color:#fff;font-size:16px;font-weight:900;line-height:1}.ftth-donut span{color:currentColor;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.ftth-health-card ul,.ftth-future-card ul{color:#e9d5ff;gap:4px;margin:0;padding:0;font-size:10px;list-style:none;display:grid}.ftth-health-checks{grid-template-columns:1fr;gap:4px}.ftth-health-checks li{align-items:center;gap:7px;min-width:0;line-height:1.2;display:flex}.ftth-health-checks li:before{content:"✓";color:#052e16;background:#22c55e;border-radius:50%;flex:none;place-items:center;width:15px;height:15px;font-size:8px;font-weight:800;line-height:1;display:inline-grid}.ftth-health-checks li.check-ok:before{color:#422006;background:#facc15}.ftth-health-checks li.check-warn:before{color:#431407;background:#fb923c}.ftth-health-checks li.check-bad:before,.ftth-health-checks li.check-off:before{content:"✕";color:#fff;background:#ef4444}.ftth-card p{color:#cbd5e1;margin:0;font-size:10px;line-height:1.45}.ftth-future-card{border-style:dashed;align-content:start;min-height:0}.ftth-future-card b{color:#c4b5fd;justify-self:center;font-size:24px;font-weight:300}.ftth-future-card li:before{content:"•";color:#c4b5fd;margin-right:6px}.ftth-future-card ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;font-size:9px}.ftth-future-card p{margin-bottom:2px;font-size:9.5px}.ftth-catv-card{gap:8px;display:grid}.ftth-promise-card{gap:10px;display:grid}.ftth-promise-current{align-items:center;gap:12px;display:flex}.ftth-promise-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.ftth-promise-meta strong{color:var(--text,#e6ecf5);font-size:15px;font-weight:850}.ftth-promise-src{font-size:11px;font-weight:700}.ftth-promise-src.override{color:#f0b429}.ftth-promise-src.global{color:#64748b}.ftth-promise-reason{color:var(--muted,#94a3b8);font-size:11px;font-style:italic}.ftth-promise-actions{flex-wrap:wrap;gap:8px;display:flex}.ftth-promise-btn{cursor:pointer;color:var(--text,#e6ecf5);background:#94a3b81f;border:1px solid #94a3b847;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:750;transition:background .15s,opacity .15s;display:inline-flex}.ftth-promise-btn:hover:not(:disabled){background:#94a3b833}.ftth-promise-btn.primary{color:#fff;background:#2bb673;border-color:#2bb673}.ftth-promise-btn.primary:hover:not(:disabled){background:#249a61}.ftth-promise-btn.danger{color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b66}.ftth-promise-btn.ghost{background:0 0}.ftth-promise-btn:disabled{opacity:.5;cursor:not-allowed}.ftth-promise-editor{gap:9px;display:grid}.ftth-promise-editor label{color:var(--muted,#94a3b8);gap:4px;font-size:11.5px;font-weight:700;display:grid}.ftth-promise-editor input,.ftth-promise-editor textarea{font:inherit;resize:vertical;color:var(--text,#e6ecf5);background:var(--bg,#0f172a66);border:1px solid #94a3b84d;border-radius:9px;padding:8px 10px;font-size:13px}.ftth-promise-editor input:focus,.ftth-promise-editor textarea:focus{border-color:#2bb673;outline:none;box-shadow:0 0 0 3px #2bb67329}.ftth-promise-editor input{width:90px}.ftth-promise-error{color:#ff6b6b;align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:700;display:inline-flex}.ftth-catv-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ftth-catv-status{color:#94a3b8;align-items:center;gap:7px;font-size:12.5px;font-weight:850;display:inline-flex}.ftth-catv-status i{background:currentColor;border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px}.ftth-catv-status.on{color:#39ff14}.ftth-catv-status.off{color:#fb923c}.ftth-catv-status.unknown{color:#94a3b8}.ftth-catv-status.checking{color:#38bdf8}@keyframes ftth-catv-pulse{50%{opacity:.3}}.ftth-catv-status.checking i{animation:.9s ease-in-out infinite ftth-catv-pulse}.ftth-switch{cursor:pointer;background:#94a3b82e;border:1px solid #94a3b866;border-radius:999px;flex:none;width:46px;height:24px;padding:0;transition:background .2s,border-color .2s;position:relative}.ftth-switch i{background:#e2e8f0;border-radius:50%;width:18px;height:18px;transition:left .2s,background .2s;position:absolute;top:2px;left:2px}.ftth-switch.on{background:#22c55e52;border-color:#39ff1499}.ftth-switch.on i{background:#39ff14;left:24px;box-shadow:0 0 10px #39ff14cc}.ftth-switch:disabled{opacity:.55;cursor:not-allowed}.ftth-catv-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.ftth-catv-meta small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9.5px;overflow:hidden}.ftth-catv-meta button{color:#7dd3fc;cursor:pointer;background:#0ea5e914;border:1px solid #38bdf852;border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.ftth-catv-meta button:disabled{opacity:.55;cursor:not-allowed}.ftth-service-actions{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.customer-service-actions button.refresh{color:#ddd6fe;border-color:#c4b5fd52}.ftth-service-dashboard .ftth-service-main,.ftth-service-dashboard .ftth-service-side,.ftth-service-dashboard .ftth-service-header,.ftth-service-dashboard .ftth-service-kpis,.ftth-service-dashboard .ftth-service-grid,.ftth-service-dashboard .ftth-optics-grid,.ftth-service-dashboard .ftth-network-details,.ftth-service-dashboard .ftth-auth-card,.ftth-service-dashboard .ftth-location-card,.ftth-service-dashboard .ftth-health-card,.ftth-service-dashboard .ftth-tx-card,.ftth-service-dashboard .ftth-health-donut-layout,.ftth-service-dashboard .ftth-donut,.ftth-service-dashboard .ftth-flow,.ftth-service-dashboard .ftth-service-state,.ftth-service-dashboard .ftth-optical-meter{display:grid}.ftth-service-dashboard .ftth-meter-head,.ftth-service-dashboard .ftth-meter-scale,.ftth-service-dashboard .ftth-catv-row,.ftth-service-dashboard .ftth-catv-meta,.ftth-service-dashboard .ftth-flow-status{display:flex}.ftth-service-dashboard .ftth-flow-status{justify-content:center;align-items:center;gap:7px}.ftth-service-dashboard .ftth-catv-row,.ftth-service-dashboard .ftth-catv-meta{justify-content:space-between;align-items:center;gap:8px}.ftth-service-dashboard .ftth-catv-card{display:grid}.ftth-service-dashboard .ftth-meter-head{align-items:center;gap:6px}.ftth-service-dashboard .ftth-meter-scale{justify-content:space-between}.ftth-service-dashboard .ftth-health-donut-layout{grid-template-columns:86px minmax(0,1fr)}.ftth-service-dashboard .ftth-donut{place-content:center;justify-items:center}.ftth-service-dashboard .ftth-service-header{grid-template-columns:minmax(180px,.32fr) minmax(280px,1fr) minmax(140px,.2fr)}.ftth-service-dashboard .ftth-service-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.ftth-service-dashboard .ftth-service-grid{grid-template-columns:minmax(240px,.82fr) minmax(340px,1.12fr) minmax(285px,.92fr)}.ftth-service-dashboard .ftth-optics-grid{grid-template-columns:1fr}.ftth-service-dashboard .ftth-flow{grid-template-columns:1fr 30px 1fr 30px 1fr}.ftth-service-dashboard .ftth-service-plan,.ftth-service-dashboard .ftth-card h4,.ftth-service-dashboard .ftth-gauge-scale{display:flex}.ftth-service-dashboard .ftth-service-plan{align-items:center;gap:8px}.ftth-service-dashboard .ftth-gauge-scale{justify-content:space-between;gap:8px}.ftth-service-dashboard .ftth-flow div,.ftth-service-dashboard .ftth-service-kpis span,.ftth-service-dashboard .ftth-network-details span,.ftth-service-dashboard .ftth-auth-card span,.ftth-service-dashboard .ftth-location-card span{display:grid}@media (max-width:1180px){.ftth-service-dashboard{grid-template-columns:1fr}.ftth-service-grid,.ftth-service-dashboard .ftth-service-grid,.ftth-service-side,.ftth-service-dashboard .ftth-service-side{grid-template-columns:repeat(2,minmax(0,1fr))}.ftth-network-details,.ftth-future-card{grid-column:1/-1}}@media (max-width:760px){.ftth-service-dashboard{padding:8px}.ftth-service-grid,.ftth-service-dashboard .ftth-service-grid,.ftth-service-side,.ftth-service-dashboard .ftth-service-side,.ftth-network-details,.ftth-optics-grid,.ftth-service-dashboard .ftth-optics-grid{grid-template-columns:1fr}.ftth-service-header,.ftth-service-dashboard .ftth-service-header{grid-template-columns:1fr;justify-items:start;gap:7px}.ftth-service-state{width:100%}.ftth-service-kpis,.ftth-service-dashboard .ftth-service-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 6px}.ftth-service-dashboard .ftth-service-title strong{font-size:19px}.ftth-flow,.ftth-service-dashboard .ftth-flow{grid-template-columns:1fr 22px 1fr 22px 1fr;min-height:0}.ftth-location-card span{grid-template-columns:1fr}.ftth-location-card strong{text-align:left;white-space:normal}.ftth-summary-name{flex-basis:100%;order:-1}.ftth-service-summary{row-gap:5px}.ftth-card{padding:7px}.ftth-service-kpis strong{white-space:normal;font-size:11px;line-height:1.2}.ftth-meter-track{height:6px}.ftth-meter-track i{top:-2.5px;bottom:-2.5px}.ftth-meter-head strong{font-size:11px}.ftth-meter-head b{font-size:12px}.ftth-meter-head small{flex:40px}.ftth-location-card span:last-child strong{white-space:normal;overflow-wrap:anywhere}.ftth-network-details strong,.ftth-auth-card strong{font-size:11.5px}.ftth-summary-chip{padding:2px 6px;font-size:10px}.ftth-flow div strong{font-size:13px}.ftth-flow div span{font-size:10px}.ftth-flow div svg{width:30px;height:30px;padding:6px}.ftth-flow i{margin-top:13.5px}.ftth-donut{width:78px;height:78px}.ftth-health-donut-layout,.ftth-service-dashboard .ftth-health-donut-layout{grid-template-columns:78px minmax(0,1fr)}.ftth-donut strong{font-size:14px}.ftth-donut span{font-size:7.5px}.ftth-service-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.customer-billing-ledger{gap:8px;margin-top:14px;display:grid}.customer-billing-ledger article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.customer-billing-ledger p,.customer-billing-ledger small{color:var(--muted);margin:2px 0 0}.customer-billing-layout{flex-direction:column;gap:12px;min-width:0;display:flex}.billing-group{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.billing-group+.billing-group{margin-top:12px}.billing-group>summary{cursor:pointer;border-left:4px solid var(--bg-accent,var(--brand));align-items:center;gap:11px;padding:12px 15px;list-style:none;display:flex}.billing-group>summary::-webkit-details-marker{display:none}.billing-group-icon{background:color-mix(in srgb, var(--bg-accent,var(--brand)) 15%, var(--panel));width:34px;height:34px;color:var(--bg-accent,var(--brand));border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.billing-group-titles{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.billing-group-titles strong{font-size:14px;font-weight:900}.billing-group-titles small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.billing-group-badge{background:color-mix(in srgb, var(--bg-accent,var(--brand)) 16%, var(--panel));min-width:24px;color:var(--bg-accent,var(--brand));text-align:center;border-radius:999px;flex:none;padding:2px 8px;font-size:12px;font-weight:900}.billing-group-chevron{color:var(--muted);flex:none;transition:transform .18s}.billing-group[open]>summary .billing-group-chevron{transform:rotate(180deg)}.billing-group-body{border-top:1px solid var(--line);padding:12px 15px 15px}.billing-group.tone-blue{--bg-accent:#2563eb}.billing-group.tone-violet{--bg-accent:#7c3aed}.billing-group.tone-teal{--bg-accent:#0f766e}.billing-group.tone-amber{--bg-accent:#b45309}.billing-group.tone-orange{--bg-accent:#ea580c}.billing-group.tone-slate{--bg-accent:#475569}.billing-account-summary-inline{gap:4px;margin-top:10px;display:grid}.billing-invoice-filter{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.billing-invoice-filter button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.billing-invoice-filter button.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--panel));color:var(--text)}.billing-invoice-filter button span{background:color-mix(in srgb, var(--brand) 18%, var(--panel));border-radius:999px;padding:0 6px;font-size:10px}.billing-invoice-list{gap:9px;display:grid}.billing-invoice-card{border:1px solid var(--line);background:var(--panel-soft);border-left:3px solid #94a3b8;border-radius:11px;gap:7px;padding:10px 12px;display:grid}.billing-invoice-card.status-pagada{border-left-color:#16a34a}.billing-invoice-card.status-pendiente{border-left-color:#f59e0b}.billing-invoice-card.status-anulada{opacity:.82;border-left-color:#94a3b8}.biv-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.biv-head strong{font-size:13px;font-weight:900}.biv-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:11.5px;font-weight:700;display:flex}.biv-meta span{align-items:center;gap:4px;display:inline-flex}.biv-meta strong{color:var(--text);margin-left:auto;font-size:13px}.biv-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.biv-foot small{color:var(--muted);font-size:10.5px;font-weight:700}.biv-actions{flex:none;align-items:center;gap:6px;display:flex}.biv-actions button{border:1px solid var(--line);background:var(--panel);min-width:32px;height:30px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:800;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.biv-actions button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.biv-actions button.danger:hover:not(:disabled){color:#ef4444;background:color-mix(in srgb, #ef4444 8%, var(--panel));border-color:#ef4444}.biv-actions button:disabled{opacity:.45;cursor:not-allowed}.invoice-edit-panel label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.invoice-edit-panel select,.invoice-edit-panel input{border:1px solid var(--line);background:var(--panel-soft);min-height:40px;color:var(--text);border-radius:9px;padding:0 11px;font-weight:700}.billing-badge.void{background:color-mix(in srgb, #94a3b8 20%, var(--panel));color:#64748b}.billing-empty{color:var(--muted);font-size:12px;font-weight:700}.clients-detail>*,.customer-billing-main>*,.customer-billing-layout>*,.billing-finance-card,.billing-finance-card>*,.billing-services-table-panel,.billing-service-config{min-width:0}.customer-billing-main{gap:12px;min-width:0;display:grid}.customer-billing-aside,.billing-aside-compact{grid-template-columns:1fr;align-items:start;gap:12px;min-width:0;display:grid}@media (min-width:760px){.billing-aside-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.billing-invoice-table{display:none}@media (min-width:760px){.billing-invoice-list{display:none}.billing-invoice-table{gap:5px;min-width:0;display:grid}.bit-head,.bit-row{grid-template-columns:1.1fr .9fr 1fr 1.2fr .8fr .8fr auto;align-items:center;gap:10px;display:grid}.bit-head{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;padding:6px 12px;font-size:10.5px;font-weight:900}.bit-row{border:1px solid var(--line);background:var(--panel-soft);border-left:3px solid #94a3b8;border-radius:10px;padding:8px 12px;font-size:12px}.bit-row.status-pagada{border-left-color:#16a34a}.bit-row.status-pendiente{border-left-color:#f59e0b}.bit-row.status-anulada{opacity:.82;border-left-color:#94a3b8}.bit-num{font-weight:900}.bit-date,.bit-op{color:var(--text);line-height:1.2;display:grid}.bit-date small,.bit-op small{color:var(--muted);font-size:10px;font-weight:700}.bit-method{color:var(--muted);align-items:center;gap:5px;font-weight:700;display:inline-flex}.bit-total{white-space:nowrap;font-weight:900}.bit-actions-col{text-align:right}.billing-invoice-table .biv-actions{justify-content:flex-end}}.billing-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:8px;display:grid}.billing-kpi{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 76%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.billing-kpi>span{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.billing-kpi small,.billing-kpi p{color:var(--muted);font-size:11px;font-weight:900}.billing-kpi p{margin:2px 0 0}.billing-kpi strong{margin:3px 0 0;font-size:18px;display:block}.billing-kpi.blue,.billing-service-icon.blue{--billing-tone:#3b82f6}.billing-kpi.purple,.billing-service-icon.purple{--billing-tone:#8b5cf6}.billing-kpi.green,.billing-service-icon.green{--billing-tone:#22c55e}.billing-kpi.orange,.billing-service-icon.orange{--billing-tone:#f97316}.billing-kpi.teal,.billing-service-icon.teal{--billing-tone:#14b8a6}.billing-service-icon.red{--billing-tone:#ef4444}.billing-kpi{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--billing-tone,var(--brand)) 12%, transparent)}.billing-kpi>span,.billing-service-icon{background:color-mix(in srgb, var(--billing-tone,var(--brand)) 20%, transparent);color:color-mix(in srgb, var(--billing-tone,var(--brand)) 84%, white)}.billing-service-config,.billing-services-table-panel{padding:12px}.billing-config-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px;display:flex}.billing-config-heading h3{margin:2px 0 1px;font-size:15px}.billing-config-heading p{color:var(--muted);margin:0;font-size:12px;font-weight:750}.billing-mode-switch,.billing-filter-row,.billing-row-actions,.billing-date-pair,.billing-stepper{align-items:center;gap:7px;display:flex}.billing-mode-switch span{color:var(--muted);font-size:12px;font-weight:900}.billing-mode-switch{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;padding:3px}.billing-mode-switch>span{white-space:nowrap;background:0 0;border:0;padding:0 6px 0 0}.billing-mode-switch button,.billing-filter-row button,.billing-row-actions button,.billing-stepper button{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 78%, transparent);color:var(--text);cursor:pointer;border-radius:9px;font-weight:900}.billing-mode-switch button{border-color:var(--line);color:var(--muted);background:0 0;min-width:82px;min-height:34px;padding:7px 11px;transition:all .25s}.billing-mode-switch button:hover:not(.active){border-color:color-mix(in srgb, var(--brand) 35%, var(--line));background:var(--panel-soft);color:var(--text)}.billing-mode-switch button.prepago.active{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 10px 24px #22c55e40}.billing-mode-switch button.prepago.active:hover{background:#22c55e}.billing-mode-switch button.postpago.active{color:#fff;background:#ea580c;border-color:#ea580c;box-shadow:0 10px 24px #f9731640}.billing-mode-switch button.postpago.active:hover{background:#f97316}.billing-filter-row button.active{color:#86efac;background:#16a34a57;border-color:#22c55e59}.billing-config-workspace{grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);align-items:stretch;gap:8px;display:grid}.billing-service-column{align-content:start;gap:8px;display:grid}.billing-service-select,.billing-finance-section label,.billing-finance-field{color:var(--muted);gap:5px;font-size:11px;font-weight:900;display:grid}.billing-service-select select,.billing-finance-field input,.billing-finance-section select{border:1px solid color-mix(in srgb, var(--brand) 25%, var(--line));background:var(--panel-soft);width:100%;min-height:40px;color:var(--text);font:inherit;border-radius:9px;padding:8px 10px;font-weight:880}.billing-selected-service{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--brand) 14%, transparent), transparent 46%), var(--panel-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;min-height:118px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #60a5fa0f}.billing-selected-service>div{gap:3px;display:grid}.billing-selected-service>div strong{font-size:15px;line-height:1.15}.billing-selected-service>div small{color:var(--muted);font-size:12px;font-weight:900}.billing-selected-service dl{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.billing-selected-service dl div{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;gap:2px;padding:6px;display:grid}.billing-selected-service dt{color:var(--muted);font-size:11px;font-weight:900}.billing-selected-service dd{color:var(--text);margin:0;font-size:12px;font-weight:950}.billing-finance-card{border:1px solid color-mix(in srgb, var(--brand) 38%, var(--line));background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 34%), var(--panel);box-shadow:0 12px 30px #0206171a, inset 0 0 0 1px color-mix(in srgb, var(--brand) 6%, transparent);border-radius:12px;overflow:hidden}.billing-finance-card header{border-bottom:1px solid #94a3b821;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.billing-finance-card header>div:first-child{align-items:center;gap:8px;display:flex}.billing-finance-card header>div:first-child span{color:#60a5fa;background:#2563eb2e;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.billing-finance-card header strong{font-size:15px}.billing-finance-section{border-bottom:1px solid #94a3b821;padding:9px 10px;display:grid}.billing-finance-section.billing-main-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.billing-finance-section.special{border-bottom:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:8px}.billing-finance-field input[readonly]{color:var(--text);opacity:.82}.billing-config-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));align-items:end;gap:10px;margin-top:12px;display:grid}.billing-config-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.billing-config-grid input,.billing-config-grid select{border:1px solid var(--line);background:var(--panel-soft);width:100%;min-height:39px;color:var(--text);font:inherit;border-radius:9px;padding:9px 10px;font-weight:850}.billing-date-pair input{min-width:0}.billing-date-pair{grid-template-columns:minmax(122px,1fr) 78px;gap:6px;display:grid}.billing-date-pair input{padding-left:8px;padding-right:8px}.billing-service-icon{border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.billing-stepper{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;justify-content:space-between;max-height:36px;padding:3px}.billing-stepper button{width:32px;height:28px}.billing-stepper strong{text-align:center;min-width:38px}.billing-config-grid small{color:var(--muted)}.billing-finance-section small{color:var(--muted);font-size:10px}.billing-save-button{justify-content:center;align-items:center;gap:8px;min-height:40px;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex}.billing-save-button:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 30px #3b82f63d}.billing-filter-row{flex-wrap:wrap;justify-content:flex-end}.billing-filter-row button{align-items:center;gap:7px;min-height:34px;padding:8px 11px;font-size:12px;display:inline-flex}.billing-filter-row span{color:#93c5fd;background:#3b82f638;border-radius:999px;min-width:22px;padding:2px 6px}.billing-table-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:10px 0;display:grid}.billing-print-actions,.billing-pagination,.billing-pagination div{align-items:center;gap:8px;display:flex}.billing-print-actions button,.billing-pagination button{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 78%, transparent);color:var(--text);cursor:pointer;border-radius:9px;min-height:34px;padding:8px 11px;font-size:12px;font-weight:900}.billing-print-actions button:first-child{color:#86efac;border-color:#22c55e47}.billing-print-actions button:last-child{color:#93c5fd;border-color:#3b82f652}.billing-service-table{gap:7px;display:grid;overflow-x:auto}.billing-service-table-head,.billing-service-table article{grid-template-columns:minmax(180px,1.2fr) minmax(95px,.8fr) 118px 116px 116px 80px 122px 96px;align-items:center;gap:10px;min-width:960px;display:grid}.billing-service-table-head{background:color-mix(in srgb, var(--panel-soft) 88%, transparent);color:var(--muted);text-transform:uppercase;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:900}.billing-service-table article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:11px;padding:10px 12px;transition:transform .18s,border-color .18s,background .18s}.billing-service-table article:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel-soft));transform:translateY(-1px)}.billing-service-name{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 9px;display:grid}.billing-service-name small{color:var(--muted);grid-column:2;font-weight:900}.billing-service-table article>span,.billing-service-table article>strong{font-size:13px}.billing-service-table article small{margin-top:2px;display:block}.billing-date-alert{color:#f87171;font-weight:900}.billing-badge{border-radius:7px;width:fit-content;padding:5px 8px;font-size:11px;font-weight:950}.billing-badge.paid{color:#86efac;background:#16a34a3d}.billing-badge.warning{color:#facc15;background:#f59e0b33}.billing-badge.overdue{color:#fca5a5;background:#dc26263b}.billing-badge.suspended{color:var(--muted);background:#94a3b82e}.billing-row-actions button{color:#60a5fa;place-items:center;width:30px;height:30px;display:grid}.billing-legend{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:0;display:grid}.billing-legend span{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;min-height:48px;padding:8px 9px;font-weight:900}.billing-legend small{color:var(--muted);font-size:11px;font-weight:800;display:block}.billing-pagination{border:1px solid var(--line);background:var(--panel-soft);border-radius:11px;justify-content:space-between;margin-top:9px;padding:9px 10px}.billing-pagination span,.billing-pagination strong{color:var(--muted);font-size:12px;font-weight:900}.billing-pagination button:disabled{cursor:not-allowed;opacity:.45}.billing-legend .online{color:#86efac}.billing-legend .pending{color:#facc15}.billing-legend .overdue{color:#fca5a5}.billing-legend .offline{color:var(--muted)}.billing-account-summary,.billing-pending-card,.billing-quick-actions,.billing-last-invoice{padding:14px}.billing-account-summary h3,.billing-pending-card h3,.billing-quick-actions h3,.billing-last-invoice h3{margin:0 0 12px;font-size:16px}.billing-account-summary p,.billing-pending-card p,.billing-last-invoice p{color:var(--muted);border-bottom:1px solid #94a3b821;justify-content:space-between;gap:10px;margin:0;padding:7px 0;font-size:13px;font-weight:800;display:flex}.billing-account-summary strong.green,.billing-account-summary strong.blue{border-radius:7px;padding:2px 7px}.billing-account-summary strong.green{color:#86efac;background:#16a34a38}.billing-account-summary strong.blue{color:#93c5fd;background:#2563eb38}.billing-account-summary strong.red{color:#f87171}.billing-pending-card p strong{color:#fca5a5}:root:not([data-theme=dark]) .billing-date-alert,:root:not([data-theme=dark]) .billing-badge.overdue,:root:not([data-theme=dark]) .billing-legend .overdue,:root:not([data-theme=dark]) .billing-pending-card p strong,:root:not([data-theme=dark]) .billing-account-summary strong.red{color:#dc2626}:root:not([data-theme=dark]) .billing-badge.paid,:root:not([data-theme=dark]) .billing-legend .online,:root:not([data-theme=dark]) .billing-account-summary strong.green,:root:not([data-theme=dark]) .billing-filter-row button.active,:root:not([data-theme=dark]) .billing-print-actions button:first-child{color:#15803d}:root:not([data-theme=dark]) .billing-badge.warning,:root:not([data-theme=dark]) .billing-legend .pending{color:#a16207}:root:not([data-theme=dark]) .billing-row-actions button,:root:not([data-theme=dark]) .billing-account-summary strong.blue,:root:not([data-theme=dark]) .billing-finance-card header{color:#2563eb}.billing-pending-card button,.billing-last-invoice button{color:#fff;cursor:pointer;background:#2563ebeb;border:0;border-radius:9px;width:100%;margin-top:10px;padding:10px;font-weight:950}.billing-quick-actions{gap:7px;display:grid}.billing-quick-actions button{border:1px solid var(--line);color:#fff;cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:10px 11px;font-weight:900;display:flex}.billing-quick-actions button.green{background:#16a34a61}.billing-quick-actions button.whatsapp{background:#05966961}.billing-quick-actions button.blue{background:#2563eb61}.billing-quick-actions button.purple{background:#6d28d961}.billing-last-invoice article{gap:7px;display:grid}.billing-last-invoice article>div:first-child{justify-content:space-between;align-items:center;display:flex}.billing-last-invoice details{border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;padding:8px}.billing-last-invoice summary{cursor:pointer;font-weight:900}.billing-last-invoice details div{color:var(--muted);gap:5px;margin-top:8px;font-size:12px;display:grid}.billing-recent-events{border-top:1px solid #94a3b821;gap:6px;margin-top:10px;padding-top:10px;display:grid}.billing-recent-events span{color:var(--muted);font-size:12px;font-weight:850}.network-detail-grid,.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.network-detail-grid span{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);border-radius:10px;padding:10px}.equipment-grid{grid-template-columns:1fr}.timeline-list p,.ai-grid span{align-items:center;gap:8px;display:flex}@media (max-width:1240px){.customers-dashboard-grid,.customer-chart-grid,.customer-operational-grid,.billing-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customers-dashboard-panels,.customer-profile-grid,.customer-billing-layout{grid-template-columns:1fr}.customer-billing-aside{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.billing-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-config-workspace{grid-template-columns:1fr}.billing-finance-section.special{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-save-button{grid-column:1/-1}.billing-table-topbar{grid-template-columns:1fr}.billing-print-actions{justify-content:flex-end}}@media (max-width:820px){.customers-hero,.customer-panel-heading,.billing-config-heading{display:grid}.customers-dashboard-grid,.customer-chart-grid,.customer-filter-grid,.customer-form-grid,.profile-section-grid,.customer-operational-grid,.network-detail-grid,.billing-kpi-grid,.customer-billing-aside,.billing-config-grid,.billing-selected-service,.billing-legend{grid-template-columns:1fr}.customer-filter-grid label.search-filter,.customer-form-grid label.wide{grid-column:auto}.billing-mode-switch{justify-content:space-between;width:100%}.billing-mode-switch button{flex:1}.billing-selected-service dl,.billing-finance-section.billing-main-row,.billing-finance-section.special{grid-template-columns:1fr}.customer-table-actions{min-width:0}.billing-service-table{overflow-x:visible}.billing-service-table-head{display:none}.billing-service-table article{grid-template-columns:1fr;gap:6px;min-width:0;padding:12px 13px}.billing-service-table article>[data-label]{border-top:1px dashed var(--line);text-align:right;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.billing-service-table article>[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:left;font-size:10px;font-weight:800}.billing-service-table .billing-row-actions{justify-content:flex-start;padding-top:8px}}@media (max-width:1120px){.communication-summary-grid,.whatsapp-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-status-layout{grid-template-columns:1fr}}@media (max-width:760px){.communication-layout{gap:12px}.communication-hero,.communication-module-block{border-radius:12px;padding:14px}.communication-summary-grid,.communication-form-grid,.whatsapp-status-grid{grid-template-columns:1fr}.communication-summary-card{min-height:auto;padding:14px}.communication-block-heading{gap:8px;display:grid}.meta-connect-panel,.webhook-status-card{grid-template-columns:1fr;align-items:flex-start}.meta-connect-panel{padding:14px}.meta-connect-action{justify-items:stretch;width:100%}.meta-connect-button,.communication-actions button,.ghost-action{justify-content:center;width:100%}.communication-actions{align-items:stretch}.communication-table{min-width:760px}}.ops-layout{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.ops-hero,.ops-panel,.ops-summary-grid article,.portal-service-card{border:1px solid var(--line);background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 34%), var(--panel);box-shadow:var(--shadow);border-radius:14px}.ops-hero{justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.field-dashboard-hero{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:12px 14px;display:flex}.field-dashboard-hero h2{margin:0;font-size:clamp(18px,4.2vw,24px);line-height:1.08}.field-dashboard-hero .ops-hero-actions{flex:none;gap:8px}.field-dashboard-hero .ops-hero-new{white-space:nowrap}.ops-hero h2,.ops-panel-heading h3,.portal-service-card h3,.ops-ticket-card h4,.ops-payment-list h4,.ops-finance-service-list h4,.ops-service-grid h4,.ops-failure-list h4{margin:4px 0}.ops-hero p,.ops-summary-grid p,.ops-ticket-card p,.ops-meta-row,.ops-payment-list p,.ops-finance-service-list p,.portal-service-card p,.portal-service-card small,.ops-service-grid small{color:var(--muted);font-size:13px}.ops-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-summary-grid article{padding:17px}.ops-summary-grid button.noc-kpi{border:1px solid var(--line);box-shadow:var(--shadow);font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:17px;transition:transform .13s,box-shadow .13s,border-color .13s;display:flex}.ops-summary-grid button.noc-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000001a}.ops-summary-grid button.noc-kpi:active{transform:translateY(0)}.ops-summary-grid :is(article,button).noc-kpi{--tone:var(--brand);border-left:4px solid var(--tone);background:linear-gradient(135deg, color-mix(in srgb, var(--tone) 16%, transparent), transparent 58%), var(--panel)}.ops-summary-grid :is(article,button).noc-kpi.violet{--tone:#8b5cf6}.ops-summary-grid :is(article,button).noc-kpi.blue{--tone:#2563eb}.ops-summary-grid :is(article,button).noc-kpi.orange{--tone:#f97316}.ops-summary-grid :is(article,button).noc-kpi.green{--tone:#16a34a}.ops-summary-grid :is(article,button).noc-kpi span{color:color-mix(in srgb, var(--tone) 72%, var(--muted))}.ops-summary-grid :is(article,button).noc-kpi strong{color:var(--text)}.ops-summary-grid span,.ops-ticket-card span,.ops-payment-list span,.ops-finance-service-list span,.portal-service-card span,.ops-service-grid span{color:var(--muted);font-size:12px;font-weight:900}.ops-summary-grid strong{margin-top:8px;font-size:24px;display:block}.noc-work-tabs{grid-template-columns:1fr;gap:8px;display:grid}.noc-work-tabs a{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.noc-work-tabs a.active{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 15%, var(--panel));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 26%, transparent)}.noc-empty-state{align-items:center;gap:12px;display:flex}.noc-empty-state h3,.noc-empty-state p{margin:0}.noc-validation-sections{gap:12px;display:grid}.noc-scope-note{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel-soft) 70%, transparent);color:var(--muted);border-radius:10px;margin:0;padding:12px;font-size:12px;font-weight:800}.ops-grid.two,.portal-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.ops-panel{padding:18px}.ops-panel-heading,.ops-ticket-top,.ops-payment-list article,.ops-finance-service-list article{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.ops-ticket-list,.ops-failure-list,.ops-payment-list,.ops-finance-service-list{gap:12px;display:grid}.ops-ticket-card,.ops-failure-list article,.ops-payment-list article,.ops-finance-service-list article,.ops-service-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;padding:14px}.ops-meta-row,.ops-action-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ops-meta-row span{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 9px}.ops-action-row button,.ops-finance-service-list button,.portal-service-card button{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.ops-action-row button:hover,.ops-finance-service-list button:hover,.portal-service-card button:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 12%, var(--panel))}.ops-ticket-create-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;display:grid}.ops-ticket-create-grid label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.ops-ticket-create-grid label.wide{grid-column:span 2}.ops-ticket-create-grid input,.ops-ticket-create-grid select,.ops-ticket-create-grid textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:11px;font-size:13px}.ops-ticket-create-grid textarea{resize:vertical;min-height:44px}.ops-location-line{border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel));color:var(--muted);border-radius:10px;align-items:center;gap:7px;margin-top:10px;padding:9px 10px;font-size:12px;font-weight:800;display:flex}.ops-failure-list h4{align-items:center;gap:8px;display:flex}.ops-failure-list small{color:var(--muted);margin:4px 0 10px;font-size:12px;font-weight:800;display:block}.ops-failure-list p{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.ops-payment-list article{align-items:center}.ops-payment-list strong,.ops-finance-service-list strong{white-space:nowrap}.ops-payment-list.compact article{grid-template-columns:1fr auto;display:grid}.ops-service-grid,.portal-ops-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ops-service-grid strong,.ops-service-grid small{margin-top:6px;display:block}.portal-service-card{gap:12px;padding:18px;display:grid}.portal-service-meta{gap:5px;display:grid}.portal-service-meta strong{font-size:22px}.portal-ticket-form{gap:12px;display:grid}.portal-ticket-form label{color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.portal-ticket-form input,.portal-ticket-form textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:11px;font-size:13px}.portal-ticket-form textarea{resize:vertical;min-height:98px}.field-order-list,.field-log-list{gap:12px;display:grid}.field-order-card,.field-log-list article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;padding:14px}.field-order-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.field-order-meta span{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--muted);border-radius:10px;padding:8px;font-size:clamp(9px,1.7vw,11px);font-weight:900;overflow:hidden}.field-order-meta strong{color:var(--text);overflow-wrap:anywhere;margin-top:4px;font-size:clamp(11px,2.1vw,13px);line-height:1.15;display:block}.field-resource-list{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.field-resource-list span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:7px 9px;font-size:11px;font-weight:900}.nap-install-box,.service-auth-box{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel));border-radius:12px;gap:5px;margin-top:10px;padding:12px;display:grid}.nap-install-box span,.service-auth-box span,.nap-install-box p,.nap-install-box a{color:var(--muted);margin:0;font-size:12px;font-weight:800}.nap-install-box a,.network-master-grid a{color:var(--brand);text-decoration:none}.network-console{gap:14px}.network-summary-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.network-summary-row article{border:1px solid var(--line);background:var(--panel);border-left-width:4px;border-radius:10px;gap:4px;padding:14px 16px;display:grid}.network-summary-row span,.network-search-box input::placeholder{color:var(--muted);font-size:12px;font-weight:700}.network-summary-row strong{letter-spacing:-.5px;font-size:22px;font-weight:900}.network-tabs,.network-device-tabs{border:1px solid var(--line);background:var(--panel);border-radius:14px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.network-tabs button,.network-device-tabs button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:900}.network-tabs button.active,.network-device-tabs button.active{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 16%, var(--panel));color:var(--text)}.network-olt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.network-search-box{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px;align-items:center;gap:9px;margin-bottom:12px;padding:0 12px;display:flex}.network-search-box input{width:100%;color:var(--text);background:0 0;border:0;outline:0;min-height:42px}.network-olt-grid article,.network-device-detail{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:13px;padding:14px}.network-olt-grid .olt-equipment-card{border-left:5px solid var(--olt-accent,var(--brand));background:linear-gradient(135deg, color-mix(in srgb, var(--olt-accent,var(--brand)) 12%, transparent), transparent 34%), color-mix(in srgb, var(--panel-soft) 78%, transparent);transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;position:relative;overflow:hidden;box-shadow:0 14px 38px #0000001f}.network-olt-grid .olt-equipment-card:hover{border-color:color-mix(in srgb, var(--olt-accent,var(--brand)) 58%, var(--line));border-left-color:var(--olt-accent,var(--brand));background:linear-gradient(135deg, color-mix(in srgb, var(--olt-accent,var(--brand)) 18%, transparent), transparent 38%), color-mix(in srgb, var(--panel-soft) 88%, transparent);transform:translateY(-3px);box-shadow:0 22px 54px #00000047}.olt-equipment-card:before{background:var(--olt-accent,var(--brand));content:"";width:5px;position:absolute;inset:0 auto 0 0}.network-olt-grid article.selected{border-color:color-mix(in srgb, var(--brand) 58%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel))}.network-olt-main{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;gap:5px;padding:0 88px 10px 0;display:grid;position:relative}.olt-equipment-main{min-height:76px;padding-right:132px}.olt-card-heading{gap:5px;display:grid}.olt-card-heading span{color:color-mix(in srgb, var(--text) 62%, var(--muted));letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:950}.olt-card-heading strong{color:var(--text);font-size:21px;line-height:1.05}.olt-card-heading p{color:var(--muted);margin:0;font-size:12px;font-weight:850}.network-olt-main span,.network-olt-main p{color:var(--muted);font-size:12px;font-weight:800}.network-olt-main strong{font-size:18px}.network-olt-main em{border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:900;position:absolute;top:0;right:0}.network-olt-main em.online{color:#4ade80;background:#16a34a33}.network-olt-main em.offline{color:#f87171;background:#dc262633}.olt-status-badge{box-shadow:0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);text-transform:uppercase}.olt-status-badge.online{color:#4ade80;background:#16a34a33}.olt-status-badge.advertencia{color:#fbbf24;background:#f59e0b33}.olt-status-badge.saturada{color:#fb923c;background:#f9731638}.olt-status-badge.offline{color:#f87171;background:#dc262638}.olt-status-badge.unverified{color:#7dd3fc;background:#38bdf829}.olt-status-badge i{background:currentColor;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 9px}.fleet-tags{padding:0 0 10px}.fleet-tags .tag-latency{color:#cbd5e1;background:#94a3b81f;border:1px solid #94a3b859;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:850}.fleet-tags .tag-api{color:#7dd3fc;background:#0ea5e91f;border:1px solid #38bdf866;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:850}.fleet-tags .tag-version{color:#ddd6fe;background:#8b5cf61f;border:1px solid #c4b5fd59;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:850}.fleet-refresh-note{color:var(--muted);margin:0 0 10px;font-size:11.5px}.olt-table-wrap{border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.olt-table-head,.olt-table-row{grid-template-columns:8px 220px 110px 200px 1fr 120px 140px 140px 130px;align-items:center;gap:0 12px;padding:0 14px;display:grid}.olt-table-head{background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:10px;padding-bottom:10px;font-size:11px;font-weight:900}.olt-table-row{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);background:var(--panel-soft);cursor:pointer;min-height:56px;transition:background .12s}.olt-table-row:last-child{border-bottom:none}.olt-table-row:hover{background:color-mix(in srgb, var(--brand) 7%, var(--panel-soft))}.olt-accent-dot{background:var(--olt-accent,var(--muted));width:8px;height:8px;box-shadow:0 0 6px var(--olt-accent,transparent);border-radius:50%;display:block}.olt-subtabs{flex-wrap:wrap;gap:6px;margin:4px 0 14px;display:flex}.olt-subtabs button{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:9px;padding:7px 15px;font-size:13px;font-weight:800}.olt-subtabs button.active{background:var(--brand);border-color:color-mix(in srgb, var(--brand) 55%, var(--line));color:#fff}.olt-res{flex-direction:column;gap:12px;display:flex}.olt-res-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.olt-res-head strong{font-size:15px}.olt-res-sub{color:var(--muted);font-size:12px;font-weight:600}.olt-res-dot{border-radius:50%;width:9px;height:9px}.olt-res-dot.ok{background:#16a34a}.olt-res-dot.down{background:#ef4444}.olt-res-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.olt-res-refresh{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:8px;padding:5px 11px;font-size:12px;font-weight:700}.olt-res-kpis{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.olt-res-kpis .olt-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:1px;padding:8px 11px;display:flex}.olt-res-kpis .olt-kpi .v{font-size:18px;font-weight:800;line-height:1.15}.olt-res-kpis .olt-kpi .l{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:800}.olt-res-kpis .olt-kpi.danger{background:color-mix(in srgb, #ef4444 8%, var(--panel));border-color:#fecaca}.olt-res-kpis .olt-kpi.danger .v,.olt-res-kpis .olt-kpi.danger .l{color:#dc2626}.olt-res-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:11px;display:flex}.olt-res-legend span{align-items:center;gap:5px;display:inline-flex}.olt-res-legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.olt-res-legend i.empty{background:var(--panel-soft);border:1px solid var(--line)}.olt-res-legend .hint{margin-left:auto}.olt-res-body{flex-direction:column;gap:12px;display:flex}.olt-heat-wrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;overflow-x:auto}.olt-heat{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.olt-heat-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.olt-heat-lbl{color:var(--muted);white-space:nowrap;flex:none;font-size:10px;font-weight:800}.olt-heat-select{color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:none;min-width:150px;max-width:100%;padding:5px 8px;font-size:11px;font-weight:800}.olt-heat-onts{color:var(--text);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:10px;font-weight:800}.olt-heat-cells{flex-wrap:wrap;gap:3px;display:flex}.olt-heat-pon{flex:none;align-items:center;gap:12px;margin-left:auto;padding-left:10px;display:flex}.olt-heat-pon-cap{white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.olt-heat-pon-cap>b{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:800}.olt-heat-pon-num{font-size:17px;font-weight:800;line-height:1}.olt-heat-pon-num i{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.olt-heat-pon-pct{white-space:nowrap;font-size:11px;font-weight:800}.olt-heat-lim{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9.5px;font-weight:800;display:inline-flex}.olt-heat-lim select{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:700}.olt-cell{color:#fff;cursor:pointer;border:1px solid #0000;border-radius:5px;flex:none;justify-content:center;align-items:center;width:32px;height:28px;padding:0;font-weight:800;display:flex;position:relative}.olt-cell.empty{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}.olt-cell.sel{outline:2px solid var(--text);outline-offset:1px}.olt-cell-pon{opacity:.72;letter-spacing:-.02em;font-size:7.5px;font-weight:700;line-height:1;position:absolute;top:1px;left:3px}.olt-cell-cnt{font-size:11px;font-weight:800;line-height:1}.olt-res-detail{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:180px;padding:16px}.olt-onts{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.olt-onts-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;font-size:10.5px;font-weight:800}.olt-onts-empty,.olt-onts-note{color:var(--muted);margin:6px 0 0;font-size:11.5px}.olt-ont-row{border:1px solid var(--line);background:#ffffff05;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:7px 8px;display:flex}.olt-ont-main{align-items:center;gap:8px;min-width:0;display:flex}.olt-ont-dot{border-radius:50%;flex:none;width:8px;height:8px}.olt-ont-dot.up{background:#16a34a;box-shadow:0 0 0 2px #22c55e33}.olt-ont-dot.down{background:#dc2626;box-shadow:0 0 0 2px #dc262633}.olt-ont-id{flex-direction:column;min-width:0;display:flex}.olt-ont-id b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.olt-ont-id i{color:var(--muted);font-family:ui-monospace,monospace;font-size:10.5px;font-style:normal}.olt-ont-metrics{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.olt-ont-rx{font-size:12.5px;font-weight:800}.olt-ont-lvls{gap:10px;display:flex}.olt-ont-lvl{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.olt-ont-lvl i{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:8.5px;font-style:normal;font-weight:800}.olt-ont-lvl b{font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:800}.olt-ont-extra{color:var(--muted);font-size:9.5px}.olt-res-detail-empty{color:var(--muted);margin:0;font-size:12px}.olt-res-detail-title{font-size:13px;font-weight:800}.olt-res-detail-sub{color:var(--muted);margin-bottom:12px;font-size:11px}.olt-res-detail-big{font-size:30px;font-weight:800;line-height:1}.olt-res-detail-big span{color:var(--muted);font-size:15px;font-weight:700}.olt-res-detail-pct{margin:2px 0 12px;font-size:12px;font-weight:800}.olt-res-detail-bar{background:var(--panel-soft);border-radius:6px;height:10px;margin-bottom:14px;overflow:hidden}.olt-res-detail-bar>div{height:100%}.olt-res-detail-lim{color:var(--muted);font-size:11px;font-weight:700;display:block}.olt-res-detail-lim select{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);border-radius:9px;margin-top:5px;padding:7px 9px;font-size:13px}.olt-res-detail-note{color:var(--muted);margin-top:8px;font-size:10px}.olt-pon-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:12px;padding-bottom:12px;display:flex}.olt-pon-head-l{flex:none}.olt-pon-cap{flex:220px;min-width:180px;max-width:340px}.olt-pon-cap-top{align-items:baseline;gap:10px;display:flex}.olt-pon-cap .olt-res-detail-big{font-size:24px}.olt-pon-cap .olt-res-detail-big span{font-size:13px}.olt-pon-cap .olt-res-detail-pct{margin:0}.olt-pon-cap .olt-res-detail-bar{height:8px;margin:6px 0 0}.olt-pon-head .olt-res-detail-lim{min-width:150px;margin-left:auto}.olt-onu-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin-top:8px;display:grid}.olt-onu-card{border:1px solid var(--line);background:#ffffff05;border-radius:10px;flex-direction:column;gap:4px;padding:7px 9px;display:flex}.olt-onu-hd{justify-content:space-between;align-items:center;gap:6px;display:flex}.olt-onu-code{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,monospace;font-size:9px;font-weight:800;overflow:hidden}.olt-onu-ont{letter-spacing:.02em;color:#8b5cf6;background:#8b5cf629;border-radius:999px;flex:none;padding:1px 6px;font-size:8px;font-weight:800}.olt-onu-name{align-items:center;gap:6px;min-width:0;display:flex}.olt-onu-name b{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:800;overflow:hidden}.olt-onu-lvls{justify-content:space-between;align-items:flex-end;gap:6px;display:flex}.olt-onu-lvl{flex-direction:column;gap:0;display:flex}.olt-onu-lvl.r{text-align:right;align-items:flex-end}.olt-onu-lvl i{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);font-size:7.5px;font-style:normal;font-weight:800}.olt-onu-lvl b{font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:800}.olt-onu-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-self:flex-start;margin-top:1px;padding:2px 7px;font-size:8px;font-weight:800}.olt-onu-status.ok{color:#16a34a;background:#16a34a26}.olt-onu-status.warn{color:#d97706;background:#f59e0b33}.olt-onu-status.off{color:#dc2626;background:#dc262626}.olt-onts-pager{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin-top:8px;font-size:11px;font-weight:700;display:flex}.olt-onts-pager button{border:1px solid var(--line);background:var(--panel-soft);width:26px;height:26px;color:var(--text);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.olt-onts-pager button:disabled{opacity:.4;cursor:default}@media (max-width:720px){.olt-res-kpis{grid-template-columns:repeat(3,1fr)}.olt-res-body{grid-template-columns:1fr}.olt-res-detail{min-height:0}.olt-res-legend .hint{width:100%;margin-left:0}.olt-res-actions{margin-left:0}.olt-subtabs button{flex:1;padding:8px 10px}.olt-heat-pon{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:6px;width:100%;margin-top:2px;margin-left:0;padding-top:8px;padding-left:0}.olt-heat-pon-cap{flex:auto}.olt-heat-select{flex:100%;width:100%;min-width:0}}@media (max-width:460px){.olt-res-kpis{grid-template-columns:repeat(2,1fr)}.olt-res-kpis .olt-kpi .v{font-size:16px}.olt-heat-lbl{width:52px;font-size:9px}.olt-cell{width:28px;height:24px}.olt-cell-cnt{font-size:10px}}.olt-onts-panel{margin-top:14px}.olt-onts-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin-top:10px;display:grid}.olt-ont-row{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);align-items:center;gap:10px;padding:8px 12px;display:flex}.olt-ont-sn{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}.olt-ont-port{color:var(--muted);margin-left:auto;font-size:11.5px}.olt-status-dot{background:var(--muted);border-radius:50%;width:9px;height:9px;display:block}.olt-status-dot--online{background:#22c55e;animation:1.6s ease-out infinite oltPulseOnline}.olt-status-dot--offline{background:#ef4444;animation:2s ease-out infinite oltPulseOffline}.olt-status-dot--highlat{background:#f59e0b;animation:2.2s ease-out infinite oltPulseHighlat}.olt-status-dot--unknown{background:var(--muted)}@keyframes oltPulseOnline{0%{box-shadow:0 0 #22c55ebf}70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes oltPulseOffline{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes oltPulseHighlat{0%{box-shadow:0 0 #f59e0b99}70%{box-shadow:0 0 0 6px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@media (prefers-reduced-motion:reduce){.olt-status-dot{animation:none!important}}@media (max-width:760px){.network-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.olt-table-wrap,.mk-table-wrap{overflow:visible}.olt-table-head,.mk-table-head{display:none}.olt-table-row,.mk-table-row{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:0;padding:12px 14px;display:flex}.olt-table-row>span,.mk-table-row>span{min-width:0}.olt-col-name{flex:auto}.olt-col-actions{flex:100%;justify-content:flex-start;margin-top:4px}}.olt-col-name strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;display:block;overflow:hidden}.olt-col-name small{color:var(--muted);font-size:11px;font-weight:600;display:block}.olt-status-badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-block}.olt-row-online{color:#4ade80;background:#22c55e26}.olt-row-highlat{color:#fbbf24;background:#f59e0b29}.olt-row-offline{color:#f87171;background:#ef444426}.olt-row-unverified{color:#94a3b8;background:#94a3b829}.olt-row-meta{flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;display:flex}.olt-conn-pill{letter-spacing:.3px;text-transform:uppercase;border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:800;display:inline-block}.olt-conn-pill--local{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, transparent)}.olt-conn-pill--cdata{border-color:color-mix(in srgb, var(--info) 45%, var(--line));color:var(--info);background:color-mix(in srgb, var(--info) 12%, transparent)}.olt-conn-pill--smart{border-color:color-mix(in srgb, var(--item-olt) 45%, var(--line));color:var(--item-olt);background:color-mix(in srgb, var(--item-olt) 12%, transparent)}.olt-conn-pill--api{border-color:color-mix(in srgb, var(--item-mikrotik) 45%, var(--line));color:var(--item-mikrotik);background:color-mix(in srgb, var(--item-mikrotik) 12%, transparent)}.olt-latency{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.olt-col-conn{flex-direction:column;gap:4px;display:flex}.olt-conn-tag{letter-spacing:.03em;white-space:nowrap;border:1px solid;border-radius:6px;width:fit-content;padding:2px 7px;font-size:10px;font-weight:800;display:inline-block}.olt-tag-local{color:#fbbf24;background:#f59e0b1f;border-color:#fbbf2480}.olt-tag-cdata{color:#a5b4fc;background:#6366f11f;border-color:#6366f180}.olt-tag-smart{color:#38bdf8;background:#38bdf81f;border-color:#38bdf880}.olt-col-host{flex-direction:column;gap:2px;display:flex}.olt-host-primary{color:var(--text);font-family:monospace;font-size:12px;font-weight:700}.olt-host-secondary{color:var(--muted);font-family:monospace;font-size:10px}.olt-col-location{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.olt-mk-chips{flex-wrap:wrap;gap:4px;display:flex}.olt-mk-chip{border:1px solid color-mix(in srgb, var(--mk-accent,#6366f1) 50%, transparent);background:color-mix(in srgb, var(--mk-accent,#6366f1) 12%, transparent);color:var(--mk-accent,#a5b4fc);white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.olt-mk-none{color:var(--muted);font-size:13px}.olt-col-sync small{color:var(--muted);font-size:11px}.olt-col-actions{justify-content:flex-end;gap:5px;display:flex}.olt-act-btn{border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.olt-act-btn:hover{background:color-mix(in srgb, var(--brand) 14%, var(--panel));color:var(--text);border-color:var(--brand)}.olt-act-btn.danger:hover{color:#f87171;background:#ef444426;border-color:#ef444466}.olt-table-empty{color:var(--muted);text-align:center;padding:24px;font-size:13px}@media (max-width:1400px){.olt-table-head,.olt-table-row{grid-template-columns:8px 180px 100px 180px 1fr 100px 120px 120px 120px}}@media (max-width:1100px){.olt-table-head{display:none}.olt-table-row{grid-template-rows:auto auto;grid-template-columns:8px 1fr auto;gap:4px 10px;padding:10px 14px}.olt-col-status,.olt-col-conn,.olt-col-host,.olt-col-location,.olt-col-mikrotik,.olt-col-sync{display:none}.olt-col-name{grid-column:2}.olt-col-actions{grid-area:1/3/3}}.mk-table-wrap{border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.mk-table-head,.mk-table-row{grid-template-columns:8px 200px 110px 120px 200px 140px 110px 140px 130px 120px;align-items:center;gap:0 12px;padding:0 14px;display:grid}.mk-table-head{background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:10px;padding-bottom:10px;font-size:11px;font-weight:900}.mk-table-row{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);background:var(--panel-soft);cursor:pointer;min-height:56px;transition:background .12s}.mk-table-row:last-child{border-bottom:none}.mk-table-row:hover{background:color-mix(in srgb, var(--brand) 7%, var(--panel-soft))}.mk-tag-api{color:#60a5fa;background:#60a5fa1f;border-color:#60a5fa80}.mk-tag-pppoe{color:#fb923c;background:#fb923c1f;border-color:#fb923c80}.mk-tag-dhcp{color:#4ade80;background:#4ade801f;border-color:#4ade8080}.mk-tag-static{color:#a78bfa;background:#a78bfa1f;border-color:#a78bfa80}.mk-tag-default{box-shadow:0 0 0 1.5px}@media (max-width:1400px){.mk-table-head,.mk-table-row{grid-template-columns:8px 180px 100px 110px 170px 130px 100px 130px 120px 110px}}@media (max-width:1100px){.mk-table-head{display:none}.mk-table-row{grid-template-rows:auto auto;grid-template-columns:8px 1fr auto;gap:4px 10px;padding:10px 14px}.mk-table-row>span:nth-child(n+3):not(:last-child){display:none}.mk-table-row>span:nth-child(2){grid-column:2}.mk-table-row>span:last-child{grid-area:1/3/3}}.device-conn-row{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 8px;display:flex}.conn-check{border:1px solid color-mix(in srgb, var(--line) 85%, transparent);background:color-mix(in srgb, var(--panel) 80%, transparent);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;font-weight:850;display:inline-flex}.conn-check i{color:#cbd5e1;background:#94a3b840;border-radius:50%;place-items:center;width:14px;height:14px;font-size:9px;font-style:normal;font-weight:950;display:inline-grid}.conn-check.ok i{color:#052e16;background:#22c55e;box-shadow:0 0 8px #22c55e99}.conn-check.fail i{color:#fff;background:#ef4444;box-shadow:0 0 8px #ef444499}.conn-inuse{letter-spacing:.05em;border-radius:999px;align-items:center;padding:3px 10px;font-size:10.5px;font-weight:950;display:inline-flex}.conn-inuse.local{color:#4ade80;background:#22c55e29;border:1px solid #22c55e80}.conn-inuse.cloud{color:#7dd3fc;background:#0ea5e929;border:1px solid #38bdf880}.device-live-grid{border-top:1px solid color-mix(in srgb, var(--line) 82%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 4px;padding-top:10px;display:grid}.device-live-grid span{border:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--panel) 84%, transparent);min-width:0;color:var(--muted);border-radius:9px;gap:3px;padding:7px 8px;font-size:10px;font-weight:850;line-height:1.15;display:grid}.device-live-grid strong{color:var(--text);font-size:14px}.olt-device-card{border-left:4px solid var(--device-accent,var(--line));position:relative}.olt-device-card h3:before{content:"";background:var(--device-accent,#64748b);width:9px;height:9px;box-shadow:0 0 8px color-mix(in srgb, var(--device-accent,#64748b) 55%, transparent);border-radius:3px;margin-right:8px;display:inline-block}.mikrotik-device-card{border-left:4px solid var(--device-accent,var(--line));position:relative}.mikrotik-device-card:hover{border-color:color-mix(in srgb, var(--device-accent,var(--brand)) 60%, var(--line))}.mikrotik-device-card h3:before{content:"";background:var(--device-accent,#64748b);width:9px;height:9px;box-shadow:0 0 8px color-mix(in srgb, var(--device-accent,#64748b) 55%, transparent);border-radius:3px;margin-right:8px;display:inline-block}.device-live-grid .lv-cards strong,.device-live-grid .lv-ports strong{color:#7dd3fc}.device-live-grid .lv-pon strong{color:#c4b5fd}.device-live-grid .lv-pon-use strong{color:#4ade80}.device-live-grid .lv-pon-idle strong{color:#fb923c}.device-live-grid .lv-cards8 strong{color:#7dd3fc}.device-live-grid .lv-cards16 strong{color:#a78bfa}.device-live-grid strong.noex{color:var(--muted);letter-spacing:.05em;font-size:10px;font-weight:800}.device-live-grid .lv-onu-on strong{color:#39ff14}.device-live-grid .lv-onu-on{background:#22c55e12;border-color:#22c55e59}.device-live-grid .lv-onu-off strong{color:#f87171}.device-live-grid .lv-enabled strong{color:#4ade80}.device-live-grid .lv-enabled{border-color:#4ade8040}.device-live-grid .lv-disabled strong{color:#fbbf24}.device-live-grid .lv-disabled{border-color:#fbbf244d}.device-live-grid .lv-onu-off{background:#ef44440f;border-color:#ef444459}.device-live-grid span small{color:var(--muted);font-size:9px;font-weight:700}.device-live-grid .lv-clients strong{color:#22d3ee}.device-live-grid .lv-seen strong{font-size:11.5px}.device-data-source{margin:2px 0 6px;font-size:10px;font-weight:700}.device-data-source.equipo{color:#4ade80}.device-data-source.cloud{color:#7dd3fc}.device-data-source.plataforma{color:var(--muted)}.device-status.standby{color:#7dd3fc;background:#38bdf829}.vlan-device-card{cursor:pointer}.vlan-device-card.vlan-default{border-color:#f472b699;box-shadow:0 0 0 1px #f472b666,0 10px 30px #db277729}.device-status.vlan-default-badge{color:#fdf2f8;background:#db277773;border:1px solid #f472b6;box-shadow:0 0 12px #f472b68c}.vlan-device-card.vlan-editing{border-color:#c4b5fdd9;box-shadow:0 0 0 2px #8b5cf68c,0 12px 32px #8b5cf638}.device-tags .tag-method-pppoe{color:#f3e8ff;background:#9333ea61;border:1px solid #a855f7;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:900;box-shadow:0 0 10px #a855f773}.device-tags .tag-method-dhcp{color:#ecfeff;background:#0891b26b;border:1px solid #22d3ee;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:900;box-shadow:0 0 10px #22d3ee73}.device-tags .tag-method-static{color:#fffbeb;background:#d9770666;border:1px solid #fbbf24;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:900;box-shadow:0 0 10px #fbbf2466}.device-tags .tag-default-install{color:#fdf2f8;letter-spacing:.04em;background:#db277780;border:1px solid #f472b6;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:900;box-shadow:0 0 12px #f472b68c}.device-tags.vlan-tags{margin-top:-4px}.vlan-tags .is-default,.olt-mikrotik-vlans .is-default{box-shadow:0 0 0 2px #f472b6f2,0 0 10px #f472b680}.mikrotik-assignment{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:6px 0 14px;display:grid}.mikrotik-assignment-block{border:1px solid var(--line);background:var(--panel-soft);border-radius:14px;padding:14px 16px}.mikrotik-assignment-block h4{color:var(--text);margin:0 0 4px;font-size:13.5px;font-weight:850}.mikrotik-vlan-checklist,.mikrotik-olt-checklist{flex-direction:column;gap:7px;margin:10px 0;display:flex}.mikrotik-vlan-option{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:7px 10px;font-size:12px;display:flex}.mikrotik-vlan-option.checked{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--panel))}.mikrotik-vlan-option em{color:var(--muted);font-style:normal}.mikrotik-vlan-option .tag-method-pppoe,.mikrotik-vlan-option .tag-method-dhcp,.mikrotik-vlan-option .tag-method-static{border-radius:999px;padding:2px 9px;font-size:10px;font-weight:900}.mikrotik-vlan-option .tag-method-pppoe{color:#f3e8ff;background:#9333ea59;border:1px solid #a855f7}.mikrotik-vlan-option .tag-method-dhcp{color:#ecfeff;background:#0891b266;border:1px solid #22d3ee}.mikrotik-vlan-option .tag-method-static{color:#fffbeb;background:#d9770661;border:1px solid #fbbf24}.mikrotik-default-select{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:700;display:flex}.mikrotik-default-select select{color:#e2e8f0;background:#02061780;border:1px solid #94a3b84d;border-radius:9px;padding:8px 10px}.vlan-catalog-search{color:#e2e8f0;background:#02061780;border:1px solid #94a3b84d;border-radius:10px;width:100%;margin:6px 0 12px;padding:10px 12px;font-size:13px}.vlan-catalog-table{border:1px solid #94a3b829;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.vlan-trow{border-top:1px solid #94a3b81f;grid-template-columns:150px 96px minmax(180px,1.4fr) minmax(210px,auto) minmax(150px,auto);align-items:center;gap:12px;padding:11px 14px;display:grid}.vlan-trow:first-child{border-top:none}.vlan-trow.expanded{background:#38bdf80f}.vlan-trow.editing{background:#8b5cf61f;box-shadow:inset 3px 0 #8b5cf6}.vlan-thead{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:#02061773;font-size:10.5px;font-weight:850}.vlan-id-cell{flex-direction:column;gap:3px;display:flex}.vlan-id-cell>b{color:var(--text);font-size:13.5px;font-weight:800}.vlan-dot{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-style:normal;font-weight:800;display:inline-flex}.vlan-dot:before{content:"";background:#475569;border-radius:50%;width:7px;height:7px}.vlan-dot.on:before{background:#22c55e;box-shadow:0 0 8px #22c55e99}.vlan-name-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.vlan-name-cell>b{color:var(--text);font-size:12.5px;font-weight:700}.vlan-name-cell>i{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.vlan-trow .tag-method-pppoe,.vlan-trow .tag-method-dhcp,.vlan-trow .tag-method-static{border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:900}.vlan-trow .tag-method-pppoe{color:#fff;background:#9333ea;border:none}.vlan-trow .tag-method-dhcp{color:#fff;background:#0891b2;border:none}.vlan-trow .tag-method-static{color:#fff;background:#d97706;border:none}.vlan-assign-cell{cursor:pointer;background:0 0;border:none;justify-self:start;align-items:center;gap:8px;padding:5px 6px;display:inline-flex}.vlan-pill-count{color:#0369a1;background:#0ea5e924;border:1px solid #0ea5e966;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:850}.vlan-pill-count.default{color:#be185d;background:#db27771f;border-color:#db277766}[data-theme=dark] .vlan-pill-count{color:#7dd3fc}[data-theme=dark] .vlan-pill-count.default{color:#fbcfe8}.vlan-caret{color:var(--muted);font-size:12px;transition:transform .15s}.vlan-caret.open{color:#7dd3fc;transform:rotate(180deg)}.vlan-actions-cell{justify-self:end;gap:8px;display:inline-flex}.vlan-actions-cell .vlan-edit{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:5px;padding:7px 12px;font-size:11.5px;font-weight:850;transition:border-color .12s,color .12s;display:inline-flex}.vlan-actions-cell .vlan-edit:hover{color:#8b5cf6;border-color:#8b5cf6}.vlan-actions-cell .danger{color:#dc2626;cursor:pointer;background:#ef44441a;border:1px solid #ef444480;border-radius:9px;justify-content:center;align-items:center;padding:7px 9px;transition:background .12s,color .12s;display:inline-flex}.vlan-actions-cell .danger:hover{color:#fff;background:#ef4444;border-color:#ef4444}[data-theme=dark] .vlan-actions-cell .danger{color:#fca5a5}.wifi-cfg{gap:14px;display:grid}.wifi-cfg-grid{grid-template-columns:2fr 1fr;gap:12px;display:grid}.wifi-cfg-field{gap:5px;display:grid}.wifi-cfg-field>span{color:var(--text);font-size:12px;font-weight:800}.wifi-cfg-field>span b{color:#dc2626;font-weight:800}.wifi-cfg-field input{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:11px;padding:11px 13px;font-size:14px;font-weight:600}.wifi-cfg-field input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb29}.wifi-cfg-label{color:var(--text);font-size:12px;font-weight:800}.wifi-cfg-strats{gap:9px;display:grid}.wifi-cfg-strat{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 13px;transition:border-color .12s,background .12s;display:flex}.wifi-cfg-strat.on{background:color-mix(in srgb, #2563eb 8%, var(--panel));border-color:#2563eb}.wifi-cfg-strat input{accent-color:#2563eb;flex:none;width:17px;height:17px;margin-top:3px}.wifi-cfg-strat strong{color:var(--text);font-size:13px;font-weight:800;display:block}.wifi-cfg-strat small{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.4;display:block}.wifi-cfg-preview{border:1px dashed var(--line);background:var(--bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 14px;display:flex}.wifi-cfg-preview>span{color:var(--muted);font-size:12px;font-weight:700}.wifi-cfg-preview>div{flex-direction:column;display:flex}.wifi-cfg-preview small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.wifi-cfg-preview b{color:var(--text);font-size:14px}.wifi-cfg-msg{margin:0;font-size:12.5px;font-weight:700}.wifi-cfg-msg.ok{color:#16a34a}.wifi-cfg-msg.err{color:#dc2626}.wifi-cfg-note{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.wifi-cfg .customer-primary-button{justify-self:start}@media (max-width:560px){.wifi-cfg-grid{grid-template-columns:1fr}}.confirm-del-overlay{z-index:1400;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;place-items:center;padding:16px;animation:.18s wifi-focus-in;display:grid;position:fixed;inset:0}.confirm-del-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;gap:10px;width:100%;max-width:420px;padding:20px;display:grid;box-shadow:0 24px 60px #00000059}.confirm-del-head{align-items:center;gap:10px;display:flex}.confirm-del-icon{color:#fff;background:linear-gradient(135deg,#dc2626,#ef4444);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.confirm-del-head strong{color:var(--text);flex:1;font-size:15.5px;font-weight:900}.confirm-del-x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex}.confirm-del-msg{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.confirm-del-hint{color:var(--text);margin:2px 0 0;font-size:12.5px}.confirm-del-hint b{color:#dc2626;font-family:ui-monospace,SFMono-Regular,monospace}.confirm-del-input{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:11px;padding:11px 13px;font-size:14px}.confirm-del-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 3px #ef44442e}.confirm-del-error{color:#dc2626;margin:0;font-size:12px;font-weight:700}.confirm-del-actions{grid-template-columns:1fr 1.3fr;gap:10px;margin-top:4px;display:grid}.confirm-del-cancel{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:11px;padding:12px;font-weight:800}.confirm-del-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#dc2626,#ef4444);border:none;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:12px;font-weight:900;display:inline-flex}.confirm-del-confirm:disabled{opacity:.45;cursor:not-allowed}.vlan-detail-row{background:#02061740;border-top:1px dashed #94a3b838;padding:12px 16px 16px}.vlan-detail-grid{flex-direction:column;gap:12px;display:flex}.vlan-detail-group{flex-direction:column;gap:7px;display:flex}.vlan-detail-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:850}.router-chips{flex-wrap:wrap;gap:7px;display:flex}.router-chip{border:1px solid color-mix(in srgb, var(--mk-accent,#94a3b8) 55%, transparent);color:color-mix(in srgb, var(--mk-accent,#cbd5e1) 78%, #e2e8f0);background:#0f172a99;border-radius:999px;padding:4px 11px;font-size:11px;font-weight:800}.router-chip.is-default{border-color:var(--mk-accent,#f472b6);background:color-mix(in srgb, var(--mk-accent,#f472b6) 24%, transparent);color:#f8fafc;box-shadow:0 0 10px color-mix(in srgb, var(--mk-accent,#f472b6) 45%, transparent);font-weight:850}.vlan-detail-empty{color:var(--muted);font-size:12px}.vlan-table-empty{text-align:center;padding:16px}@media (max-width:860px){.vlan-trow{grid-template-columns:1fr 1fr;row-gap:8px}.vlan-thead{display:none}.vlan-actions-cell{justify-self:start}}.noc-live-progress{background:#0ea5e912;border:1px solid #38bdf859;border-radius:11px;gap:8px;margin:8px 0;padding:11px 12px;display:grid}.noc-live-head{align-items:center;gap:8px;display:flex}.noc-live-head strong{color:#7dd3fc;flex:1;font-size:13px;font-weight:850}.noc-live-head b{color:#38bdf8;font-size:13px}.noc-live-pulse{background:#38bdf8;border-radius:50%;width:9px;height:9px;animation:1.4s infinite nocPulse}@keyframes nocPulse{0%{box-shadow:0 0 #38bdf880}70%{box-shadow:0 0 0 8px #38bdf800}to{box-shadow:0 0 #38bdf800}}@keyframes nocLiveRed{0%{box-shadow:0 0 #ef44448c}70%{box-shadow:0 0 0 9px #ef444400}to{box-shadow:0 0 #ef444400}}.noc-live-badge{color:#f87171;background:#ef44441f;border:1px solid #ef444473;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;animation:1.4s infinite nocLiveRed;display:inline-flex}@media (max-width:760px){.noc-scope-flow .ops-summary-grid,.noc-scope-flow .ops-panel.noc-flow-panel .ops-panel-heading,.noc-scope-flow .ops-panel.noc-flow-panel .noc-scope-note{display:none}.noc-scope-flow .ops-panel.noc-flow-panel{padding:8px}}.noc-flow-col{flex:0 0 264px;min-width:240px;max-width:320px;transition:background .12s,box-shadow .12s}[data-drop].flow-drop-over{background:#22c55e1a;box-shadow:inset 0 0 0 2px #22c55e}[data-drop=tech].flow-drop-over{box-shadow:0 0 0 2px #22c55e;background:#22c55e29!important}.noc-flow-ghost{z-index:9999;pointer-events:none;color:#e5e7eb;background:#1e293b;border:1px solid #22c55e;border-radius:12px;flex-direction:column;gap:2px;max-width:230px;padding:8px 12px;display:flex;position:fixed;transform:translate(-50%,-118%)rotate(-3deg);box-shadow:0 14px 30px #0000008c}body.flow-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}body.flow-dragging .noc-flow-board{scroll-behavior:auto}@media (max-width:760px){.noc-flow-col{flex:0 0 84vw;min-width:78vw;max-width:90vw}}.noc-progress.live i{background:linear-gradient(90deg,#38bdf8,#22d3ee)}.noc-live-steps{gap:4px;display:grid}.noc-live-step{color:var(--muted);align-items:center;gap:7px;font-size:11.5px;font-weight:600;display:flex}.noc-live-step .noc-live-dot{background:#475569;border-radius:50%;flex-shrink:0;width:7px;height:7px}.noc-live-step.running{color:#7dd3fc}.noc-live-step.running .noc-live-dot{background:#38bdf8}.noc-live-step.ok{color:#86efac}.noc-live-step.ok .noc-live-dot{background:#22c55e}.noc-live-step.warn{color:#fbbf24}.noc-live-step.warn .noc-live-dot{background:#f59e0b}.noc-live-step.fail{color:#fca5a5}.noc-live-step.fail .noc-live-dot{background:#ef4444}.noc-live-internet{font-size:12px;font-weight:800}.noc-live-internet.ok{color:#4ade80}.noc-live-internet.warn{color:#fbbf24}.noc-vlan-search{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);border-radius:10px;margin:6px 0 12px;padding:10px 12px;font-size:13px}.noc-vlan-table{flex-direction:column;gap:8px;display:flex}.noc-vlan-row{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;grid-template-columns:minmax(180px,1.6fr) minmax(130px,auto) minmax(220px,1.2fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.noc-vlan-client{flex-direction:column;gap:2px;display:flex}.noc-vlan-client strong{color:var(--text);font-size:13px}.noc-vlan-client span{color:var(--muted);font-size:11px}.noc-vlan-current{border-radius:999px;justify-self:start;padding:3px 10px;font-size:10.5px;font-weight:900}.noc-vlan-current.tag-method-pppoe{color:#f3e8ff;background:#9333ea59;border:1px solid #a855f7}.noc-vlan-current.tag-method-dhcp{color:#ecfeff;background:#0891b266;border:1px solid #22d3ee}.noc-vlan-current.tag-method-static{color:#fffbeb;background:#d9770661;border:1px solid #fbbf24}.noc-vlan-row select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 10px;font-size:12px}.noc-vlan-reset{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:9px;padding:7px 11px;font-size:11.5px;font-weight:800}@media (max-width:720px){.noc-vlan-row{grid-template-columns:1fr}}.olt-area-summary{background:#02061752;border:1px solid #94a3b82e;border-radius:12px;gap:18px;margin:4px 0 2px;padding:10px 12px;display:flex}.olt-area-summary .olt-area-metric{opacity:.85;flex-direction:column;font-size:11px;display:flex}.olt-area-summary .olt-area-metric strong{color:var(--item-color,var(--text));font-size:16px}.area-form{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.area-field{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.area-field input,.area-field select{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);color:var(--text);outline:none;min-width:170px;padding:9px 11px;font-size:13.5px;font-weight:500;transition:border-color .14s,box-shadow .14s}.area-field input:focus,.area-field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}.area-field--grow{flex:1;min-width:220px}.area-field--color input[type=color]{cursor:pointer;width:54px;min-width:0;height:40px;padding:3px}.area-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px;display:grid}.area-card{padding:18px 18px 18px 22px;position:relative;overflow:hidden}.area-card:before{content:"";background:var(--area-color,var(--brand));width:5px;position:absolute;top:0;bottom:0;left:0}.area-card__head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.area-card__title{color:var(--text);margin:0;font-size:16px;font-weight:700}.area-card__code{color:var(--muted);font-size:12.5px;font-weight:600}.area-card__sub{color:var(--muted);margin:4px 0 0;font-size:12.5px}.area-metrics{flex-wrap:wrap;gap:24px;margin:12px 0 4px;display:flex}.area-metric{flex-direction:column;gap:2px;display:flex}.area-metric strong{color:var(--text);font-size:20px;line-height:1.1}.area-metric--item strong{color:var(--item-color)}.area-metric span{color:var(--muted);font-size:11.5px}.area-card__dash{border-top:1px solid var(--line);flex-wrap:wrap;gap:24px;margin-top:12px;padding-top:12px;display:flex}.area-card__foot{gap:8px;margin-top:14px;display:flex}.area-general-tag{color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-sm);align-items:center;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex}.area-btn-danger{border:1px solid var(--danger);border-radius:var(--r-sm);color:var(--danger);cursor:pointer;background:0 0;padding:9px 14px;font-size:13px;font-weight:600;transition:background .13s}.area-btn-danger:hover{background:var(--danger-bg)}.area-error{color:var(--danger-text);border-color:var(--danger)!important;background:var(--danger-bg)!important}.area-empty{color:var(--muted);font-size:13.5px}.area-modal-overlay{z-index:1200;background:#0f172a8c;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.area-modal{flex-direction:column;gap:18px;width:100%;max-width:680px;display:flex}.area-modal__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.area-modal__head h2{margin:2px 0 0}.area-modal__close{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:var(--r-sm);cursor:pointer;width:32px;height:32px;font-size:14px}.area-modal__close:hover{color:var(--text)}.area-modal__section{border-top:1px solid var(--line);padding-top:14px}.area-sector-list{flex-direction:column;gap:8px;max-height:240px;margin-bottom:14px;display:flex;overflow-y:auto}.area-sector-row{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);align-items:center;gap:12px;padding:8px 12px;display:flex}.area-sector-code{color:var(--brand);min-width:34px;font-weight:700}.area-sector-name{color:var(--text);flex:1;font-size:13.5px}.area-assign-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.area-assign-row select{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);min-width:220px;color:var(--text);outline:none;flex:1;padding:9px 11px;font-size:13.5px}.area-assign-row select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}.user-areas-field{flex-basis:100%}.user-area-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.user-area-chip{border:1.5px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12.5px;font-weight:600;transition:border-color .13s,color .13s,background .13s;display:inline-flex}.user-area-chip:before{content:"";background:var(--area-color,var(--brand));border-radius:50%;width:9px;height:9px}.user-area-chip.is-on{border-color:var(--area-color,var(--brand));color:var(--text);background:color-mix(in srgb, var(--area-color,var(--brand)) 12%, var(--panel))}.user-area-hint{color:var(--muted);margin-top:8px;font-size:12px;font-weight:500;display:block}.user-table{flex-direction:column;display:flex}.user-table__head,.user-table__row{grid-template-columns:minmax(0,2.2fr) minmax(0,1.1fr) minmax(0,1.8fr) minmax(0,1fr) .85fr auto;align-items:center;gap:14px;padding:12px 6px;display:grid}.user-table__head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.user-table__row{border-bottom:1px solid var(--line)}.user-table__row:last-child{border-bottom:none}.user-cell-main{flex-direction:column;display:flex}.user-cell-main strong{color:var(--text);font-size:14px}.user-cell-main small{color:var(--muted);font-size:12px}.user-cell-areas{flex-wrap:wrap;gap:6px;display:flex}.user-cell-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:720px){.user-table__head{display:none}.user-table__row{grid-template-columns:1fr;gap:8px}}.user-perms-block{border-top:1px solid var(--line);flex-direction:column;flex:100%;gap:10px;margin-top:2px;padding-top:14px;display:flex}.user-perms-head strong{color:var(--text);font-size:13.5px}.perm-modules{gap:10px;display:grid}.perm-module{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-soft);overflow:hidden}.perm-module__head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.perm-module__head:hover{background:color-mix(in srgb, var(--brand) 6%, transparent)}.perm-module__title{color:var(--text);align-items:center;gap:9px;font-size:13.5px;font-weight:600;display:flex}.perm-chevron{color:var(--muted);transition:transform .15s}.perm-module.is-open .perm-chevron{transform:rotate(180deg)}.perm-module__count{color:var(--muted);font-size:12px;font-weight:700}.perm-module__count.is-full{color:var(--success-text)}.perm-module__body{border-top:1px solid var(--line);background:var(--panel);padding:4px 14px 14px}.perm-actions{gap:16px;padding:10px 0;display:flex}.perm-actions button{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.perm-actions button:hover{text-decoration:underline}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px 18px;display:grid}.perm-item{cursor:pointer;color:var(--text);align-items:center;gap:10px;font-size:13px;display:flex}.perm-item input{opacity:0;width:0;height:0;position:absolute}.perm-switch{background:var(--line);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.perm-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.perm-item input:checked~.perm-switch{background:var(--brand)}.perm-item input:checked~.perm-switch:after{transform:translate(14px)}.perm-item input:focus-visible~.perm-switch{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent)}.item--region{--item-color:var(--item-region)}.item--area{--item-color:var(--item-area)}.item--sector{--item-color:var(--item-sector)}.item--nap{--item-color:var(--item-nap)}.item--olt{--item-color:var(--item-olt)}.item--mikrotik{--item-color:var(--item-mikrotik)}.item--onu{--item-color:var(--item-onu)}.item--cliente{--item-color:var(--item-cliente)}.item--usuario{--item-color:var(--item-usuario)}.item-dot{background:var(--item-color,var(--brand));border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.item-tag{white-space:nowrap;color:var(--item-color,var(--brand));border:1px solid color-mix(in srgb, var(--item-color,var(--brand)) 35%, transparent);background:color-mix(in srgb, var(--item-color,var(--brand)) 12%, var(--panel));border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.item-tag .item-dot{width:7px;height:7px}.item-legend{flex-wrap:wrap;gap:8px;display:flex}.item-legend-entry{color:var(--text);border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;display:inline-flex}.item-legend-entry .item-dot{width:11px;height:11px}.olt-mikrotik-links{background:#02061752;border:1px solid #94a3b82e;border-radius:12px;flex-direction:column;gap:7px;margin:4px 0 2px;padding:10px 12px;display:flex}.olt-mikrotik-title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:850}.olt-mikrotik-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.olt-mikrotik-line>strong{color:#e2e8f0;font-size:12px;font-weight:850}.olt-mikrotik-name{color:var(--mk-accent,#e2e8f0);align-items:center;gap:7px;display:inline-flex}.olt-mikrotik-name:before{content:"";background:var(--mk-accent,#64748b);width:8px;height:8px;box-shadow:0 0 8px color-mix(in srgb, var(--mk-accent,#64748b) 55%, transparent);border-radius:3px}.olt-mikrotik-vlans{flex-wrap:wrap;gap:6px;display:flex}.olt-mikrotik-vlans span{border-radius:999px;padding:2px 9px;font-size:10px;font-weight:900}.olt-mikrotik-vlans .tag-method-pppoe{color:#f3e8ff;background:#9333ea59;border:1px solid #a855f7}.olt-mikrotik-vlans .tag-method-dhcp{color:#ecfeff;background:#0891b266;border:1px solid #22d3ee}.olt-mikrotik-vlans .tag-method-static{color:#fffbeb;background:#d9770661;border:1px solid #fbbf24}.olt-mikrotik-vlans .tag-default-install{color:#fdf2f8;background:#db277780;border:1px solid #f472b6;box-shadow:0 0 10px #f472b680}.olt-mikrotik-empty{color:var(--muted);font-size:11px;font-weight:600}.device-actions .vlan-edit{color:#ddd6fe;cursor:pointer;background:#8b5cf629;border:1px solid #c4b5fd80;border-radius:9px;align-items:center;gap:5px;width:auto;padding:7px 12px;font-size:11.5px;font-weight:850;display:inline-flex}.vlan-cancel-edit{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:800}.device-actions .vlan-make-default{color:#7dd3fc;cursor:pointer;background:#0ea5e91f;border:1px solid #38bdf873;border-radius:9px;width:auto;padding:7px 12px;font-size:11.5px;font-weight:850}.integration-moved-note{border:1px dashed var(--line);color:var(--muted);border-radius:12px;padding:14px 16px;font-size:13px}.integration-moved-note a{color:#7dd3fc;font-weight:800;text-decoration:underline}:root[data-theme=light] .device-status.online,:root[data-theme=light] .device-status.active{color:#15803d;background:#dcfce7}:root[data-theme=light] .device-status.offline{color:#b91c1c;background:#fee2e2}:root[data-theme=light] .device-status.standby{color:#92400e;background:#fef3c7}:root[data-theme=light] .device-tags .tag-cloud,:root[data-theme=light] .device-data-source.cloud,:root[data-theme=light] .device-live-grid .lv-cards strong,:root[data-theme=light] .device-live-grid .lv-ports strong,:root[data-theme=light] .device-live-grid .lv-cards8 strong,:root[data-theme=light] .integration-moved-note a{color:#0369a1}:root[data-theme=light] .device-tags .tag-cloud{background:#eff6ff;border-color:#bfdbfe}:root[data-theme=light] .device-tags .tag-local,:root[data-theme=light] .device-data-source.equipo,:root[data-theme=light] .device-live-grid .lv-pon-use strong,:root[data-theme=light] .device-live-grid .lv-enabled strong{color:#15803d}:root[data-theme=light] .device-tags .tag-local{background:#f0fdf4;border-color:#bbf7d0}:root[data-theme=light] .device-tags .tag-smartolt{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}:root[data-theme=light] .device-tags .tag-cms-cdata,:root[data-theme=light] .device-live-grid .lv-disabled strong{color:#92400e}:root[data-theme=light] .device-tags .tag-cms-cdata{background:#fffbeb;border-color:#fde68a}:root[data-theme=light] .device-actions button.danger,:root[data-theme=light] .detail-action-row button.danger{color:#b91c1c;background:#fef2f2}:root[data-theme=light] .tag-method-pppoe,:root[data-theme=light] .mikrotik-vlan-option .tag-method-pppoe,:root[data-theme=light] .vlan-trow .tag-method-pppoe,:root[data-theme=light] .noc-vlan-current.tag-method-pppoe,:root[data-theme=light] .olt-mikrotik-vlans .tag-method-pppoe{color:#6d28d9;background:#f5f3ff}:root[data-theme=light] .tag-method-dhcp,:root[data-theme=light] .mikrotik-vlan-option .tag-method-dhcp,:root[data-theme=light] .vlan-trow .tag-method-dhcp,:root[data-theme=light] .noc-vlan-current.tag-method-dhcp,:root[data-theme=light] .olt-mikrotik-vlans .tag-method-dhcp{color:#0e7490;background:#ecfeff}:root[data-theme=light] .tag-method-static,:root[data-theme=light] .mikrotik-vlan-option .tag-method-static,:root[data-theme=light] .vlan-trow .tag-method-static,:root[data-theme=light] .noc-vlan-current.tag-method-static,:root[data-theme=light] .olt-mikrotik-vlans .tag-method-static{color:#92400e;background:#fffbeb}@media (max-width:900px){.device-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fleet-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;grid-column:1/-1;margin:0;padding:18px;font-size:13px}.olt-kpi-grid{border-top:1px solid color-mix(in srgb, var(--line) 82%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0;display:grid}.olt-kpi-grid span{border:1px solid color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--panel) 84%, transparent);min-height:58px;color:var(--muted);border-radius:10px;gap:4px;padding:9px;font-size:11px;font-weight:900;display:grid}.olt-kpi-grid strong{color:var(--text);font-size:17px;line-height:1.1}.olt-capacity-strip{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 0 12px;display:grid}.olt-capacity-strip span,.olt-capacity-strip strong{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:950}.olt-capacity-strip div{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:999px;height:8px;overflow:hidden}.olt-capacity-strip i{border-radius:inherit;background:linear-gradient(90deg, var(--olt-accent,var(--brand)), color-mix(in srgb, var(--olt-accent,var(--brand)) 58%, #fff));height:100%;display:block}.network-mini-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0;display:grid}.network-mini-metrics span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:9px;gap:3px;padding:8px;font-size:11px;font-weight:900;display:grid}.network-mini-metrics strong{color:var(--text);font-size:17px}.network-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;padding-top:10px;display:flex}.network-card-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.network-card-actions button:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel))}.network-card-actions.inline-actions{border-top:0;justify-content:flex-end;padding-top:0}.network-device-detail{margin-top:14px}.network-device-body{margin-top:12px}.network-resource-list{gap:8px;display:grid}.network-resource-list h4{align-items:center;gap:8px;margin:0 0 4px;display:inline-flex}.network-resource-list p{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;margin:0;padding:10px;font-size:13px;font-weight:900}.network-resource-table{gap:10px;display:grid}.network-resource-table article{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:12px 96px 12px 12px;position:relative}.network-resource-table span,.network-resource-table p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.network-resource-table strong{margin:4px 0;display:block}.network-resource-table em{border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:900;position:absolute;top:12px;right:12px}.network-resource-table em.online{color:#4ade80;background:#16a34a33}.network-resource-table em.offline{color:#f87171;background:#dc262633}.network-form-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:9px;margin-top:14px;padding-top:14px;display:flex}.network-form-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:900;display:inline-flex}.network-topology{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.network-topology span{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel));border-radius:14px;place-items:center;min-height:88px;font-weight:900;display:grid;position:relative}.network-topology span:not(:last-child):after{background:var(--brand);content:"";width:10px;height:2px;position:absolute;right:-10px}.osm-map{gap:8px;margin-top:10px;display:grid}.osm-map iframe{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;width:100%;height:220px}.osm-map a{color:var(--brand);font-size:12px;font-weight:900;text-decoration:none}.field-log-list h4{margin:0 0 4px}.field-log-list>article>p{color:var(--muted);margin:0 0 10px;font-size:13px}.field-log-list article div{border-top:1px solid var(--line);grid-template-columns:auto 118px 130px minmax(0,1fr);align-items:start;gap:8px;padding:9px 0;display:grid}.field-log-list article div span,.field-log-list article div p{color:var(--muted);margin:0;font-size:12px}.noc-order-grid{grid-template-columns:1fr;gap:10px;display:grid}.noc-order-card{--order-tone:var(--brand);border:1px solid var(--line);border-left:4px solid var(--order-tone);background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--order-tone) 12%, transparent), transparent 36%), var(--panel);box-shadow:var(--shadow);border-radius:11px;padding:12px}.noc-order-card.type-installation{--order-tone:#2563eb}.noc-order-card.type-repair{--order-tone:#f97316}.noc-order-card.type-relocation{--order-tone:#8b5cf6}.noc-order-card.type-upgrade{--order-tone:#16a34a}.noc-order-card.type-reconnection{--order-tone:#06b6d4}.noc-order-card.status-noc_validation{--order-tone:#16a34a}.noc-order-card.status-completed{--order-tone:#22c55e}.noc-order-card.status-on_hold{--order-tone:#f59e0b}.noc-order-card h3{margin:4px 0;font-size:15px;line-height:1.25}.noc-order-card p{color:var(--muted);margin:0;font-size:12px}.noc-assign-row{grid-template-columns:1fr;gap:8px;margin:10px 0;display:grid}.noc-assign-row select,.noc-assign-row button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--text);border-radius:9px;padding:0 10px;font-size:12px;font-weight:850}.noc-assign-row button{cursor:pointer;background:color-mix(in srgb, var(--brand) 14%, var(--panel));justify-content:center;align-items:center;gap:7px;display:inline-flex}.noc-extra-note{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel));color:var(--text);overflow-wrap:anywhere;border-radius:10px;align-items:flex-start;gap:7px;margin:10px 0 0;padding:9px 10px;font-size:clamp(11px,2.3vw,12px);font-weight:800;line-height:1.35;display:flex}.noc-extra-note svg{flex:none;margin-top:1px}.noc-modal-backdrop{z-index:80;background:#020617a8;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.noc-assign-modal{border:1px solid var(--line);background:var(--panel);width:min(560px,100%);max-height:calc(100dvh - 28px);box-shadow:var(--shadow);border-radius:14px;padding:16px;overflow:auto}.noc-assign-modal label{color:var(--muted);gap:6px;margin-top:12px;font-size:12px;font-weight:900;display:grid}.noc-assign-modal select,.noc-assign-modal textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px;font-size:13px}.noc-assign-modal textarea{resize:vertical;min-height:110px}.noc-modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.noc-modal-actions button{border:1px solid var(--line);min-height:38px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 13px;font-size:12px;font-weight:900}.noc-modal-actions .cancel{background:var(--panel-soft)}.noc-modal-actions .confirm{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:var(--brand);color:#fff}.noc-progress{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:999px;height:10px;margin:14px 0;overflow:hidden}.noc-progress i{border-radius:inherit;background:var(--brand);height:100%;display:block}.noc-log{max-height:260px;margin-top:10px;overflow:auto}.portal-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.portal-check input{width:16px;height:16px}.portal-warning{color:#fbbf24;background:#d977061a;border:1px solid #d9770659;border-radius:10px;margin:0;padding:10px;font-size:12px;font-weight:800}.network-form{grid-template-columns:repeat(3,minmax(0,1fr))}.network-master-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.network-master-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;gap:7px;padding:14px;display:grid}.network-master-grid span,.network-master-grid p,.network-master-grid small{color:var(--muted);margin:0;font-size:12px;font-weight:800}.network-master-grid h4{margin:0}.network-maintenance-toolbar{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(145px,.34fr)) auto;align-items:stretch;gap:10px;margin-bottom:12px;padding:10px;display:grid}.network-maintenance-toolbar .network-search-box{border-radius:9px;align-self:end;align-items:center;height:40px;min-height:40px;margin-bottom:0;display:flex}.network-maintenance-toolbar .network-search-box input{min-height:38px}.network-maintenance-toolbar label,.network-inline-form label{color:var(--muted);gap:5px;font-size:11px;font-weight:900;display:grid}.network-maintenance-toolbar select,.network-inline-form input,.network-inline-form select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#02061761;border-radius:9px;outline:0;padding:0 10px}.network-inline-form{border:1px solid color-mix(in srgb, var(--brand) 22%, var(--line));background:color-mix(in srgb, var(--brand) 7%, var(--panel));border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.sector-inline-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.nap-inline-form{background:linear-gradient(135deg, #16a34a21, #2563eb12), color-mix(in srgb, var(--panel-soft) 82%, transparent);border-color:#22c55e57;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));box-shadow:inset 0 1px #ffffff08,0 16px 36px #02061738}.nap-inline-form:before{content:"Nueva caja NAP";color:#15803d;text-transform:uppercase;background:#16a34a1f;border:1px solid #16a34a66;border-radius:9px;grid-column:1/-1;align-items:center;min-height:40px;padding:0 12px;font-size:12px;font-weight:950;display:flex}[data-theme=dark] .nap-inline-form:before{color:#86efac}.nap-inline-form .coordinates-field{min-width:190px}.nap-map-button,.nap-clear-button{border:1px solid var(--line);min-height:40px;color:var(--text);cursor:pointer;background:#02061775;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:950;display:inline-flex}.nap-map-button{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb66}.nap-clear-button{border-color:var(--line);background:var(--bg);color:var(--text)}[data-theme=dark] .nap-map-button{color:#bfdbfe}.nap-map-button:hover,.nap-clear-button:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 14%, var(--panel))}.nap-sector-map{background:radial-gradient(circle at 15% 0%, #2563eb2e, transparent 34%), color-mix(in srgb, var(--panel-soft) 82%, transparent);border:1px solid #60a5fa47;border-radius:14px;gap:12px;margin-bottom:14px;padding:12px;display:grid}.nap-sector-map>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.nap-sector-map span,.nap-sector-map strong{color:var(--text);font-size:13px;font-weight:950}.nap-sector-map span{color:var(--muted);text-transform:uppercase}.nap-sector-map button{border:1px solid var(--line);min-height:34px;color:var(--text);cursor:pointer;background:#0206176b;border-radius:8px;padding:0 10px;font-weight:900}.nap-map-frame{border:1px solid var(--line);background:#0b1728;border-radius:12px;min-height:360px;position:relative;overflow:hidden}.nap-map-frame iframe{border:0;width:100%;height:360px}.network-nap-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.network-nap-summary article,.network-summary-row article{position:relative;overflow:hidden}.network-summary-row article:first-child,.network-nap-summary .total{border-left-color:var(--success)}.network-summary-row article:first-child strong{color:var(--success)}.network-summary-row article:nth-child(2),.network-nap-summary .cap4{border-left-color:var(--brand)}.network-summary-row article:nth-child(2) strong{color:var(--brand)}.network-summary-row article:nth-child(3),.network-nap-summary .cap8{border-left-color:var(--info)}.network-summary-row article:nth-child(3) strong{color:var(--info)}.network-summary-row article:nth-child(4),.network-nap-summary .cap16{border-left-color:var(--warning)}.network-summary-row article:nth-child(4) strong{color:var(--warning)}.network-nap-summary .saturation{background:linear-gradient(135deg, #f59e0b24, var(--panel));border-left-color:#f59e0b}[data-theme=dark] .network-nap-summary .saturation{background:linear-gradient(135deg,#f59e0b3d,#0f172ae0)}.sector-id-chip{background:color-mix(in srgb, var(--brand) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--brand) 40%, var(--line));min-width:28px;height:28px;color:var(--brand);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:900;display:inline-flex}.ops-panel-heading .eyebrow{color:color-mix(in srgb, var(--text) 45%, var(--muted))}.vlan-catalog-table,.network-row-table{overflow-x:auto}@media (max-width:1000px){.network-nap-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.sector-inline-form,.nap-inline-form{grid-template-columns:1fr!important}.sector-inline-form>*,.nap-inline-form>*{width:100%}.network-nap-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.network-maintenance-toolbar{flex-wrap:wrap}.network-maintenance-toolbar>*{flex:160px}}@media (max-width:520px){.network-nap-summary{grid-template-columns:1fr}.vlan-catalog-form,.network-inline-form{grid-template-columns:1fr!important}}.network-nap-summary article{border:1px solid var(--line);border-radius:13px;gap:4px;min-height:96px;padding:15px;display:grid}.network-nap-summary span,.network-nap-summary small{color:var(--muted);font-size:12px;font-weight:900}.network-nap-summary strong{font-size:26px}.network-row-table{gap:7px;padding-bottom:2px;display:grid;overflow-x:auto}.network-row-table-head,.network-row-table article{border:1px solid var(--line);border-radius:11px;align-items:center;gap:10px;padding:10px 12px;display:grid}.network-row-table-head{color:var(--muted);text-transform:uppercase;background:#0206177a;font-size:11px;font-weight:950}.network-row-table article{background:color-mix(in srgb, var(--panel-soft) 70%, transparent);transition:transform .18s,border-color .18s,background .18s}.network-row-table article:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel));transform:translateY(-1px)}.network-row-table strong,.network-row-table span,.network-row-table a{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:900}.network-row-table small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:800;display:block}.sector-row-table .network-row-table-head,.sector-row-table article{grid-template-columns:80px minmax(160px,1fr) minmax(170px,1fr) minmax(240px,1.5fr) 90px 170px;min-width:920px}.nap-row-table .network-row-table-head,.nap-row-table article{grid-template-columns:42px 120px minmax(180px,1fr) 110px 90px 110px minmax(210px,1.25fr) minmax(160px,.9fr) 150px;min-width:1260px}.network-row-table article>div{flex-wrap:wrap;gap:6px;display:flex}.network-row-table button{border:1px solid var(--line);min-height:32px;color:var(--text);cursor:pointer;background:#02061766;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.network-row-table button:hover{border-color:color-mix(in srgb, var(--brand) 50%, var(--line));background:color-mix(in srgb, var(--brand) 12%, var(--panel))}.nap-select-cell{justify-content:center;align-items:center;display:flex!important}.nap-select-cell input{width:16px;height:16px;accent-color:var(--brand)}.nap-capacity-badge,.nap-coordinate-link{border-radius:999px;align-items:center;width:fit-content;padding:6px 9px;font-size:12px;font-weight:950;display:inline-flex}.nap-capacity-badge.cap-4{color:#86efac;background:#22c55e29}.nap-capacity-badge.cap-8{color:#bfdbfe;background:#3b82f62b}.nap-capacity-badge.cap-16{color:#d8b4fe;background:#a855f72b}.nap-coordinate-link{cursor:pointer;background:#2563eb1c;border:1px solid #60a5fa40;text-decoration:none;color:#93c5fd!important}.nap-coordinate-link:hover,.network-row-table button.nap-coordinate-link:hover{background:#2563eb33;border-color:#60a5fa94}.nap-table-status{background:#22c55e21;border-radius:9px;width:fit-content;min-width:76px;padding:6px 8px;display:grid;color:#86efac!important}.nap-table-status.saturada{background:#f59e0b29;color:#fbbf24!important}.nap-table-status.full{background:#ef444429;color:#fca5a5!important}.nap-table-status.maintenance{background:#94a3b829;color:#cbd5e1!important}@media (max-width:1180px){.network-maintenance-toolbar,.network-nap-summary,.sector-inline-form,.nap-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.network-inline-form .customer-primary-button{grid-column:1/-1}}@media (max-width:760px){.network-maintenance-toolbar,.network-nap-summary,.sector-inline-form,.nap-inline-form{grid-template-columns:1fr}}.network-health-page{gap:16px;display:grid}.network-health-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.network-health-card,.network-health-row,.network-router-health article,.network-alarm-list article,.network-preventive-grid article,.network-correlation{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 76%, transparent);border-radius:14px}.network-health-card{gap:7px;padding:16px;display:grid}.network-health-card span,.network-health-card p,.network-health-row span,.network-health-row p,.network-router-health p,.network-alarm-list p,.network-preventive-grid p,.network-correlation p,.network-correlation span{color:var(--muted);margin:0;font-size:12px;font-weight:850}.network-health-card strong{font-size:28px;line-height:1}.network-health-card.excellent,.network-health-row.excellent{background:linear-gradient(135deg, #22c55e1f, transparent 34%), var(--panel);border-color:#22c55e52}.network-health-card.good,.network-health-row.good{background:linear-gradient(135deg, #3b82f61f, transparent 34%), var(--panel);border-color:#3b82f652}.network-health-card.warning,.network-health-row.warning{background:linear-gradient(135deg, #f59e0b21, transparent 34%), var(--panel);border-color:#f59e0b57}.network-health-card.critical,.network-health-row.critical{background:linear-gradient(135deg, #ef444424, transparent 34%), var(--panel);border-color:#ef44445c}.network-health-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);align-items:start;gap:16px;display:grid}.network-health-wide{grid-column:span 1}.network-health-list,.network-router-health,.network-alarm-list,.network-preventive-grid{gap:10px;display:grid}.network-health-row{grid-template-columns:minmax(150px,1fr) 64px minmax(150px,.85fr) minmax(160px,1fr);align-items:center;gap:12px;min-width:0;padding:13px;display:grid}.network-health-row>div{min-width:0}.network-health-row strong,.network-router-health strong,.network-alarm-list strong,.network-preventive-grid strong,.network-correlation strong{color:var(--text)}.network-health-score{border:6px solid color-mix(in srgb, var(--brand) 70%, var(--line));background:var(--panel);border-radius:999px;place-items:center;width:64px;height:64px;display:grid}.network-health-score b{font-size:20px;line-height:1}.network-health-score span{font-size:10px}.network-health-score.excellent{border-color:#22c55e}.network-health-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.network-health-kpis span{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:3px;padding:9px;display:grid}.network-health-kpis strong{color:var(--text);font-size:16px}.network-health-action{border-left:3px solid var(--brand);padding-left:10px}.network-router-health article{gap:12px;padding:14px;display:grid}.network-alarm-list article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.network-alarm-list article.critical{color:#f87171;border-color:#ef444466}.network-alarm-list article.major{color:#fbbf24;border-color:#f59e0b66}.network-alarm-list article.warning{color:#60a5fa;border-color:#3b82f659}.network-preventive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.network-preventive-grid article{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px;display:grid}.network-preventive-grid span,.network-preventive-grid em{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.network-correlation{gap:9px;padding:15px;display:grid}@media (max-width:1100px){.network-health-grid{grid-template-columns:1fr}}@media (max-width:760px){.network-health-summary,.network-health-grid{grid-template-columns:1fr}.network-health-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.network-health-row>div:first-child,.network-health-kpis,.network-health-action{grid-column:1/-1}.network-health-score{border-width:5px;grid-area:1/2;width:52px;height:52px}.network-health-score b{font-size:17px}.network-health-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.network-health-action{border-top:1px solid var(--line);border-left:none;padding-top:8px;padding-left:0}}.section-note{color:var(--muted);margin:-4px 0 14px;font-size:13px}.vlan-grid button{border:1px solid var(--line);background:var(--panel);width:max-content;color:var(--text);cursor:pointer;border-radius:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:900}.install-wizard-box{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 9%, var(--panel));border-radius:14px;gap:12px;margin-top:12px;padding:14px;display:grid}.install-wizard-header,.install-wizard-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.install-wizard-header span{color:var(--muted);font-size:12px;font-weight:900;display:block}.install-wizard-actions{flex-wrap:wrap;justify-content:flex-start}.install-wizard-actions button,.onu-discovery-list button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.onu-discovery-list{gap:8px;display:grid}.onu-discovery-list label{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr) auto minmax(160px,1fr);align-items:center;gap:8px;padding:10px;display:grid}.onu-discovery-list label.selected{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 11%, var(--panel))}.onu-discovery-list small{color:var(--muted);font-size:12px;font-weight:800}.provisioning-steps{gap:7px;display:grid}.provisioning-steps p{color:#86efac;background:#16a34a1a;border:1px solid #16a34a40;border-radius:9px;align-items:center;gap:8px;margin:0;padding:9px 10px;font-size:12px;font-weight:900;display:flex}.nap-warning,.nap-suggestion-grid small{color:#fbbf24!important}.nap-suggestion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.nap-suggestion-grid article{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-soft) 72%, transparent);border-radius:12px;padding:14px}.nap-suggestion-grid article.recommended{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel))}.nap-suggestion-grid span,.nap-suggestion-grid p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.nap-suggestion-grid h4{margin:5px 0}.nap-suggestion-grid strong{margin-top:8px;font-size:13px;display:block}.ops-hero-actions{align-items:center;gap:14px;display:flex}.ops-hero-new{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;white-space:nowrap;box-shadow:var(--shadow);border:0;border-radius:12px;align-items:center;gap:8px;padding:10px 15px;font-size:13.5px;font-weight:900;text-decoration:none;display:inline-flex}.ops-hero-new:hover{filter:brightness(1.06)}.new-install-page{gap:14px;min-width:0;display:grid}.new-install-back{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;justify-self:start;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:800;display:inline-flex}.new-install-back:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.new-install-back svg{flex:none}.new-install-top,.new-install-steps,.new-install-card,.new-install-summary,.new-install-footer,.new-install-notice{border:1px solid var(--line);background:radial-gradient(circle at top left, color-mix(in srgb, var(--brand) 10%, transparent), transparent 34%), color-mix(in srgb, var(--panel) 92%, transparent);box-shadow:var(--shadow)}.new-install-top{border-radius:16px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.new-install-title,.new-install-help,.new-install-card-title,.new-install-icon-row,.new-install-tabs,.new-install-gps,.new-install-summary-block div{align-items:center;display:flex}.new-install-title{gap:12px}.new-install-title svg,.new-install-card-title svg{color:var(--brand)}.new-install-title h1,.new-install-card h2,.new-install-summary h2{margin:0;font-size:18px}.new-install-help{color:var(--brand);gap:10px;font-size:13px;font-weight:900}.ni-tone-a{--step:#2563eb;--step-soft:#2563eb24}.ni-tone-b{--step:#0d9488;--step-soft:#0d948824}.ni-tone-c{--step:#7c3aed;--step-soft:#7c3aed24}.ni-tone-d{--step:#059669;--step-soft:#05966924}.ni-tone-e{--step:#ea580c;--step-soft:#ea580c24}.ni-tone-f{--step:#4f46e5;--step-soft:#4f46e524}.new-install-steps{border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 16px;display:grid}.new-install-steps>button{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:12.5px;font-weight:900;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.new-install-steps>button:not(:last-child):after{background:var(--line);content:"";height:2px;position:absolute;top:50%;left:44px;right:-5px}.new-install-steps>button span{border:1px solid var(--line);background:var(--panel-soft);width:32px;height:32px;color:var(--muted);z-index:1;border-radius:999px;flex:none;place-items:center;font-size:14px;display:grid}.new-install-steps>button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.new-install-steps>button.active{color:var(--step);border-color:color-mix(in srgb, var(--step) 45%, var(--line));background:var(--step-soft)}.new-install-steps>button.active span{border-color:var(--step);background:var(--step);color:#fff}.new-install-steps>button.done{color:var(--step)}.new-install-steps>button.done span{border-color:var(--step);background:var(--step);color:#fff}.new-install-grid.ni-steps{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.ni-step{border:1px solid var(--line);border-left:4px solid var(--step);background:color-mix(in srgb, var(--panel) 92%, transparent);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.ni-step-head{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:14px 15px;display:flex}.ni-step.open .ni-step-head{background:var(--step-soft)}.ni-step-num{background:var(--step);color:#fff;border-radius:999px;flex:none;place-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:grid}.ni-step-h{flex:1;gap:1px;min-width:0;display:grid}.ni-step-h strong{color:var(--text);font-size:15px;font-weight:900}.ni-step-h small{color:var(--muted);font-size:11.5px;font-weight:700}.ni-step.done .ni-step-h strong:after{content:"Listo";background:var(--step-soft);color:var(--step);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:10px}.ni-step-caret{color:var(--muted);flex:none;font-size:14px;transition:transform .2s}.ni-step.open .ni-step-caret{color:var(--step);transform:rotate(180deg)}.ni-step-body{opacity:0;gap:12px;max-height:0;padding:0 13px;transition:max-height .3s,opacity .2s,padding .2s;display:grid;overflow:hidden}.ni-step.open .ni-step-body{opacity:1;max-height:6000px;padding:4px 13px 14px}.ni-step-next{background:var(--step);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:2px;padding:12px;font-size:14px;font-weight:900;display:inline-flex}.ni-step-next:hover{filter:brightness(1.06)}.ni-step-body .new-install-card,.ni-step-body .new-install-summary{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.ni-step-body .new-install-card+.new-install-card{border-top:1px solid var(--line);padding-top:12px}.ni-ai-panel{border:1px solid color-mix(in srgb, var(--brand) 38%, var(--line));border-left:4px solid var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--panel-soft));border-radius:12px;gap:6px;padding:11px 14px;display:grid}.ni-ai-panel.level-full{background:color-mix(in srgb, #059669 8%, var(--panel-soft));border-left-color:#059669}.ni-ai-panel.level-partial{background:color-mix(in srgb, #d97706 8%, var(--panel-soft));border-left-color:#d97706}.ni-ai-panel.level-none{background:color-mix(in srgb, #6366f1 8%, var(--panel-soft));border-left-color:#6366f1}.ni-ai-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ni-ai-head svg{color:var(--brand)}.ni-ai-head strong{color:var(--text);font-size:13.5px;font-weight:900}.ni-ai-level{background:color-mix(in srgb, var(--brand) 16%, transparent);color:var(--brand);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 9px;font-size:10.5px;font-weight:900}.ni-ai-panel.level-full .ni-ai-level{color:#059669;background:#05966929}.ni-ai-panel.level-partial .ni-ai-level{color:#b45309;background:#d9770629}.ni-ai-panel.level-none .ni-ai-level{color:#4f46e5;background:#6366f129}.ni-ai-head em{color:var(--muted);margin-left:auto;font-size:11.5px;font-style:normal;font-weight:800}.ni-ai-rec{color:var(--text);margin:0;padding-left:16px;font-size:12.5px;font-weight:700;line-height:1.4;position:relative}.ni-ai-rec:before{content:"•";color:var(--brand);font-weight:900;position:absolute;left:4px}.ni-ai-rec.sev-warn{color:#b45309}.ni-ai-rec.sev-warn:before{color:#d97706}.ni-ai-rec.sev-suggest:before{color:#059669}[data-theme=dark] .ni-ai-panel.level-partial .ni-ai-level,[data-theme=dark] .ni-ai-rec.sev-warn{color:#fbbf24}.new-install-card,.new-install-summary{border-radius:14px;padding:14px}.new-install-card-title{justify-content:space-between;gap:10px;margin-bottom:12px}.new-install-card-title>div{flex:1;min-width:0}.new-install-card-title p,.new-install-subtitle,.new-install-summary-block small,.new-install-summary-block p{color:var(--muted)}.new-install-card-title p,.new-install-card-title span{margin-top:3px;font-size:12px;font-weight:800}.new-install-search{padding:13px}.new-install-search-box,.new-install-address-bar{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;align-items:center;gap:9px;padding:0 10px;display:flex}.new-install-search-box input,.new-install-address-bar input{width:100%;min-height:42px;color:var(--text);background:0 0;border:0;outline:0}.new-install-results{gap:7px;margin-top:10px;display:grid}.new-install-results button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;gap:3px;padding:9px;display:grid}.new-install-results small{color:var(--muted);font-size:12px;font-weight:800}.new-install-result-name{justify-content:space-between;align-items:center;gap:8px;font-weight:900;display:flex}.new-install-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:2px 9px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.new-install-status.active{color:#6ee7b7;background:#34d39924;border:1px solid #34d39980}.new-install-status.archived{color:#c4b5fd;background:#a78bfa24;border:1px solid #a78bfa80}.new-install-status.registered{color:#7dd3fc;background:#7dd3fc24;border:1px solid #7dd3fc80}.new-install-note-presets{flex-wrap:wrap;gap:6px;margin:4px 0 6px;display:flex}.new-install-note-presets button{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel-soft));color:var(--text);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.new-install-note-presets button:hover{border-color:color-mix(in srgb, var(--brand) 60%, var(--line))}.new-install-autocomplete{position:relative}.new-install-autocomplete-list{z-index:30;border:1px solid color-mix(in srgb, var(--brand) 40%, var(--line));background:var(--panel);border-radius:12px;gap:6px;max-height:280px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0206178c}.new-install-autocomplete-hint{color:var(--muted);padding:2px 2px 4px;font-size:10.5px;font-weight:800}.new-install-autocomplete-list button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);text-align:left;cursor:pointer;border-radius:9px;gap:3px;padding:8px 10px;display:grid}.new-install-autocomplete-list button:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line))}.new-install-autocomplete-list small{color:var(--muted);font-size:11.5px;font-weight:800}.new-install-dup-banner{border:1px solid;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.new-install-dup-banner.hard{background:#7f1d1d47;border-color:#f8717199}.new-install-dup-banner.soft{background:#78350f40;border-color:#fbbf248c}.new-install-dup-info{gap:3px;display:grid}.new-install-dup-info strong{color:#fee2e2;font-size:13.5px;font-weight:900}.new-install-dup-banner.soft .new-install-dup-info strong{color:#fef3c7}.new-install-dup-info span{color:#e2e8f0;font-size:12px;font-weight:700}.new-install-dup-actions{gap:8px;display:inline-flex}.new-install-dup-actions .dup-use{color:#6ee7b7;cursor:pointer;background:#10b9812e;border:1px solid #6ee7b780;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:850}.new-install-dup-actions .dup-other{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:800}.new-install-match-banner{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:4px;padding:12px 40px 12px 14px;display:grid;position:relative}.new-install-match-banner strong{font-size:12.5px;font-weight:900}.new-install-match-banner span{color:var(--muted);font-size:11.5px;line-height:1.5}.new-install-match-banner button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:3px 9px;font-size:10.5px;font-weight:900;position:absolute;top:10px;right:10px}.new-install-match-banner.active{background:linear-gradient(135deg,#34d39914,#0000);border-color:#34d39966}.new-install-match-banner.active strong{color:#15803d}.new-install-match-banner.archived{background:linear-gradient(135deg,#a78bfa1a,#0000);border-color:#a78bfa73}.new-install-match-banner.archived strong{color:#6d28d9}.new-install-match-banner.registered{background:linear-gradient(135deg,#7dd3fc14,#0000);border-color:#7dd3fc66}.new-install-match-banner.registered strong{color:#0369a1}.new-install-badge.archived{color:#6d28d9!important;background:#a78bfa29!important;border-color:#a78bfa80!important}.new-install-badge.active{color:#15803d!important;background:#34d39929!important;border-color:#34d39980!important}.new-install-badge.registered{color:#0369a1!important;background:#7dd3fc29!important;border-color:#7dd3fc80!important}[data-theme=dark] .new-install-match-banner.active strong{color:#6ee7b7}[data-theme=dark] .new-install-match-banner.archived strong{color:#c4b5fd}[data-theme=dark] .new-install-match-banner.registered strong{color:#7dd3fc}[data-theme=dark] .new-install-badge.archived{color:#c4b5fd!important}[data-theme=dark] .new-install-badge.active{color:#6ee7b7!important}[data-theme=dark] .new-install-badge.registered{color:#7dd3fc!important}.new-install-secondary-action.reactivate{color:#c4b5fd;background:#a78bfa29;border-color:#a78bfa80}.new-install-badge{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 16%, transparent);border-radius:999px;width:fit-content;padding:4px 8px;display:inline-flex;color:var(--brand)!important}.new-install-secondary-action,.new-install-reanalyze{border:1px solid var(--line);background:color-mix(in srgb, var(--brand) 12%, var(--panel));color:var(--brand);cursor:pointer;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:900}.new-install-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.new-install-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.new-install-form-grid .coordinates-input{grid-column:1/-1}.new-install-form-grid label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.new-install-form-grid input,.new-install-form-grid select,.new-install-form-grid textarea{max-width:100%}.new-install-form-grid label.wide{grid-column:1/-1}.new-install-form-grid b,.new-install-card-title b,.new-install-subtitle b{color:#fb7185}.new-install-form-grid input,.new-install-form-grid select,.new-install-form-grid textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);border-radius:9px;outline:0;padding:10px 11px;transition:border-color .2s,box-shadow .2s}.new-install-form-grid textarea{resize:vertical;min-height:62px}.new-install-form-grid input:focus,.new-install-form-grid select:focus,.new-install-form-grid textarea:focus,.new-install-address-bar:focus-within,.new-install-search-box:focus-within{border-color:color-mix(in srgb, var(--brand) 65%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}.new-install-form-grid .invalid,.new-install-address-bar input.invalid{border-color:#fb7185}.new-install-form-grid small,.new-install-error{color:#fb7185;font-size:11px;font-weight:900}.new-install-subtitle{margin:14px 0 8px;font-size:13px}.new-install-existing-summary{flex-direction:column;gap:12px;display:flex}.new-install-existing-hint{color:var(--muted);margin:0;font-size:12.5px}.new-install-existing-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.new-install-existing-grid>div{border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.new-install-existing-grid span{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:10.5px;font-weight:800}.new-install-existing-grid strong{word-break:break-word;font-size:13px;font-weight:800}.new-install-existing-change{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:9px;align-self:flex-start;padding:7px 13px;font-size:12px;font-weight:800}.new-install-dpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.new-install-dpi-grid article{border:1px solid var(--line);background:var(--panel-soft);text-align:center;border-radius:12px;gap:10px;padding:12px;display:grid}.new-install-dpi-grid strong{font-size:12px}.new-install-dpi-preview{border:1.5px dashed var(--line);background:var(--panel);width:100%;height:140px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;transition:border-color .15s,background .15s;display:grid;overflow:hidden}.new-install-dpi-preview:hover,.new-install-dpi-preview:active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 7%, var(--panel))}.new-install-dpi-preview.has-image{border-style:solid}.new-install-dpi-preview img{object-fit:contain;max-width:100%;max-height:100%}.new-install-dpi-empty{justify-items:center;gap:3px;display:grid}.new-install-dpi-empty svg{color:var(--brand)}.new-install-dpi-empty b{color:var(--text);font-size:13px}.new-install-dpi-empty em{font-size:11px;font-style:normal;font-weight:700}.new-install-dpi-capture{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:13.5px;font-weight:900;display:flex}.new-install-dpi-capture:active{filter:brightness(.94)}.new-install-dpi-capture svg{flex:none}.new-install-icon-row{justify-content:center;gap:8px}.new-install-icon-row button{border:1px solid var(--line);background:var(--panel);width:38px;height:38px;color:var(--brand);cursor:pointer;border-radius:9px;place-items:center;display:grid}.new-install-icon-row button:last-child{color:#ef4444}.new-install-icon-row button:disabled{cursor:not-allowed;opacity:.45}.new-install-plan-grid{grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px;display:grid}.new-install-plan-grid button,.new-install-priority-grid button,.new-install-nap-grid button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;transition:transform .2s,border-color .2s,background .2s;position:relative}.new-install-plan-grid button{text-align:left;gap:3px;min-height:52px;padding:9px 10px;display:grid}.new-install-plan-grid button:hover,.new-install-priority-grid button:hover,.new-install-nap-grid button:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line));transform:translateY(-1px)}.new-install-plan-grid button.selected,.new-install-nap-grid button.selected{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--panel-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 28%, transparent)}.new-install-plan-grid span{font-size:13px;font-weight:900}.new-install-plan-grid small{color:var(--muted);font-size:11px;font-weight:800}.new-install-plan-grid svg{color:var(--brand);position:absolute;top:9px;right:9px}.new-install-plan-selected{background:radial-gradient(circle at 100% 0,#22c55e38,#0000 40%),linear-gradient(135deg,#14b8a629,#2563eb14);border:1px solid #22c55e6b;border-radius:12px;gap:6px;margin-top:10px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #22c55e14,0 14px 32px #0307122e}.new-install-plan-selected>span,.new-install-plan-selected small{color:var(--muted);font-size:11px;font-weight:900}.new-install-plan-selected div{justify-content:space-between;align-items:center;gap:10px;display:flex}.new-install-plan-selected strong{font-size:18px}.new-install-plan-selected b{color:#15803d;font-size:20px}[data-theme=dark] .new-install-plan-selected b{color:#86efac}.new-install-plan-selected p{color:var(--muted);font-size:12px;font-weight:900}.new-install-plan-selected em{color:var(--text);font-style:normal}.new-install-tabs{border:1px solid var(--line);border-radius:10px;margin-bottom:9px;overflow:hidden}.new-install-tabs button{border:0;border-right:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:900;display:flex}.new-install-tabs button:last-child{border-right:0}.new-install-tabs button.mode-device{color:#0d9488;background:#14b8a624;border-right-color:#14b8a659}.new-install-tabs button.mode-device:hover{background:#14b8a63d}.new-install-tabs button.mode-device svg{color:#14b8a6}.new-install-tabs button.mode-map{color:#7c3aed;background:#8b5cf624}.new-install-tabs button.mode-map:hover{background:#8b5cf63d}.new-install-tabs button.mode-map svg{color:#8b5cf6}.new-install-tabs button.active.mode-search{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff}.new-install-tabs button.active.mode-device{color:#fff;background:linear-gradient(135deg,#14b8a6,#0d9488);box-shadow:inset 0 0 0 1px #ffffff26}.new-install-tabs button.active.mode-device svg{color:#fff}.new-install-tabs button.active.mode-map{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:inset 0 0 0 1px #ffffff26}.new-install-tabs button.active.mode-map svg{color:#fff}.new-install-toast{z-index:40;color:#fff;border-radius:11px;align-items:center;gap:8px;margin:0 0 10px;padding:11px 14px;font-size:13px;font-weight:800;animation:.18s ease-out ni-toast-in;display:flex;position:sticky;top:10px;box-shadow:0 10px 26px #00000047}.new-install-toast.warn{background:linear-gradient(135deg,#f59e0b,#d97706)}.new-install-toast.ok{background:linear-gradient(135deg,#10b981,#059669)}@keyframes ni-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.new-install-plan-empty{color:#b45309;background:#f59e0b14;border:1.5px dashed #f59e0b99;border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:14px 16px;display:flex}.new-install-plan-empty svg{color:#f59e0b;flex-shrink:0}.new-install-plan-empty strong{font-size:13.5px;display:block}.new-install-plan-empty p{opacity:.85;margin:2px 0 0;font-size:12px}[data-theme=dark] .new-install-plan-empty{color:#fcd34d}.new-install-plan-grid.invalid{outline-offset:4px;border-radius:12px;outline:1.5px solid #f59e0bb3}.new-install-tabs.big button{padding:15px 12px;font-size:13.5px}.new-install-tabs.big button svg{width:18px;height:18px}.new-install-address-search,.new-install-address-clear{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;display:grid}.new-install-address-search:hover,.new-install-address-clear:hover{background:color-mix(in srgb, var(--brand) 16%, transparent);color:var(--text)}.new-install-map-toggle{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-top:9px;padding:11px 13px;font-size:13px;font-weight:800;display:flex}.new-install-map-toggle:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.new-install-map-toggle .ni-chev{margin-left:auto;transition:transform .15s}.new-install-map-toggle .ni-chev.open{transform:rotate(180deg)}.new-install-map{border:1px solid var(--line);background:#0b1728;border-radius:12px;min-height:250px;margin-top:9px;display:grid;position:relative;overflow:hidden}.new-install-map .osm-map{min-height:inherit;margin:0}.new-install-map .osm-map iframe{border:0;border-radius:0;height:220px}.new-install-map .osm-map a{background:#020617d1;padding:8px 11px}.interactive-map{width:100%;display:grid}.interactive-map-surface{cursor:grab;touch-action:none;background:#0b1728;width:100%;height:262px;position:relative;overflow:hidden}.interactive-map-surface:active{cursor:grabbing}.interactive-map-pin{z-index:2;color:#ef4444;pointer-events:none;filter:drop-shadow(0 2px 3px #0000008c);position:absolute;transform:translate(-50%,-100%)}.interactive-map-attribution{z-index:3;color:#cbd5e1;pointer-events:none;background:#020617b3;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;bottom:6px;right:6px}.interactive-map-zoom{z-index:3;gap:4px;display:grid;position:absolute;top:8px;right:8px}.interactive-map-zoom button{border:1px solid var(--line);color:#fff;cursor:pointer;background:#020617d1;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.interactive-map-foot{color:var(--muted);background:#020617d1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.interactive-map-foot a{color:var(--brand);font-weight:900}.new-install-map-search{border:1px solid color-mix(in srgb, var(--brand) 50%, var(--line));background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:9px;padding:11px;font-size:13px;font-weight:900;display:flex}.new-install-map-search:disabled{opacity:.5;cursor:not-allowed}.new-install-map-search.pending{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b}.new-install-label-row{align-items:center;gap:6px;display:flex}.new-install-field-ok{color:#22c55e;flex:none;margin-left:auto}.new-install-field-pending{color:#f59e0b;text-transform:uppercase;letter-spacing:.02em;background:#f59e0b29;border-radius:999px;flex:none;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:900;display:inline-flex}.eq-step{flex-direction:column;gap:12px;display:flex}.eq-default-note{color:#34d399;background:#10b9811f;border:1px solid #10b98147;border-radius:12px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:12.5px;line-height:1.5;display:flex}.eq-default-note svg{flex:none;margin-top:1px}.eq-default-note b{color:#6ee7b7;font-weight:800}.eq-chips{flex-wrap:wrap;gap:6px;display:flex}.eq-chip{color:#cbd5e1;white-space:nowrap;background:#94a3b81f;border:1px solid #94a3b847;border-radius:999px;padding:4px 10px;font-size:11px}.eq-chip.on{color:#93c5fd;background:#2563eb2e;border-color:#2563eb6b;font-weight:700}.eq-plan-services{background:#a855f714;border:1px solid #a855f73d;border-radius:12px;flex-direction:column;gap:7px;padding:11px 13px;display:flex}.eq-plan-services-title{color:#c4b5fd;letter-spacing:.02em;font-size:11.5px;font-weight:800}.eq-svc-toggle{cursor:pointer;color:#cbd5e1;text-align:left;background:#94a3b81a;border:1px solid #94a3b842;border-radius:10px;align-items:center;gap:9px;padding:9px 12px;font-size:12.5px;font-weight:700;display:flex}.eq-svc-toggle em{color:#94a3b8;margin-left:auto;font-size:11px;font-style:normal;font-weight:500}.eq-svc-dot{background:#64748b;border-radius:999px;flex:none;width:9px;height:9px}.eq-svc-toggle.on{color:#6ee7b7;background:#10b98124;border-color:#10b98166}.eq-svc-toggle.on em{color:#34d399}.eq-svc-toggle.on .eq-svc-dot{background:#10b981;box-shadow:0 0 8px #10b981b3}.eq-adv-toggle{color:#e2e8f0;cursor:pointer;background:#94a3b814;border:1px solid #94a3b838;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:11px 13px;font-size:13px;display:flex}.eq-adv-toggle-l{align-items:center;gap:8px;display:inline-flex}.eq-adv-caret{transition:transform .18s}.eq-adv-toggle.open .eq-adv-caret{transform:rotate(180deg)}.eq-pending{color:#f59e0b;text-transform:uppercase;letter-spacing:.02em;background:#f59e0b29;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:900;display:inline-flex}.eq-pending.sm{margin-left:6px;padding:1px 6px;font-size:9px}.eq-adv-body{flex-direction:column;gap:12px;padding-top:2px;display:flex}.eq-adv-banner{color:#fbbf24;background:#f59e0b14;border:1px dashed #f59e0b57;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:11.5px;line-height:1.5;display:flex}.eq-adv-banner svg{flex:none;margin-top:1px}.eq-adv-banner b{color:#fcd34d;font-weight:800}.eq-sec{opacity:.9;border:1px solid #94a3b833;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.eq-sec-h{color:#e2e8f0;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.eq-field{flex-direction:column;gap:5px;display:flex}.eq-field>label{color:#94a3b8;align-items:center;font-size:11.5px;font-weight:600;display:flex}.eq-field small,.eq-sec>small{color:#64748b;font-size:10.5px}.eq-grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.eq-input{color:#cbd5e1;background:#0f172a66;border:1px solid #94a3b847;border-radius:8px;padding:8px 10px;font-size:12.5px}.eq-input.disabled{opacity:.6;cursor:not-allowed}.eq-modes{flex-wrap:wrap;gap:5px;display:flex}.eq-mode{color:#94a3b8;border:1px solid #94a3b842;border-radius:8px;align-items:center;gap:4px;padding:6px 11px;font-size:12px;display:inline-flex}.eq-mode.active{color:#93c5fd;background:#2563eb33;border-color:#2563eb73;font-weight:700}.eq-mode.pending{opacity:.55}.eq-ports{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.eq-port{color:#cbd5e1;background:#0f172a59;border:1px solid #94a3b83d;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;font-size:11px;display:flex}.eq-port b{align-items:center;gap:3px;font-size:11px;font-weight:700;display:inline-flex}.eq-port span{color:#64748b;font-size:10px}.eq-port.disabled{opacity:.55}@media (max-width:560px){.eq-ports{grid-template-columns:repeat(3,1fr)}.eq-grid2{grid-template-columns:1fr}}.new-install-dpi-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.new-install-dpi-head .new-install-field-ok{margin-left:0}.new-install-hint{color:var(--muted)!important;font-weight:700!important}.new-install-gps{background:#22c55e14;border:1px solid #22c55e52;border-radius:10px;flex-wrap:wrap;gap:16px;margin-top:-1px;padding:11px;font-size:12px;font-weight:900}.new-install-gps p{flex-basis:100%}.new-install-gps.status-capturing{background:#3b82f61a;border-color:#3b82f666;animation:1.6s ease-in-out infinite ni-gps-pulse}.new-install-gps.status-ready{background:#22c55e1f;border-color:#22c55e73}.new-install-gps.status-denied,.new-install-gps.status-unavailable{background:#f59e0b1a;border-color:#f59e0b73}@keyframes ni-gps-pulse{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 3px #3b82f62e}}.new-install-coords-collapse{grid-column:1/-1;gap:8px;display:grid}.new-install-coords-toggle{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:9px;align-self:start;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:800;display:inline-flex}.new-install-coords-toggle:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.new-install-coords-toggle .ni-chev{transition:transform .2s}.new-install-coords-toggle .ni-chev.open{transform:rotate(180deg)}.new-install-card-title.compact{align-items:center;margin-bottom:10px}.new-install-card-hint{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:800}.new-install-card-hint b{color:#ef4444}.new-install-card-actions{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.new-install-card-actions .new-install-card-hint{margin:0}.new-install-gps strong{color:#15803d}[data-theme=dark] .new-install-gps strong{color:#22c55e}.new-install-gps b,.new-install-recommended b,.new-install-nap-grid b{border-radius:10px;padding:7px 9px}.new-install-gps .excellent,.new-install-recommended .excellent,.new-install-nap-grid .excellent{color:#15803d;background:#22c55e21}.new-install-gps .good,.new-install-recommended .good,.new-install-nap-grid .good{color:#a16207;background:#facc152e}.new-install-gps .limited,.new-install-recommended .limited,.new-install-nap-grid .limited{color:#dc2626;background:#ef444424}[data-theme=dark] .new-install-gps .excellent,[data-theme=dark] .new-install-recommended .excellent,[data-theme=dark] .new-install-nap-grid .excellent{color:#22c55e}[data-theme=dark] .new-install-gps .good,[data-theme=dark] .new-install-recommended .good,[data-theme=dark] .new-install-nap-grid .good{color:#facc15}[data-theme=dark] .new-install-gps .limited,[data-theme=dark] .new-install-recommended .limited,[data-theme=dark] .new-install-nap-grid .limited{color:#fb7185}.new-install-priority-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.new-install-priority-grid button{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:3px 8px;padding:12px;display:grid}.new-install-priority-grid small{color:var(--muted);grid-column:2/3;font-size:11px;font-weight:800}.new-install-priority-grid span{font-size:13px;font-weight:900}.new-install-priority-grid .low svg,.new-install-priority-grid .low span{color:#22c55e}.new-install-priority-grid .medium svg,.new-install-priority-grid .medium span{color:#facc15}.new-install-priority-grid .high svg,.new-install-priority-grid .high span{color:#fb923c}.new-install-priority-grid .urgent svg,.new-install-priority-grid .urgent span{color:#ef4444}.new-install-priority-grid button.selected{background:color-mix(in srgb, currentColor 9%, var(--panel-soft));border-color:currentColor}.new-install-nap-grid{grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:12px;display:grid}.new-install-empty-naps{border:1px dashed color-mix(in srgb, var(--brand) 38%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel-soft));color:var(--muted);border-radius:12px;grid-column:1/-1;padding:16px;font-size:13px;font-weight:900}.new-install-nap-grid button{text-align:left;align-content:start;gap:12px;padding:16px;display:grid}.nap-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.nap-card-rank{min-width:0;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex:120px;font-size:10.5px;font-weight:900}.nap-card-rank.best{color:#22c55e}.new-install-nap-grid b.nap-card-score{white-space:nowrap;border-radius:10px;flex-shrink:0;place-items:center;min-width:54px;margin-left:0;padding:5px 11px;font-size:18px;line-height:1;display:inline-grid}.nap-card-score em{text-transform:uppercase;letter-spacing:.02em;font-size:8.5px;font-style:normal;font-weight:800}.nap-card-name{letter-spacing:.01em;font-size:18px;font-weight:900}.nap-card-ref{color:var(--muted);font-size:11.5px;font-weight:700;line-height:1.45}.nap-card-loc{color:var(--text);align-items:flex-start;gap:6px;margin:-4px 0 0;font-size:12px;font-weight:800;line-height:1.35;display:flex}.nap-card-loc svg{color:var(--brand);flex:none;margin-top:2px}.new-install-nap-grid button.selected{background:color-mix(in srgb, #22c55e 14%, var(--panel-soft));border-color:#22c55e;box-shadow:inset 0 0 0 2px #22c55e99,0 0 0 3px #22c55e3d}.new-install-nap-grid button.selected .nap-card-loc svg{color:#22c55e}.nap-card-metrics{gap:6px;display:grid}.nap-metric{border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 55%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.nap-metric-value{color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:900;line-height:1.1}.nap-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;order:-1;font-size:9.5px;font-weight:800}.nap-metric.ok{background:#22c55e14;border-color:#22c55e4d}.nap-metric.ok .nap-metric-value{color:#4ade80}.nap-metric.warn{background:#f59e0b14;border-color:#f59e0b4d}.nap-metric.warn .nap-metric-value{color:#fbbf24}.nap-metric.bad{background:#f8717114;border-color:#f871714d}.nap-metric.bad .nap-metric-value{color:#fca5a5}.nap-card-selected{background:color-mix(in srgb, var(--brand) 20%, transparent);width:fit-content;color:var(--brand);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:900;display:inline-flex}.new-install-summary{gap:12px;display:grid;position:sticky;top:88px}.new-install-recommended{background:#22c55e14;border:1px solid #22c55e47;border-radius:12px;gap:4px;padding:13px 78px 13px 14px;display:grid;position:relative}.new-install-recommended span{color:#22c55e;text-transform:uppercase;font-size:11px;font-weight:900}.new-install-recommended strong{color:#22c55e;font-size:20px}.new-install-recommended p{color:var(--muted);font-size:12px;font-weight:800}.new-install-recommended b{place-items:center;min-width:52px;font-size:23px;display:grid;position:absolute;top:16px;right:14px}.new-install-recommended small{font-size:10px}.new-install-summary-block{border:1px solid var(--line);background:var(--panel-soft);border-radius:12px;gap:9px;padding:12px;display:grid}.new-install-summary-block div{color:var(--muted);gap:9px;font-size:12px;font-weight:900}.new-install-summary-block p{gap:2px;margin:0;display:grid}.new-install-summary-block strong{color:var(--text);font-size:13px}.new-install-summary-block.compact{gap:6px;padding:10px 11px}.new-install-summary-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;display:grid}.new-install-summary-rows p{gap:1px;min-width:0;display:grid}.new-install-summary-rows small{color:var(--muted);text-transform:uppercase;letter-spacing:.2px;font-size:9.5px;font-weight:700}.new-install-summary-rows strong{white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:11px;line-height:1.2}.new-install-footer{border-radius:12px;justify-content:space-between;gap:14px;padding:11px;display:flex}.new-install-footer button{border:1px solid var(--line);background:var(--panel-soft);min-height:44px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:900;display:flex}.new-install-footer button:last-child{border-color:var(--brand);background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;min-width:240px}.new-install-notice{border-color:color-mix(in srgb, var(--brand) 35%, var(--line));color:var(--brand);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:900}.new-install-analysis-splash{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02061794;place-items:center;display:grid;position:fixed;inset:0}.new-install-analysis-splash>div{border:1px solid color-mix(in srgb, var(--brand) 42%, var(--line));background:radial-gradient(circle at top, color-mix(in srgb, var(--brand) 24%, transparent), transparent 52%), var(--panel);width:min(440px,100vw - 36px);box-shadow:var(--shadow);text-align:center;border-radius:18px;place-items:center;gap:10px;padding:26px;display:grid}.new-install-analysis-splash svg{color:var(--brand);animation:1s linear infinite smarterisp-spin}.new-install-analysis-splash strong{color:var(--text);font-size:16px}.new-install-analysis-splash span{color:var(--muted);font-size:13px;font-weight:800}.new-install-modal{z-index:100;background:#030712d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.new-install-modal>div{border:1px solid var(--line);background:var(--panel);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,96vw);height:min(720px,92dvh);display:grid;overflow:hidden}.new-install-modal header,.new-install-modal footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.new-install-modal footer{border-top:1px solid var(--line);border-bottom:0;justify-content:center}.new-install-modal img{place-self:center;max-width:80%;max-height:80%;transition:transform .2s}.new-install-modal button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-weight:900;display:flex}@media (min-width:1181px){.new-install-grid.ni-steps{grid-template-columns:minmax(0,1.55fr) minmax(300px,.92fr);gap:14px}.ni-step.ni-tone-a{grid-area:1/1}.ni-step.ni-tone-b{grid-area:2/1}.ni-step.ni-tone-c{grid-area:3/1}.ni-step.ni-tone-d{grid-area:4/1}.ni-step.ni-tone-f{grid-area:5/1}.ni-step.ni-tone-e{grid-area:1/2/6;position:sticky;top:12px}.ni-step-body{overflow:visible;opacity:1!important;max-height:none!important;padding:4px 15px 15px!important}.ni-step.open .ni-step-head,.ni-step-head{cursor:default;background:0 0}.ni-step-caret,.ni-step-next{display:none}}@media (max-width:1180px){.ni-step:not(.open) .ni-step-body{display:none}.ni-step.open .ni-step-body{opacity:1;max-height:none;display:grid;overflow:visible}.new-install-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}.new-install-center{grid-column:1/-1}.new-install-summary{grid-area:1/2/3/3}}@media (max-width:1380px){.new-install-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.new-install-center{grid-column:1/2}.new-install-summary{grid-area:1/2/3/3}.new-install-plan-grid,.new-install-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.new-install-grid,.new-install-form-grid,.new-install-form-grid.three,.new-install-dpi-grid,.new-install-priority-grid,.new-install-nap-grid{grid-template-columns:1fr}.new-install-page,.new-install-grid,.ni-step,.ni-step-body,.new-install-card{min-width:0;max-width:100%}.new-install-page{overflow-x:clip}.ni-step.open .ni-step-body{padding:4px 15px 16px}.new-install-form-grid .coordinates-input input{letter-spacing:-.2px;font-size:12.5px}.new-install-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.new-install-plan-grid button{gap:1px;min-height:0;padding:8px 10px}.new-install-plan-grid span{font-size:13px;line-height:1.15}.new-install-plan-grid small{font-size:11px;line-height:1.1}.new-install-top,.new-install-footer,.new-install-card-title,.new-install-tabs{grid-template-columns:1fr;display:grid}.new-install-steps{grid-template-columns:repeat(5,1fr);gap:4px;min-width:0;max-width:100%;padding:12px}.new-install-steps>button{flex-direction:column;justify-content:flex-start;gap:6px;min-width:0;padding:4px 2px}.new-install-steps>button:after{display:none}.new-install-steps>button strong{text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;font-size:10px;line-height:1.12}.ni-step-head{display:flex}.new-install-card input:not([type=checkbox]):not([type=radio]),.new-install-card select,.new-install-card textarea{border-radius:12px;min-height:50px;font-size:16px}.new-install-card textarea{min-height:88px}.new-install-footer button{border-radius:14px;min-height:52px;font-size:15px}.new-install-footer button:last-child{min-width:0}}@media (max-width:980px){.services-master-metrics,.services-master-grid,.services-master-form,.services-relations-grid,.customer-upgrade-form,.customer-flow-grid,.customer-tab-grid,.customer-service-card-grid{grid-template-columns:1fr}.customer-service-auth,.customer-service-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.services-master-detail{position:static}.services-master-table article{grid-template-columns:1fr}.services-master-hero,.customers-hero,.customers-hero-actions{grid-template-columns:1fr;display:grid}.customers-toolbar .customers-hero-actions{grid-template-columns:1fr 1fr}}@media (max-width:1120px){.ops-summary-grid,.ops-service-grid,.portal-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:640px){.noc-work-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-assign-row{grid-template-columns:minmax(0,1fr) auto}}@media (min-width:1040px){.noc-work-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.noc-order-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (max-width:820px){.ops-summary-grid,.ops-grid.two,.portal-customer-grid,.ops-ticket-create-grid,.ops-service-grid,.portal-ops-grid,.noc-order-grid,.nap-suggestion-grid,.network-master-grid,.field-order-meta{grid-template-columns:1fr}.ops-ticket-create-grid label.wide{grid-column:auto}.ops-hero,.ops-panel-heading,.install-wizard-header,.ops-ticket-top,.ops-payment-list article,.ops-finance-service-list article,.field-log-list article div{grid-template-columns:1fr;display:grid}.onu-discovery-list label{grid-template-columns:auto minmax(0,1fr)}}.tech-stat{border-left:3px solid var(--line)}.tech-stat.amber{border-left-color:#f59e0b}.tech-stat.amber strong{color:#b45309}.tech-stat.blue{border-left-color:#3b82f6}.tech-stat.blue strong{color:#2563eb}.tech-stat.red{border-left-color:#ef4444}.tech-stat.red strong{color:#dc2626}.tech-stat.green{border-left-color:#22c55e}.tech-stat.green strong{color:#15803d}[data-theme=dark] .tech-stat.amber strong{color:#fbbf24}[data-theme=dark] .tech-stat.blue strong{color:#60a5fa}[data-theme=dark] .tech-stat.red strong{color:#f87171}[data-theme=dark] .tech-stat.green strong{color:#4ade80}.ops-summary-grid button.tech-stat{border:1px solid var(--line);border-left:3px solid var(--line);background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--brand) 10%, transparent), transparent 34%), var(--panel);box-shadow:var(--shadow);font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:17px;transition:transform .13s,box-shadow .13s,border-color .13s;display:flex}.ops-summary-grid button.tech-stat:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));transform:translateY(-2px);box-shadow:0 8px 22px #0000001a}.ops-summary-grid button.tech-stat:active{transform:translateY(0)}.ops-panel-heading .eyebrow{align-items:center;gap:5px;display:inline-flex}.eyebrow-icon{opacity:.8;flex:none}.tech-order-card{border:1px solid var(--line);background:var(--panel-soft);border-left-width:5px;border-radius:14px;gap:12px;padding:15px;display:grid}.tech-order-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tech-order-ids{flex-wrap:wrap;gap:6px;display:flex}.tech-badge{letter-spacing:.02em;border-radius:7px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:900;display:inline-flex}.tech-badge.muted{color:var(--muted);background:#94a3b81f}.tech-badge.accent{color:#6d28d9;background:#8b5cf633}[data-theme=dark] .tech-badge.accent{color:#c4b5fd}.tech-pill,.tech-chip{border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:3px 10px;font-size:11px;font-weight:900;display:inline-flex}.tech-pill.blue,.tech-chip.blue{color:#2563eb;background:#3b82f626}.tech-pill.indigo,.tech-chip.indigo{color:#4f46e5;background:#6366f126}.tech-pill.amber,.tech-chip.amber{color:#b45309;background:#f59e0b2e}.tech-pill.orange,.tech-chip.orange{color:#c2410c;background:#fb923c2e}.tech-pill.green,.tech-chip.green{color:#15803d;background:#22c55e26}.tech-pill.red,.tech-chip.red{color:#dc2626;background:#ef444429}.tech-pill.muted,.tech-chip.muted{color:var(--muted);background:#94a3b81f}[data-theme=dark] .tech-pill.blue,[data-theme=dark] .tech-chip.blue{color:#60a5fa}[data-theme=dark] .tech-pill.indigo,[data-theme=dark] .tech-chip.indigo{color:#818cf8}[data-theme=dark] .tech-pill.amber,[data-theme=dark] .tech-chip.amber{color:#fbbf24}[data-theme=dark] .tech-pill.orange,[data-theme=dark] .tech-chip.orange{color:#fb923c}[data-theme=dark] .tech-pill.green,[data-theme=dark] .tech-chip.green{color:#4ade80}[data-theme=dark] .tech-pill.red,[data-theme=dark] .tech-chip.red{color:#f87171}.tech-chip.soft{border:1px solid var(--line);background:var(--panel);color:var(--text);font-weight:800}.tech-order-title h4{color:var(--text);background:color-mix(in srgb, var(--brand) 12%, transparent);box-shadow:inset 3px 0 0 var(--brand);border-radius:9px;margin:0;padding:5px 12px;font-size:18px;font-weight:900;display:inline-block}.tech-order-title p{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;display:flex}.tech-service-name{color:var(--muted);font-size:12.5px;font-weight:800}.tech-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tech-meta{border:1px solid var(--line);background:var(--panel);border-radius:9px;gap:4px;padding:8px 9px;display:grid}.tech-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:9.5px;font-weight:800}.tech-meta strong{font-size:12.5px;font-weight:900}.tech-locate{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 7%, var(--panel));border-radius:12px;gap:8px;padding:12px;display:grid}.tech-locate-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tech-locate-label{color:var(--brand);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.tech-locate-label.nap{color:#a78bfa}.tech-mini{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.tech-mini:hover{color:var(--text);border-color:color-mix(in srgb, var(--brand) 50%, var(--line))}.tech-address{font-size:14px;font-weight:900;line-height:1.4}.tech-coords{color:var(--muted);font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:700}.tech-map{border:1px solid var(--line);border-radius:10px;overflow:hidden}.tech-map .osm-map{min-height:0;margin:0}.tech-map .osm-map iframe{border:0;border-radius:0;height:170px}.tech-map .osm-map a{background:#020617d1;padding:7px 10px}.tech-locate-actions{flex-wrap:wrap;gap:8px;display:flex}.tech-nav{border:1px solid var(--line);background:var(--panel);min-width:150px;color:var(--text);cursor:pointer;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:12.5px;font-weight:900;text-decoration:none;display:inline-flex}.tech-nav:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line))}.tech-nav.primary{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;border-color:#0000}.tech-nav.active{background:color-mix(in srgb, #8b5cf6 22%, var(--panel));color:#c4b5fd;border-color:#8b5cf6}.tech-directions{border:1px solid color-mix(in srgb, #0ea5e9 50%, var(--line));background:color-mix(in srgb, #0ea5e9 12%, var(--panel));color:#0284c7;cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;align-items:center;gap:6px;width:auto;padding:7px 13px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}.tech-directions:hover{background:color-mix(in srgb, #0ea5e9 22%, var(--panel));border-color:#0ea5e9}[data-theme=dark] .tech-directions{color:#7dd3fc;background:#0ea5e929}@media (max-width:640px){.tech-locate-actions .tech-directions{flex:none;width:auto}}.tech-nap{border:1px solid color-mix(in srgb, #8b5cf6 30%, var(--line));background:color-mix(in srgb, #8b5cf6 8%, var(--panel));border-radius:12px;gap:8px;padding:12px;display:grid}.tech-nap-ref{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:12px;font-weight:700;line-height:1.45;display:flex}.tech-resources{flex-wrap:wrap;gap:6px;display:flex}.tech-service{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:8px;padding:12px;display:grid}.tech-service-head{align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.tech-service-head svg{color:var(--brand)}.tech-service-rows{gap:5px;display:grid}.tech-service-rows p{gap:10px;margin:0;font-size:12px;display:flex}.tech-service-rows small{width:92px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex:none;padding-top:2px;font-size:9.5px;font-weight:800}.tech-service-rows span{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:800}.tech-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tech-act{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:12.5px;font-weight:900;display:inline-flex}.tech-act:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line))}.tech-act.solve{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#0000;grid-column:1/-1}.tech-log-list{gap:12px;display:grid}.tech-log-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;gap:9px;padding:14px;display:grid}.tech-log-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tech-log-id{align-items:center;gap:8px;display:flex}.tech-log-id strong{font-size:14px;font-weight:900}.tech-log-sub{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:800;display:flex}.tech-log-sub i{opacity:.5;font-style:normal}.tech-timeline{border-left:2px solid var(--line);margin-left:5px;padding-left:14px;display:grid}.tech-timeline-empty{color:var(--muted);margin:0;padding:4px 0;font-size:12px;font-weight:700}.tech-timeline-item{padding:7px 0;position:relative}.tech-timeline-dot{background:var(--brand);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);border-radius:999px;position:absolute;top:11px;left:-21px}.tech-timeline-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.tech-timeline-meta strong{font-size:12.5px;font-weight:900}.tech-timeline-meta small{color:var(--muted);font-size:11px;font-weight:700}.tech-timeline-body p{margin:2px 0 0;font-size:12.5px;line-height:1.45}.tech-toast{z-index:60;border:1px solid color-mix(in srgb, var(--brand) 40%, var(--line));color:#fff;background:#020617eb;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:12.5px;font-weight:800;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.tech-edit-btn{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 12%, transparent);width:fit-content;color:var(--brand);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:900;display:inline-flex}.tech-edit-btn:hover{background:color-mix(in srgb, var(--brand) 22%, transparent)}.tech-edit-overlay{z-index:80;background:#0206178c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.tech-edit-modal{border:1px solid var(--line);background:var(--panel);border-radius:16px;width:min(560px,100%);max-height:90dvh;padding:18px;overflow:auto;box-shadow:0 24px 60px #00000059}.tech-edit-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tech-edit-head>div{color:var(--text);align-items:center;gap:8px;display:inline-flex}.tech-edit-head strong{font-size:16px;font-weight:900}.tech-edit-head button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:9px;padding:6px;display:inline-flex}.tech-edit-hint{color:var(--muted);margin:8px 0 14px;font-size:12px;font-weight:700}.tech-edit-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tech-edit-grid label{color:var(--muted);gap:5px;font-size:11px;font-weight:900;display:grid}.tech-edit-grid label.wide{grid-column:1/-1}.tech-edit-grid input,.tech-edit-grid select{border:1px solid var(--line);background:var(--panel-soft);min-height:40px;color:var(--text);border-radius:9px;outline:0;padding:0 11px;font-size:13px;font-weight:600}.tech-edit-grid input:focus,.tech-edit-grid select:focus{border-color:var(--brand)}.tech-edit-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.tech-edit-cancel,.tech-edit-save{cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:900;display:inline-flex}.tech-edit-cancel{border:1px solid var(--line);background:var(--panel-soft);color:var(--text)}.tech-edit-save{border:1px solid var(--brand);background:var(--brand);color:#fff}.tech-edit-save:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.tech-edit-grid{grid-template-columns:1fr}html,body{touch-action:manipulation;overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}.app-shell{min-height:100dvh}.tech-nav{min-width:0}.tech-actions,.install-wizard-actions.big{grid-template-columns:1fr}.ops-layout{gap:12px}.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tech-stat strong{font-size:22px}.tech-stat-next strong{font-size:14px}.tech-boards{grid-template-columns:1fr}.tech-assigned-row{grid-template-columns:1fr;align-items:stretch;gap:8px;padding:10px 12px;display:grid}.tech-iniciar{justify-content:center;width:100%}.tech-assigned-main{align-content:start;gap:2px;padding:0;display:grid}.tech-assigned-line2{flex-wrap:wrap;align-items:flex-start}.tech-assigned-tags{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.tech-assigned-tags>*{justify-content:center;width:100%}.tech-locate-actions{flex-direction:column}.tech-locate-actions .tech-nav{width:100%;min-width:0}.prov-levels,.prov-levels.three{grid-template-columns:repeat(2,minmax(0,1fr))}.install-wizard-box{padding:12px}.install-wizard-header strong{font-size:14px}.tech-release-composer textarea,.tech-noc-composer textarea{min-height:70px}.tech-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-service-rows{grid-template-columns:1fr}.tech-map{min-height:180px}.tech-order-card.expanded{padding:12px}.tech-order-head,.tech-locate-head,.tech-order-title p{flex-wrap:wrap}.tech-release-actions{flex-direction:column-reverse}.tech-release-actions .cancel,.tech-release-actions .confirm{justify-content:center;width:100%}.tech-bulk-bar{flex-direction:column;align-items:stretch;gap:8px}.tech-bulk-bar button{justify-content:center;width:100%}.tech-sort-bar{flex-wrap:wrap}.tech-resources{gap:6px}.tech-mini-phones{flex-wrap:wrap;gap:6px}.tech-mini-tags{flex-wrap:wrap}.onu-card-head{flex-wrap:wrap;gap:6px}.onu-discovery-list label.onu-row{flex-wrap:wrap}.onu-activate-button{justify-content:center;width:100%}.prov-summary-rows{grid-template-columns:1fr}.prov-summary-head{flex-wrap:wrap}.prov-step-body strong{font-size:12.5px}.prov-finalize-btn,.tech-revert-btn{width:100%}.tech-release-record{flex-direction:column;align-items:flex-start;gap:7px}}@media (max-width:430px){.prov-levels,.prov-levels.three{grid-template-columns:1fr}.tech-assigned-line1{flex-wrap:wrap}.install-wizard-actions.big .install-step{font-size:13px}.tech-meta{gap:2px;padding:7px 8px}.tech-meta span{font-size:10.5px}}.tech-meta.clock span{align-items:center;gap:4px;display:inline-flex}.tech-clock{font-size:13px;font-weight:900}.tech-clock.amber{color:#fbbf24}.tech-clock.red{color:#f87171}.tech-clock.muted{color:var(--muted)}.tech-crew{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tech-crew-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;font-size:11px;font-weight:900;display:inline-flex}.tech-crew-add{border:1px dashed color-mix(in srgb, var(--brand) 50%, var(--line));color:var(--brand);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:900;display:inline-flex}.tech-crew-add:hover{background:color-mix(in srgb, var(--brand) 12%, transparent)}.tech-support-picker{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;gap:7px;padding:10px;display:flex}.tech-support-picker button{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.tech-support-picker button:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line))}.tech-support-empty{color:var(--muted);font-size:12px;font-weight:700}.tech-noc{border:1px solid color-mix(in srgb, #f59e0b 32%, var(--line));background:color-mix(in srgb, #f59e0b 8%, var(--panel));border-radius:12px;gap:9px;padding:12px;display:grid}.tech-locate-label.noc{color:#fbbf24}.tech-noc-tags{flex-wrap:wrap;gap:7px;display:flex}.tech-noc-tag{color:#1a1206;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:900;display:inline-flex;box-shadow:0 2px 8px #f59e0b59}.tech-noc-note{color:var(--text);align-items:flex-start;gap:7px;margin:0;font-size:12.5px;font-weight:700;line-height:1.5;display:flex}.tech-noc-note svg{color:#fbbf24;flex:none;margin-top:2px}.tech-noc-empty{color:var(--muted);margin:0;font-size:12px;font-weight:700}.tech-noc-composer{border-top:1px solid color-mix(in srgb, #f59e0b 22%, var(--line));gap:8px;padding-top:9px;display:grid}.tech-noc-presets{flex-wrap:wrap;gap:6px;display:flex}.tech-noc-presets button{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:800}.tech-noc-presets button.on{color:#fbbf24;background:#f59e0b2e;border-color:#f59e0b}.tech-noc-composer textarea{border:1px solid var(--line);background:var(--panel);width:100%;min-height:56px;color:var(--text);font:inherit;resize:vertical;border-radius:9px;padding:9px 11px}.tech-noc-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:fit-content;padding:9px 16px;font-size:12.5px;font-weight:900;display:inline-flex}.install-wizard-actions.big{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;display:grid}.install-wizard-actions.big .install-step{color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:14px 12px;font-size:13px;font-weight:900;display:inline-flex}.install-wizard-actions.big .install-step.assign{background:linear-gradient(135deg,#3b82f6,#2563eb)}.install-wizard-actions.big .install-step.start{background:linear-gradient(135deg,#f59e0b,#d97706)}.install-wizard-actions.big .install-step.onu{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.install-wizard-actions.big .install-step:not(:disabled):hover{filter:brightness(1.08)}.install-wizard-actions.big .install-step:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.3)}.tech-act.assign{color:#2563eb;border-color:#3b82f6}.tech-act.start{color:#b45309;border-color:#f59e0b}[data-theme=dark] .tech-act.assign{color:#60a5fa}[data-theme=dark] .tech-act.start{color:#fbbf24}.tech-act.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand)}.tech-chip.crew{border:1px solid}.tech-role{letter-spacing:.03em;text-transform:uppercase;opacity:.78;border-left:1px solid;margin-left:5px;padding-left:6px;font-size:9px;font-style:normal;font-weight:800}.tech-dot{border-radius:999px;flex:none;width:9px;height:9px}.tech-dot.blue{background:#60a5fa}.tech-dot.indigo{background:#818cf8}.tech-dot.amber{background:#fbbf24}.tech-dot.orange{background:#fb923c}.tech-dot.green{background:#4ade80}.tech-dot.red{background:#f87171}.onu-discovery-note{color:var(--muted);align-items:center;gap:6px;margin:0 0 2px;font-size:11px;font-weight:800;display:flex}.onu-discovery-note.live{color:#4ade80}.onu-discovery-chain{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;padding:6px 9px;font-size:11px;font-weight:800;display:flex}.onu-discovery-chain span{opacity:.45}.onu-discovery-chain b{font-weight:900}.onu-discovery-list .onu-activate-button{color:#fff;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,#34d399,#0ea5e9);border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;padding:0 14px;font-size:14px;font-weight:900;display:inline-flex;box-shadow:0 6px 20px #0ea5e973}.onu-discovery-list .onu-activate-button:hover{filter:brightness(1.08)}.onu-discovery-list .onu-activate-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:none}.onu-discovery-list .onu-pick{border:1px solid var(--line);border-left:4px solid var(--olt,var(--line));background:var(--panel);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:11px 13px 11px 11px;display:flex}.onu-discovery-list .onu-pick.selected{border-color:#0ea5e9;border-left-color:var(--olt,#0ea5e9);background:color-mix(in srgb, #0ea5e9 10%, var(--panel));box-shadow:inset 0 0 0 1px #0ea5e9}.onu-discovery-note{justify-content:space-between}.onu-discovery-note>span{align-items:center;gap:6px;display:inline-flex}.onu-refresh-btn{color:var(--muted);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.onu-refresh-btn:hover{color:var(--text);border-color:var(--muted)}.onu-olt-legend{flex-wrap:wrap;gap:6px 10px;margin:0 0 8px;display:flex}.onu-olt-tag{color:var(--text);align-items:center;gap:5px;font-size:10.5px;font-weight:800;display:inline-flex}.onu-olt-tag i{background:var(--olt,var(--muted));border-radius:3px;flex:none;width:9px;height:9px}.onu-discovery-list .onu-pick input[type=radio]{accent-color:#0ea5e9;flex:none;width:18px;height:18px}.onu-pick-sn{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.onu-pick-sn b{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13.5px;font-weight:900;overflow:hidden}.onu-pick-sn i{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.onu-pick-brand{white-space:nowrap;color:var(--text);background:#94a3b82e;border:1px solid #94a3b859;border-radius:999px;flex:none;padding:3px 9px;font-size:11px;font-weight:850}.onu-pick-brand.cdata{color:#2563eb;background:#2563eb24;border-color:#2563eb66}.onu-pick-brand.zte{color:#dc2626;background:#dc262624;border-color:#dc262666}[data-theme=dark] .onu-pick-brand.cdata{color:#93c5fd}[data-theme=dark] .onu-pick-brand.zte{color:#fca5a5}.prov-progress-bar.indeterminate{width:40%;animation:1.1s ease-in-out infinite prov-indet}@keyframes prov-indet{0%{margin-left:0}50%{margin-left:60%}to{margin-left:0}}.onu-discovery-error{background:#f59e0b14;border:1px solid #f59e0b66;border-radius:10px;gap:8px;padding:14px;display:grid}.onu-discovery-error strong{color:#fbbf24;align-items:center;gap:7px;font-size:13px;font-weight:900;display:flex}.onu-discovery-error p{color:var(--text);margin:0;font-size:12.5px;font-weight:600;line-height:1.5}.onu-discovery-error button{border:1px solid var(--line);background:var(--panel);width:fit-content;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 13px;font-size:12px;font-weight:900;display:inline-flex}.onu-discovery-error button:hover{border-color:color-mix(in srgb, var(--brand) 55%, var(--line))}.onu-temp-button{border:1px dashed color-mix(in srgb, #38bdf8 55%, var(--line));color:#7dd3fc;cursor:pointer;background:#38bdf81a;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;font-size:12.5px;font-weight:900;display:inline-flex}.onu-temp-button:hover{background:#38bdf82e}.onu-levels{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:9px;padding:12px;display:grid}.onu-levels-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.onu-levels-title{align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.onu-levels-refresh{color:var(--muted);align-items:center;gap:5px;font-size:10.5px;font-weight:800;display:inline-flex}.onu-levels-gauge{text-align:center;border:1px solid var(--line);border-radius:11px;justify-items:center;gap:2px;padding:13px;display:grid}.onu-levels-gauge strong{font-size:26px;font-weight:900;line-height:1}.onu-levels-gauge em{text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-style:normal;font-weight:900}.onu-levels-gauge small{color:var(--muted);font-size:11px;font-weight:700}.onu-levels-gauge.green{background:#22c55e14;border-color:#22c55e66}.onu-levels-gauge.green strong,.onu-levels-gauge.green em{color:#4ade80}.onu-levels-gauge.amber{background:#facc1514;border-color:#facc1566}.onu-levels-gauge.amber strong,.onu-levels-gauge.amber em{color:#facc15}.onu-levels-gauge.orange{background:#fb923c14;border-color:#fb923c66}.onu-levels-gauge.orange strong,.onu-levels-gauge.orange em{color:#fb923c}.onu-levels-gauge.red{background:#ef444414;border-color:#ef444473}.onu-levels-gauge.red strong,.onu-levels-gauge.red em{color:#f87171}.onu-levels-gauge.muted strong,.onu-levels-gauge.muted em{color:var(--muted)}.onu-levels-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.onu-levels-grid>div{text-align:center;border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;justify-items:center;gap:2px;padding:7px 6px;display:grid}.onu-levels-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:9px;font-weight:800}.onu-levels-grid b{font-size:12px;font-weight:900}.onu-temp-cancel{color:#fca5a5;cursor:pointer;background:#ef444412;border:1px solid #ef444459;border-radius:9px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px;font-size:11.5px;font-weight:900;display:inline-flex}.onu-temp-cancel:hover{background:#ef444421}.onu-search{gap:7px;padding:6px 2px;display:grid}.onu-search-label{color:var(--brand);align-items:center;gap:7px;margin:0;font-size:12.5px;font-weight:900;display:flex}.onu-search-label b{margin-left:auto}.onu-search small{color:var(--muted);font-size:11px;font-weight:700}.onu-live-refresh{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:10px;font-style:normal;font-weight:800;display:inline-flex}.onu-discovery-list label.onu-card{grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.onu-card-head{align-items:center;gap:10px;display:flex}.onu-card-head .onu-sn{flex:1;min-width:0}.onu-card-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.onu-metric{text-align:center;border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;justify-items:center;gap:2px;padding:7px 5px;display:grid}.onu-metric span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:8.5px;font-weight:800}.onu-metric b{align-items:baseline;gap:2px;font-size:13px;font-weight:900;display:inline-flex}.onu-metric b em{color:var(--muted);font-size:8px;font-style:normal;font-weight:700}.onu-metric i{text-transform:uppercase;color:var(--muted);font-size:8px;font-style:normal;font-weight:800}.onu-metric.quality.green{background:#22c55e14;border-color:#22c55e66}.onu-metric.quality.green b,.onu-metric.quality.green i{color:#4ade80}.onu-metric.quality.amber{background:#facc1514;border-color:#facc1566}.onu-metric.quality.amber b,.onu-metric.quality.amber i{color:#facc15}.onu-metric.quality.orange{background:#fb923c14;border-color:#fb923c66}.onu-metric.quality.orange b,.onu-metric.quality.orange i{color:#fb923c}.onu-metric.quality.red{background:#ef444414;border-color:#ef444466}.onu-metric.quality.red b,.onu-metric.quality.red i{color:#f87171}.onu-card-levels.three{grid-template-columns:repeat(3,minmax(0,1fr))}.onu-card-levels.four{grid-template-columns:repeat(4,minmax(0,1fr))}.onu-metric.atten.green{background:#22c55e14;border-color:#22c55e66}.onu-metric.atten.green b,.onu-metric.atten.green i{color:#4ade80}.onu-metric.atten.amber{background:#facc1514;border-color:#facc1566}.onu-metric.atten.amber b,.onu-metric.atten.amber i{color:#facc15}.onu-metric.atten.red{background:#ef444414;border-color:#ef444466}.onu-metric.atten.red b,.onu-metric.atten.red i{color:#f87171}.onu-ai{border:1px solid var(--line);background:color-mix(in srgb, var(--brand) 6%, var(--panel-soft));border-left-width:3px;border-radius:9px;gap:2px;padding:9px 11px;display:grid}.onu-ai-head{letter-spacing:.02em;align-items:center;gap:6px;font-size:11px;font-weight:900;display:inline-flex}.onu-ai p{color:var(--text);margin:0;font-size:12px;font-weight:700;line-height:1.4}.onu-ai em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.onu-ai.green{border-left-color:#22c55e}.onu-ai.green .onu-ai-head{color:#4ade80}.onu-ai.amber{border-left-color:#facc15}.onu-ai.amber .onu-ai-head{color:#facc15}.onu-ai.orange{border-left-color:#fb923c}.onu-ai.orange .onu-ai-head{color:#fb923c}.onu-ai.red{border-left-color:#ef4444}.onu-ai.red .onu-ai-head{color:#f87171}.onu-ai.muted{border-left-color:var(--line)}.onu-ai.muted .onu-ai-head{color:var(--muted)}@media (max-width:760px){.onu-card-levels,.onu-card-levels.three{grid-template-columns:repeat(3,minmax(0,1fr))}.onu-card-levels.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.prov-flow{gap:10px;display:grid}.prov-progress{background:var(--panel);border:1px solid var(--line);border-radius:999px;height:7px;overflow:hidden}.prov-progress-bar{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;transition:width .6s}.prov-progress-bar.fail{background:linear-gradient(90deg,#ef4444,#b91c1c)}.prov-gps{border:1px solid color-mix(in srgb, var(--brand) 30%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel-soft));color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:800;display:flex}.prov-gps svg{color:var(--brand);flex:none}.prov-gps.ok{background:#0596691a;border-color:#05966973}.prov-gps.ok svg{color:#059669}.prov-steps{gap:6px;display:grid}.prov-step{border:1px solid var(--line);background:var(--panel);border-radius:9px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;transition:border-color .2s,background .2s;display:grid}.prov-step.running{border-color:color-mix(in srgb, var(--brand) 50%, var(--line));background:color-mix(in srgb, var(--brand) 8%, var(--panel))}.prov-step.ok{background:#22c55e12;border-color:#16a34a80}.prov-step.warn{background:#f59e0b1f;border-color:#d977068c}.prov-step.fail{background:#ef444417;border-color:#dc26268c}.prov-step-icon{place-items:center;display:grid}.prov-step.ok .prov-step-icon{color:#16a34a}.prov-step.warn .prov-step-icon{color:#d97706}.prov-step.fail .prov-step-icon{color:#dc2626}.prov-step.running .prov-step-icon{color:var(--brand)}.prov-step.ok .prov-step-body strong{color:#15803d}.prov-step.ok .prov-step-body small{color:#16a34a;font-weight:800}.prov-step.warn .prov-step-body strong{color:#92400e}.prov-step.warn .prov-step-body small{color:#b45309;font-weight:800}.prov-step.fail .prov-step-body strong{color:#991b1b}.prov-step.fail .prov-step-body small{color:#dc2626;font-weight:800}.prov-step-tag.warn{color:#b45309}[data-theme=dark] .prov-step.ok .prov-step-body strong{color:#86efac}[data-theme=dark] .prov-step.ok .prov-step-body small{color:#4ade80}[data-theme=dark] .prov-step.warn .prov-step-body strong{color:#fcd34d}[data-theme=dark] .prov-step.warn .prov-step-body small{color:#fbbf24}[data-theme=dark] .prov-step.fail .prov-step-body strong{color:#fca5a5}[data-theme=dark] .prov-step.fail .prov-step-body small{color:#f87171}[data-theme=dark] .prov-step.ok .prov-step-icon{color:#4ade80}[data-theme=dark] .prov-step.warn .prov-step-icon{color:#fbbf24}[data-theme=dark] .prov-step.fail .prov-step-icon{color:#f87171}[data-theme=dark] .prov-step-tag.warn{color:#fbbf24}.prov-quality-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;margin-left:auto;padding:2px 9px;font-size:10px;font-weight:900}.prov-quality-badge.green{color:#15803d;background:#22c55e2e}.prov-quality-badge.amber{color:#92400e;background:#f59e0b38}.prov-quality-badge.orange{color:#c2410c;background:#fb923c38}.prov-quality-badge.red{color:#b91c1c;background:#ef44442e}.prov-quality-badge.muted{color:var(--muted);background:#94a3b824}[data-theme=dark] .prov-quality-badge.green{color:#4ade80}[data-theme=dark] .prov-quality-badge.amber{color:#fbbf24}[data-theme=dark] .prov-quality-badge.orange{color:#fb923c}[data-theme=dark] .prov-quality-badge.red{color:#f87171}.prov-levels.two{grid-template-columns:repeat(2,minmax(0,1fr))}.prov-levels.three{grid-template-columns:repeat(3,minmax(0,1fr))}.prov-level.orange strong{color:#fb923c}.prov-live-levels{background:#0ea5e914;border:1px solid #0ea5e966;border-radius:11px;gap:9px;margin-bottom:10px;padding:12px;display:grid}.prov-live-levels.green{background:#22c55e14;border-color:#22c55e66}.prov-live-levels.amber{background:#facc1514;border-color:#facc1566}.prov-live-levels.orange{background:#fb923c14;border-color:#fb923c66}.prov-live-levels.red{background:#ef444417;border-color:#ef444473}.prov-live-levels.muted{border-color:var(--line);background:var(--panel)}.prov-live-head{color:#38bdf8;align-items:center;gap:7px;font-size:12px;font-weight:850;display:flex}.prov-live-head i{color:var(--muted);align-items:center;gap:4px;margin-left:auto;font-size:10.5px;font-style:normal;font-weight:800;display:inline-flex}.prov-live-quality{color:var(--muted);font-size:11.5px;font-weight:700}.opt-val{gap:12px;min-width:0;max-width:720px;margin:0 auto;padding:4px 2px 24px;display:grid}.opt-val>*{min-width:0}.opt-val-search{z-index:3;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:11px 13px;display:flex;position:sticky;top:6px;box-shadow:0 4px 14px #0206170f}.opt-val-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px;font-weight:700}.opt-val-search button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.opt-val-empty{text-align:center;color:var(--muted);padding:22px 8px;font-size:13px;font-weight:700}.opt-val-list{gap:10px;display:grid}.opt-sweepbar{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 46px 9px 12px;display:flex;position:relative}.opt-fleet{cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-family:inherit;font-size:11.5px;font-weight:850;transition:transform .12s,border-color .12s,box-shadow .12s;display:inline-flex}.opt-fleet:hover{transform:translateY(-1px)}.opt-fleet.active{border-color:currentColor;transform:translateY(-1px);box-shadow:0 2px 8px #0206171f}.opt-fleet.clear{color:var(--muted);border:1px dashed var(--line);background:#94a3b824}.opt-fleet i{border-radius:999px;width:7px;height:7px}.opt-fleet.ok{color:#15803d;background:#22c55e1f}.opt-fleet.ok i{background:#22c55e;animation:2.2s ease-in-out infinite live-pulse}.opt-fleet.low{color:#c2410c;background:#fb923c24}.opt-fleet.low i{background:#fb923c}.opt-fleet.off{color:var(--muted);background:#94a3b829}.opt-fleet.off i{background:#94a3b8}.opt-fleet.total{background:color-mix(in srgb, var(--brand,#7c5cff) 14%, transparent);color:var(--brand,#7c5cff);border-color:color-mix(in srgb, var(--brand,#7c5cff) 30%, transparent)}.opt-fleet.total b{font-weight:900}.opt-fleet.total svg{opacity:.85}[data-theme=dark] .opt-fleet.ok{color:#86efac}[data-theme=dark] .opt-fleet.low{color:#fdba74}.opt-sweep-age{color:var(--muted);text-align:left;flex-basis:100%;order:99;margin:2px 0 0;font-size:10.5px;font-style:normal;font-weight:700}.opt-sweep-toggle{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:850;display:inline-flex}.opt-sweep-toggle.on{color:#c2410c;background:#fb923c1f;border-color:#fb923c8c}[data-theme=dark] .opt-sweep-toggle.on{color:#fdba74}.opt-sweep-refresh{color:#0284c7;cursor:pointer;background:#0ea5e91a;border:1px solid #0ea5e966;border-radius:999px;align-items:center;padding:6px 9px;display:inline-flex;position:absolute;top:9px;right:9px}.opt-sweep-refresh:disabled{opacity:.5;cursor:wait}[data-theme=dark] .opt-sweep-refresh{color:#7dd3fc}.opt-sig{border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 9px;font-family:ui-monospace,monospace;font-size:11px;font-weight:900;display:inline-flex}.opt-sig i{background:currentColor;border-radius:999px;width:7px;height:7px}.opt-sig.green{color:#15803d;background:#22c55e21}.opt-sig.amber{color:#b45309;background:#f59e0b26}.opt-sig.orange{color:#c2410c;background:#fb923c29}.opt-sig.red{color:#b91c1c;background:#ef444424}.opt-sig.muted{color:var(--muted);background:#94a3b824}.opt-sig.off{color:#475569;background:#64748b38;border:1px solid #64748b73;font-family:inherit;font-weight:850}[data-theme=dark] .opt-sig.off{color:#cbd5e1;background:#64748b4d;border-color:#94a3b866}.opt-mrow.onu.offline{filter:grayscale();opacity:.5}.opt-levels-agg.offline{filter:grayscale();opacity:.58}.opt-heal-note.paused{color:var(--muted);opacity:.82;font-style:italic}[data-theme=dark] .opt-sig.green{color:#86efac}[data-theme=dark] .opt-sig.amber{color:#fbbf24}[data-theme=dark] .opt-sig.orange{color:#fdba74}[data-theme=dark] .opt-sig.red{color:#fca5a5}.opt-card{border:1px solid var(--line);background:var(--panel);border-left-width:4px;border-radius:13px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.opt-card.open{border-color:color-mix(in srgb, #0ea5e9 45%, var(--line));border-left-color:#0ea5e9;scroll-margin-top:74px;box-shadow:0 6px 20px #02061714}.opt-card-close{z-index:5;background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;color:var(--muted);letter-spacing:.02em;cursor:pointer;border:none;border-bottom:1px dashed #94a3b847;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:800;display:flex;position:sticky;top:0}.opt-card-close:hover{color:var(--text);background:#94a3b81f}.opt-card-close svg:first-child{opacity:.7}.opt-card.tone-green{background:linear-gradient(90deg, #22c55e0d, var(--panel) 30%);border-left-color:#22c55e}.opt-card.tone-amber{background:linear-gradient(90deg, #f59e0b12, var(--panel) 30%);border-left-color:#f59e0b}.opt-card.tone-orange{background:linear-gradient(90deg, #fb923c14, var(--panel) 30%);border-left-color:#fb923c}.opt-card.tone-red{background:linear-gradient(90deg, #ef444412, var(--panel) 30%);border-left-color:#ef4444}.opt-card.tone-off{background:linear-gradient(90deg, #94a3b817, var(--panel) 30%);border-left-color:#94a3b8}.opt-card.tone-none{border-left-color:var(--line)}.opt-card.is-fail{border-left-width:6px}.opt-card.is-fail.tone-red{background:linear-gradient(90deg, #ef444429, var(--panel) 42%);box-shadow:inset 3px 0 #ef444480,0 0 0 1px #ef444438}.opt-card.is-fail.tone-amber{background:linear-gradient(90deg, #f59e0b29, var(--panel) 42%);box-shadow:inset 3px 0 #f59e0b80,0 0 0 1px #f59e0b38}.opt-card.is-fail.tone-off{background:linear-gradient(90deg, #94a3b82e, var(--panel) 42%);box-shadow:inset 3px 0 #94a3b880}.opt-card.is-fail:not(.open) .opt-sig{animation:1.8s ease-in-out infinite optFailPulse}@keyframes optFailPulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.opt-card.is-fail:not(.open) .opt-sig{animation:none}}.opt-oltpon{min-width:0;max-width:100%;color:var(--ponc,#8aa0c0);background:color-mix(in srgb, var(--ponc,#8aa0c0) 15%, transparent);border:1px solid color-mix(in srgb, var(--ponc,#8aa0c0) 26%, transparent);border-radius:7px;justify-self:start;align-items:center;gap:6px;padding:2px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.opt-oltpon svg{opacity:.9;flex:none}.opt-oltpon b{opacity:.8;letter-spacing:.02em;font-weight:800}.opt-oltpon-olt{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.opt-oltpon-pon{white-space:nowrap;flex:none}.opt-idline{font-feature-settings:"zero" 1, "ss01" 1;font-variant-ligatures:none;letter-spacing:.06em;max-width:100%;color:var(--muted);flex-wrap:wrap;justify-self:start;align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Cascadia Code,Roboto Mono,Menlo,monospace;font-size:10.5px;font-weight:500;display:inline-flex}.opt-idline em{opacity:.4;margin:0 1px;font-style:normal}.opt-idsn{color:var(--text);font-weight:600}.opt-uptime{color:#15803d;white-space:nowrap;background:#22c55e1f;border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10px;font-weight:800;display:inline-flex}.opt-uptime i{opacity:.85;background:currentColor;border-radius:999px;width:6px;height:6px}[data-theme=dark] .opt-uptime{color:#86efac;background:#22c55e29}.opt-card-metrics{flex-direction:column;flex:none;align-items:flex-end;gap:5px;max-width:42%;display:flex}.opt-mrow{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px 6px;display:flex}.opt-mrow.net{min-height:24px}.opt-issue{border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.opt-issue.power{color:#b45309;background:#f59e0b2e;animation:1.6s ease-in-out infinite live-pulse}.opt-issue.los{color:#b91c1c;background:#ef444429;animation:1.6s ease-in-out infinite live-pulse}.opt-issue.off{color:var(--muted);background:#94a3b829}.opt-issue.low{color:#c2410c;background:#fb923c29}[data-theme=dark] .opt-issue.power{color:#fbbf24}[data-theme=dark] .opt-issue.los{color:#f87171}[data-theme=dark] .opt-issue.low{color:#fdba74}.opt-fleet.pwr{color:#92400e;background:#f59e0b29}.opt-fleet.fib{color:#b91c1c;background:#ef444421}[data-theme=dark] .opt-fleet.pwr{color:#fbbf24}[data-theme=dark] .opt-fleet.fib{color:#fca5a5}.opt-net{border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.opt-net.on{color:#16a34a;background:#22c55e24;animation:2.8s ease-in-out infinite opt-net-pulse}.opt-net.down{color:#fff;background:#dc2626;animation:1.8s ease-in-out infinite opt-net-alert;box-shadow:0 0 0 1px #ef44448c}.opt-net.na{color:var(--muted);opacity:.85;background:#94a3b81a}@keyframes opt-net-alert{0%,to{box-shadow:0 0 0 1px #ef44448c}50%{box-shadow:0 0 0 3px #ef444447}}@media (prefers-reduced-motion:reduce){.opt-net.down{animation:none}}@keyframes opt-net-pulse{0%,to{opacity:1}50%{opacity:.62}}[data-theme=dark] .opt-net.on{color:#4ade80}[data-theme=dark] .opt-net.down{color:#fff;background:#ef4444}.opt-net.link{cursor:pointer;gap:5px;width:auto;height:auto;padding:3px 9px}.opt-net.link b{text-underline-offset:2px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:850;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.opt-net.link:hover{filter:brightness(1.08);text-decoration-color:currentColor}.opt-smart{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:850;display:inline-flex}.opt-smart.ok{color:#15803d;background:#22c55e1a;border-color:#22c55e59}.opt-smart.warn{color:#b45309;background:#f59e0b1f;border-color:#f59e0b66}[data-theme=dark] .opt-smart.ok{color:#86efac}[data-theme=dark] .opt-smart.warn{color:#fbbf24}.opt-ip-link{color:inherit;text-underline-offset:2px;font-weight:850;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.opt-ip-link:hover{text-decoration-style:solid}.opt-catv-cell{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.opt-scan-progress{background:#94a3b82e;border-radius:999px;height:5px;margin-top:7px;overflow:hidden}.opt-scan-progress>span{background:linear-gradient(90deg,#22c55e,#38bdf8);border-radius:999px;height:100%;transition:width .5s;display:block}.opt-scan-progress>span.live{background:linear-gradient(90deg,#38bdf8,#7c5cff,#38bdf8) 0 0/200% 100%;animation:1.4s linear infinite scan-flow}@keyframes scan-flow{0%{background-position:0 0}to{background-position:200% 0}}.opt-mrow.onu{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:3px;display:flex}.opt-onu-quick{color:var(--muted);background:#7c5cff14;border:1px solid #7c5cff38;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:750;display:inline-flex}.opt-onu-quick.proto{background:0 0;border:none;gap:4px;padding:0}.opt-onu-quick.proto em{border-radius:6px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:850}.opt-onu-quick.proto em.on{color:#15803d;background:#22c55e26;border:1px solid #22c55e66}.opt-onu-quick.proto em.off{color:var(--muted);border:1px solid var(--line);opacity:.5;background:#94a3b81f;text-decoration:line-through}[data-theme=dark] .opt-onu-quick.proto em.on{color:#86efac}.opt-onu-stale{background:#f59e0b;border-radius:999px;align-self:center;width:7px;height:7px;box-shadow:0 0 0 3px #f59e0b2e}.opt-onu-http{background:#7c5cff0f;border:1px solid #7c5cff4d;border-radius:10px;margin-top:8px;padding:8px 10px}.opt-onu-http.loading{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.opt-tr069{letter-spacing:.02em;color:var(--violet,#7c5cff);opacity:.75;white-space:nowrap;margin-left:5px;font-size:9.5px;font-style:normal;font-weight:700}.opt-onu-http.nolink{color:var(--muted);background:0 0;border-style:dashed;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.45;display:flex}.opt-onu-http.nolink svg{opacity:.7;flex:none;margin-top:1px}.opt-onu-http.nolink b{color:var(--violet,#7c5cff);font-weight:750}.opt-onu-http-head{letter-spacing:.03em;text-transform:uppercase;color:#7c5cff;align-items:center;gap:5px;margin-bottom:6px;font-size:10.5px;font-weight:800;display:flex}.opt-onu-http-head em{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}.opt-onu-head-right{align-items:center;gap:7px;margin-left:auto;display:inline-flex}.opt-onu-secs{text-align:right;min-width:30px;color:var(--violet,#7c5cff);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;font-size:12px;font-style:normal;font-weight:800}.opt-onu-refresh{width:26px;height:26px;color:var(--violet,#7c5cff);cursor:pointer;background:#7c5cff24;border:1px solid #7c5cff80;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,transform .1s;display:inline-flex}.opt-onu-refresh:hover:not(:disabled){background:#7c5cff3d}.opt-onu-refresh:active:not(:disabled){transform:scale(.92)}.opt-onu-refresh:disabled{opacity:.5;cursor:default}[data-theme=dark] .opt-onu-refresh{color:#b3a1ff;background:#7c5cff33;border-color:#7c5cff99}[data-theme=dark] .opt-onu-http-head{color:#b3a1ff}.opt-onu-http-grid{flex-wrap:wrap;gap:6px 12px;font-size:12px;font-weight:700;display:flex}.opt-onu-http-grid span{align-items:center;gap:4px;display:inline-flex}.opt-onu-http-catv{align-items:center;gap:7px;margin-top:7px;font-size:11px;font-weight:800;display:flex}.opt-nueva{letter-spacing:.04em;color:#7c3aed;vertical-align:middle;background:#7c5cff24;border:1px solid #7c5cff66;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;font-size:9.5px;font-weight:850;display:inline-flex}[data-theme=dark] .opt-nueva{color:#c4b5fd}.opt-events{border:1px solid var(--line);background:#94a3b80a;border-radius:9px;margin-top:8px;overflow:hidden}.opt-events-head{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;display:flex}.opt-events-chev{color:var(--muted);flex:none;transition:transform .18s}.opt-events.open .opt-events-chev{transform:rotate(180deg)}.opt-events-title{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.opt-events-sum{margin-left:auto;font-size:11px;font-style:normal;font-weight:700}.opt-events-sum.ok{color:#16a34a}.opt-events-sum.red{color:#dc2626}.opt-events-sum.amber{color:#b45309}.opt-events-sum.off{color:var(--muted)}[data-theme=dark] .opt-events-sum.ok{color:#4ade80}[data-theme=dark] .opt-events-sum.red{color:#f87171}[data-theme=dark] .opt-events-sum.amber{color:#fbbf24}.opt-events-body{border-top:1px dashed var(--line);padding:4px 10px 8px}.opt-onu-fails-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:800}.opt-onu-fail-row{border-top:1px dashed var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:3px 0;font-size:11.5px;display:grid}.opt-onu-fail-row:first-of-type{border-top:none}.opt-fail-cause{align-items:center;gap:5px;font-weight:750;display:inline-flex}.opt-fail-cause i{background:currentColor;border-radius:999px;flex:none;width:7px;height:7px}.opt-fail-cause.red{color:#dc2626}.opt-fail-cause.amber{color:#b45309}.opt-fail-cause.off{color:var(--muted)}[data-theme=dark] .opt-fail-cause.red{color:#f87171}[data-theme=dark] .opt-fail-cause.amber{color:#fbbf24}.opt-fail-when{color:var(--muted);font-variant-numeric:tabular-nums}.opt-fail-dur{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:46px}.opt-fail-dur b.active{color:#dc2626;font-weight:800}.opt-action-row{border-top:1px dashed var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:3px 0;font-size:11.5px;display:grid}.opt-action-row:first-of-type{border-top:none}.opt-action-name{align-items:center;gap:5px;font-weight:750;display:inline-flex}.opt-action-name i{background:currentColor;border-radius:999px;flex:none;width:7px;height:7px}.opt-action-name.green{color:#16a34a}.opt-action-name.amber{color:#b45309}.opt-action-name.red{color:#dc2626}.opt-action-name.blue{color:#0ea5e9}[data-theme=dark] .opt-action-name.green{color:#4ade80}[data-theme=dark] .opt-action-name.amber{color:#fbbf24}[data-theme=dark] .opt-action-name.red{color:#f87171}.opt-action-who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.opt-action-when{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:640px){.opt-action-row{grid-template-columns:1fr auto;row-gap:1px}.opt-action-row .opt-action-name{grid-column:1/-1}.opt-action-row .opt-action-who{grid-column:1;font-size:10.5px}.opt-action-row .opt-action-when{grid-column:2}}.opt-onu-fail-empty{color:#16a34a;margin-top:6px;font-size:11.5px}[data-theme=dark] .opt-onu-fail-empty{color:#4ade80}@media (max-width:640px){.opt-mrow.onu{justify-content:flex-start}.opt-onu-quick{padding:2px 7px;font-size:10.5px}.opt-events-sum{order:3;width:100%;margin-left:0}.opt-onu-fail-row{grid-template-columns:1fr auto;row-gap:1px}.opt-onu-fail-row .opt-fail-cause{grid-column:1/-1}.opt-onu-fail-row .opt-fail-when{grid-column:1}.opt-onu-fail-row .opt-fail-dur{grid-column:2}.opt-live-row{gap:6px}.opt-live-last{width:100%}.opt-traffic-max,.opt-onu-http-grid{font-size:11px}.opt-onu-http-devs span{max-width:130px}}.opt-onu-http-devs{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.opt-onu-http-devs span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#94a3b829;border-radius:999px;align-items:center;gap:3px;max-width:160px;padding:2px 7px;font-size:10.5px;display:inline-flex;overflow:hidden}.opt-catv-ro{border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:850;display:inline-flex}.opt-catv-ro i{background:currentColor;border-radius:999px;width:7px;height:7px}.opt-catv-ro.on{color:#15803d;background:#22c55e1f}.opt-catv-ro.off{color:#b91c1c;background:#ef44441f}[data-theme=dark] .opt-catv-ro.off{color:#fca5a5}.opt-catv-locked{color:var(--muted);font-size:10px;font-style:normal;font-weight:700}.opt-onu-http-ip{gap:6px;margin-top:7px;display:flex}.opt-ipproto{letter-spacing:.03em;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:850}.opt-ipproto.on{color:#15803d;background:#22c55e26;border:1px solid #22c55e66}.opt-ipproto.off{color:var(--muted);border:1px solid var(--line);opacity:.55;background:#94a3b81f;text-decoration:line-through}[data-theme=dark] .opt-ipproto.on{color:#86efac}.opt-onu-http-live{margin-top:8px}.opt-live-btn{color:#2563eb;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f666;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:750;display:inline-flex}.opt-live-btn.on{color:#dc2626;background:#ef44441a;border-color:#ef444480}[data-theme=dark] .opt-live-btn{color:#93c5fd}[data-theme=dark] .opt-live-btn.on{color:#fca5a5}.opt-traffic{margin-top:8px}.opt-traffic-legend{align-items:center;gap:12px;margin-bottom:3px;font-size:11px;font-weight:800;display:flex}.opt-traffic-legend .down{color:#16a34a}.opt-traffic-legend .up{color:#2563eb}.opt-traffic-legend .live-dot{color:#dc2626;margin-left:auto;font-size:10px;font-style:normal}.opt-traffic-svg{border:1px solid var(--line);background:#94a3b80d;border-radius:8px;width:100%;height:70px;display:block}.opt-live-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.opt-live-last{color:var(--muted);font-size:11px}.opt-live-last b{font-weight:800}.opt-live-last b.down,.opt-traffic-max b.down{color:#16a34a}.opt-live-last b.up,.opt-traffic-max b.up{color:#2563eb}[data-theme=dark] .opt-live-last b.down,[data-theme=dark] .opt-traffic-max b.down{color:#4ade80}[data-theme=dark] .opt-live-last b.up,[data-theme=dark] .opt-traffic-max b.up{color:#60a5fa}.opt-traffic-max{color:var(--muted);margin-top:5px;font-size:11px}.opt-catv-sw{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-family:inherit;font-size:10.5px;font-weight:850;display:inline-flex}.opt-catv-sw i{background:currentColor;border-radius:999px;width:7px;height:7px}.opt-catv-sw.on{color:#15803d;background:#22c55e1f;border-color:#22c55e73}.opt-catv-sw.on i{animation:2.2s ease-in-out infinite live-pulse}.opt-catv-sw.off{color:#b91c1c;background:#ef44441a;border-color:#ef444466}.opt-catv-sw:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .opt-catv-sw.on{color:#86efac}[data-theme=dark] .opt-catv-sw.off{color:#fca5a5}.opt-catv-lvl{border-radius:999px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-style:normal;font-weight:850}.opt-catv-lvl.green{color:#15803d;background:#22c55e1f}.opt-catv-lvl.amber{color:#b45309;background:#f59e0b24}.opt-catv-lvl.red{color:#b91c1c;background:#ef444421}.opt-catv-lvl.muted{color:var(--muted);background:#94a3b824}[data-theme=dark] .opt-catv-lvl.green{color:#86efac}[data-theme=dark] .opt-catv-lvl.amber{color:#fbbf24}[data-theme=dark] .opt-catv-lvl.red{color:#fca5a5}.opt-catv-unconf{color:#b45309;font-size:9.5px;font-style:normal;font-weight:800}.opt-catv-wait{color:var(--muted);font-weight:700}.opt-scan{background:linear-gradient(135deg,#0ea5e912,#7c5cff0d);border:1px solid #0ea5e959;border-radius:12px;gap:8px;margin:4px 0;padding:10px 12px;display:grid}.opt-scan.has-slow{border-color:#f59e0b80}.opt-scan.has-err{border-color:#ef444480}.opt-scan-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.opt-scan-head b{font-weight:850}.opt-scan-note{font-size:11.5px;font-weight:700}.opt-scan-note.slow{color:#b45309}.opt-scan-note.err{color:#b91c1c}[data-theme=dark] .opt-scan-note.slow{color:#fbbf24}[data-theme=dark] .opt-scan-note.err{color:#fca5a5}.opt-scan-olts{flex-wrap:wrap;gap:6px;display:flex}.opt-scan-chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.opt-scan-chip b{font-weight:850}.opt-scan-chip em{opacity:.8;font-family:ui-monospace,monospace;font-size:10px;font-style:normal}.opt-scan-chip.scanning{color:#0369a1;background:#0ea5e91f;border-color:#0ea5e966}.opt-scan-chip.slow{color:#b45309;background:#f59e0b24;border-color:#f59e0b73}.opt-scan-chip.ok{color:#15803d;background:#22c55e1f;border-color:#22c55e66}.opt-scan-chip.error{color:#fff;background:#dc2626;border-color:#dc2626}.opt-scan-chip.unsupported{color:var(--muted);border-color:var(--line);background:#94a3b824}[data-theme=dark] .opt-scan-chip.scanning{color:#7dd3fc}[data-theme=dark] .opt-scan-chip.slow{color:#fbbf24}[data-theme=dark] .opt-scan-chip.ok{color:#86efac}.opt-scan .spin{animation:.9s linear infinite opt-spin}@keyframes opt-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.opt-scan .spin{animation:none}}.opt-heal-note{color:#0369a1!important;font-weight:800!important}[data-theme=dark] .opt-heal-note{color:#7dd3fc!important}.opt-net.link.viaolt{color:#b45309;background:#f59e0b29}[data-theme=dark] .opt-net.link.viaolt{color:#fbbf24}.opt-net-warn{margin-left:1px;font-style:normal;font-weight:900}.opt-mismatch-note{color:#b45309!important;font-weight:800!important}[data-theme=dark] .opt-mismatch-note{color:#fbbf24!important}.opt-vlan-warn{color:#b45309;background:#f59e0b26;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 7px;font-size:10px;font-weight:850;display:inline-flex}[data-theme=dark] .opt-vlan-warn{color:#fbbf24}.opt-vlan-chip{border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:850;display:inline-flex}.opt-vlan-chip.ok{color:#15803d;background:#22c55e21}.opt-vlan-chip.bad{color:#b91c1c;background:#ef444424}.opt-vlan-chip.off{color:var(--muted,#94a3b8);filter:grayscale();opacity:.55;background:#94a3b81f}.opt-offline-badge{letter-spacing:.03em;color:#fff;background:#dc2626;border:1px solid #ef4444;border-radius:999px;flex:none;align-items:center;gap:3px;padding:2px 7px;font-size:9.5px;font-weight:900;animation:1.3s step-end infinite optOfflineBlink;display:inline-flex}@keyframes optOfflineBlink{0%,60%{opacity:1}61%,to{opacity:.45}}[data-theme=dark] .opt-vlan-chip.ok{color:#86efac}[data-theme=dark] .opt-vlan-chip.bad{color:#fca5a5}.opt-nosecret-warn{color:#fff;background:#dc2626;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:850;display:inline-flex}[data-theme=dark] .opt-nosecret-warn{background:#ef4444}.opt-catv-mini{border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:850;display:inline-flex}.opt-catv-mini.green{color:#15803d;background:#22c55e21}.opt-catv-mini.amber{color:#b45309;background:#f59e0b26}.opt-catv-mini.red{color:#b91c1c;background:#ef444424}.opt-catv-mini.muted{color:#15803d;background:#22c55e1a}.opt-catv-mini.off{color:var(--muted);background:#94a3b829;text-decoration:line-through}.catv-badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:850;display:inline-flex}.catv-badge.compact{padding:1px 6px;font-size:10px}.catv-badge.on{color:#4ade80;background:#22c55e29;border:1px solid #22c55e73}.catv-badge.off{color:#f87171;background:#ef444429;border:1px solid #ef444473}.catv-badge.na{color:var(--muted,#94a3b8);background:#94a3b81f;border:1px solid #94a3b84d}[data-theme=dark] .opt-catv-mini.green,[data-theme=dark] .opt-catv-mini.muted{color:#86efac}[data-theme=dark] .opt-catv-mini.amber{color:#fbbf24}[data-theme=dark] .opt-catv-mini.red{color:#fca5a5}.opt-sig em{opacity:.5;padding:0 1px;font-style:normal;font-weight:700}.opt-dist{color:#0369a1;background:#0ea5e91c;border-radius:999px;align-items:center;gap:3px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:850;display:inline-flex}[data-theme=dark] .opt-dist{color:#7dd3fc}.opt-tips{background:linear-gradient(135deg,#8b5cf614,#0ea5e90d);border:1px solid #8b5cf659;border-radius:12px;align-items:flex-start;gap:9px;padding:9px 12px;display:flex}.opt-tips-ico{color:#7c3aed;background:#8b5cf626;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;animation:2.2s ease-in-out infinite live-pulse;display:inline-flex}[data-theme=dark] .opt-tips-ico{color:#c4b5fd}.opt-tips-list{gap:4px;min-width:0;display:grid}.opt-tip{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:3px 7px;font-family:inherit;font-size:11.5px;font-weight:750;line-height:1.35;transition:border-color .12s,background .12s}.opt-tip:hover{background:#8b5cf614}.opt-tip.active{background:#8b5cf61f;border-color:#8b5cf699}.opt-tip.warn{color:#b45309}.opt-tip.tip{color:var(--text)}[data-theme=dark] .opt-tip.warn{color:#fbbf24}@media (max-width:620px){.opt-card-head{flex-wrap:wrap;row-gap:8px}.opt-card-id{flex:auto;order:0;width:calc(100% - 30px)}.opt-chev{order:1}.opt-card-metrics{flex-basis:100%;order:2;align-items:stretch;max-width:none}.opt-mrow{justify-content:flex-start}.opt-uptime{white-space:normal}.opt-card-head>.opt-chip{order:3;margin-left:auto}.opt-card-sub{white-space:normal}.opt-sweep-toggle{padding:5px 8px;font-size:10px}}@media (max-width:480px){.opt-levels-item .opt-levels-row b{font-size:13px}}.opt-scust{vertical-align:1px;color:#fff;letter-spacing:.05em;border-radius:7px;margin-right:7px;padding:2px 8px;font-size:10px;font-weight:950;display:inline-block}.opt-svc-strip{flex-wrap:wrap;gap:6px;padding:0 14px 11px;display:flex}.opt-svc-mini{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:850;display:inline-flex}.opt-svc-mini b{letter-spacing:.04em;opacity:.8;font-size:9px;font-weight:950}.opt-svc-mini.green{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}.opt-svc-mini.amber{color:#b45309;background:#f59e0b21;border-color:#f59e0b52}.opt-svc-mini.orange{color:#c2410c;background:#fb923c24;border-color:#fb923c52}.opt-svc-mini.red{color:#b91c1c;background:#ef44441f;border-color:#ef444452}.opt-svc-mini.off,.opt-svc-mini.muted{color:var(--muted);background:#94a3b821;border-color:#94a3b840}.opt-svc-mini.none{color:var(--muted);border-color:var(--line);background:0 0;font-family:inherit}.opt-svc-mini .net-on{color:#16a34a}.opt-svc-mini .net-off{color:var(--muted);opacity:.5}[data-theme=dark] .opt-svc-mini.green{color:#86efac}[data-theme=dark] .opt-svc-mini.amber{color:#fbbf24}[data-theme=dark] .opt-svc-mini.orange{color:#fdba74}[data-theme=dark] .opt-svc-mini.red{color:#fca5a5}[data-theme=dark] .opt-svc-mini .net-on{color:#4ade80}.opt-card-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:13px 14px;display:flex}.opt-card-id{flex:1;gap:2px;min-width:0;display:grid}.opt-card-id strong{color:var(--text);align-items:flex-start;gap:8px;min-width:0;font-size:13px;font-weight:800;line-height:1.25;display:flex}.opt-name{white-space:normal;overflow-wrap:anywhere;flex:auto;min-width:0}.opt-estado{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:850}.opt-estado.green{color:#15803d;background:#22c55e26}.opt-estado.amber{color:#b45309;background:#f59e0b2e}.opt-estado.red{color:#b91c1c;background:#ef444429}.opt-estado.muted{color:var(--muted);background:#94a3b829}[data-theme=dark] .opt-estado.green{color:#86efac}[data-theme=dark] .opt-estado.amber{color:#fbbf24}[data-theme=dark] .opt-estado.red{color:#fca5a5}.opt-card-id small{color:var(--muted);font-size:11.5px;font-weight:700}.opt-chev{color:var(--muted);flex:none;transition:transform .15s}.opt-chev.open{transform:rotate(180deg)}.opt-chip{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:10.5px;font-weight:850}.opt-chip.green{color:#15803d;background:#22c55e26}.opt-chip.amber{color:#b45309;background:#f59e0b29}.opt-chip.red{color:#b91c1c;background:#ef444424}.opt-chip.muted{color:var(--muted);background:#94a3b829}[data-theme=dark] .opt-chip.green{color:#86efac}[data-theme=dark] .opt-chip.amber{color:#fbbf24}[data-theme=dark] .opt-chip.red{color:#fca5a5}.opt-levels-agg{border-top:1px dashed #94a3b847;gap:8px;padding:12px 14px;display:grid}.opt-levels-item{background:#0ea5e914;border:1.5px solid #0ea5e966;border-radius:11px;gap:6px;padding:11px 13px;display:grid}.opt-levels-item.green{background:linear-gradient(135deg,#22c55e24,#22c55e0d);border-color:#22c55e8c}.opt-levels-item.amber{background:linear-gradient(135deg,#facc1529,#facc150d);border-color:#f59e0b8c}.opt-levels-item.orange{background:linear-gradient(135deg,#fb923c29,#fb923c0d);border-color:#fb923c8c}.opt-levels-item.red{background:linear-gradient(135deg,#ef444426,#ef44440d);border-color:#ef444499}.opt-levels-item.muted{border-color:var(--line);background:var(--panel-soft)}.opt-levels-item .opt-levels-row b{font-family:ui-monospace,monospace;font-size:14px;font-weight:950}.opt-levels-label{text-transform:uppercase;color:#fff;background:var(--brand);letter-spacing:.05em;border-radius:999px;justify-self:start;padding:2px 8px;font-size:9.5px;font-weight:950;display:inline-block}.opt-svc{border-top:1px dashed #94a3b847;gap:10px;padding:12px 14px 14px;display:grid}.opt-svc-top{align-items:center;gap:8px;display:flex}.opt-svc-label{text-transform:uppercase;color:var(--brand);letter-spacing:.05em;background:#2563eb1f;border-radius:5px;flex:none;padding:2px 7px;font-size:9.5px;font-weight:950;display:inline-block}.opt-svc-plan{color:var(--text);flex:1;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:850;display:inline-flex}.opt-location{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.opt-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.opt-fact{background:var(--panel-soft,#94a3b814);border-radius:9px;gap:2px;padding:8px 10px;display:grid}.opt-fact span{color:var(--muted);align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:inline-flex}.opt-fact b{color:var(--text);font-size:12.5px;font-weight:850}.opt-fact b.warn{color:#b45309}.opt-fact b.ok{color:#15803d}.opt-facts-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.opt-fact-compact{background:var(--panel-soft,#94a3b814);border-radius:8px;gap:2px;min-width:0;padding:7px 9px;display:grid}.opt-fact-compact span{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;font-size:9.5px;font-weight:700;display:inline-flex}.opt-fact-compact b{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-size:11.5px;font-weight:850;line-height:1.3}.opt-fact-compact b.warn{color:#b45309}.opt-fact-compact b.ok{color:#15803d}.opt-fact-compact em{color:var(--muted);font-size:9px;font-style:normal;font-weight:700;display:block}.opt-fact-compact b.cut-green,.opt-fact-compact em.cut-green{color:#16a34a}.opt-fact-compact b.cut-amber,.opt-fact-compact em.cut-amber{color:#d97706}.opt-fact-compact b.cut-red,.opt-fact-compact em.cut-red{color:#dc2626}[data-theme=dark] .opt-fact-compact b.cut-green,[data-theme=dark] .opt-fact-compact em.cut-green{color:#4ade80}[data-theme=dark] .opt-fact-compact b.cut-amber,[data-theme=dark] .opt-fact-compact em.cut-amber{color:#fbbf24}[data-theme=dark] .opt-fact-compact b.cut-red,[data-theme=dark] .opt-fact-compact em.cut-red{color:#f87171}.opt-fact b.cut-green{color:#16a34a}.opt-fact b.cut-amber{color:#d97706}.opt-fact b.cut-red{color:#dc2626}[data-theme=dark] .opt-fact b.cut-green{color:#4ade80}[data-theme=dark] .opt-fact b.cut-amber{color:#fbbf24}[data-theme=dark] .opt-fact b.cut-red{color:#f87171}.live-countdown{align-items:center;gap:3px;display:inline-flex}.live-num{text-align:center;min-width:8px;color:var(--brand);font-weight:900;animation:.38s live-num-pop;display:inline-block}@keyframes live-num-pop{0%{opacity:.35;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.live-updating{color:#16a34a;font-weight:800;animation:.9s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-flash{color:#16a34a;align-items:center;margin-left:auto;animation:.75s live-flash-pop;display:inline-flex}.live-flash.done{color:var(--muted);opacity:.55;animation:none}@keyframes live-flash-pop{0%{opacity:.2;color:#fbbf24;filter:drop-shadow(0 0 6px #facc15e6);transform:scale(1.9)}55%{opacity:1;filter:drop-shadow(0 0 4px #22c55eb3);transform:scale(1.25)}to{opacity:1;filter:none;transform:scale(1)}}.opt-levels{background:#0ea5e90f;border:1px solid #0ea5e959;border-radius:10px;gap:5px;padding:10px 12px;display:grid}.opt-levels.green{background:#22c55e12;border-color:#22c55e66}.opt-levels.amber{background:#facc1512;border-color:#facc1566}.opt-levels.orange{background:#fb923c12;border-color:#fb923c66}.opt-levels.red{background:#ef444414;border-color:#ef444473}.opt-levels.muted{border-color:var(--line);background:0 0}.opt-levels-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.opt-levels-row span{color:var(--muted);min-width:62px;font-weight:700}.opt-levels-row b{color:var(--text);font-weight:900}.opt-levels-row.compact{gap:6px;font-size:11px}.opt-levels-row.compact span{min-width:60px;font-size:10px}.opt-levels-row.compact b{font-size:11px}.opt-levels-row.compact i{margin-left:2px;font-size:9px;font-style:normal;font-weight:700}.opt-lvl-tag{border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10.5px;font-style:normal;font-weight:850}.opt-lvl-tag.green{color:#15803d;background:#22c55e29}.opt-lvl-tag.amber{color:#b45309;background:#facc152e}.opt-lvl-tag.orange{color:#c2410c;background:#fb923c2e}.opt-lvl-tag.red{color:#b91c1c;background:#ef444429}.opt-lvl-tag.muted{color:var(--muted);background:#94a3b829}.opt-levels-err{color:#b91c1c;font-size:11.5px;font-weight:700}.opt-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.opt-btn{border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 10px;font-size:12.5px;font-weight:850;text-decoration:none;display:inline-flex}.opt-btn:disabled{opacity:.45;cursor:not-allowed}.opt-btn.levels{color:#fff;background:#0ea5e9;border-color:#0284c7}.opt-btn.levels:hover:not(:disabled){background:#0284c7}.opt-btn.reboot{color:#b91c1c;background:#ef44441a;border-color:#dc262666}.opt-btn.reboot:hover:not(:disabled){background:#ef44442e}.opt-btn.wifi{background:var(--panel);color:var(--text)}.opt-btn.wifi:hover:not(:disabled){background:#94a3b824}.opt-btn.call{color:#15803d;background:#22c55e1f;border-color:#16a34a66}[data-theme=dark] .opt-btn.reboot{color:#fca5a5}[data-theme=dark] .opt-btn.call{color:#86efac}@media (max-width:640px){.opt-card.open .opt-levels-agg{gap:6px;padding:9px 11px}.opt-card.open .opt-facts{gap:6px}.opt-card.open .opt-fact{padding:6px 8px}.opt-card.open .opt-facts-row{gap:6px}.opt-card.open .opt-fact-compact{padding:6px 8px}.opt-card.open .opt-actions{gap:6px}.opt-card.open .opt-btn{border-radius:9px;gap:6px;padding:9px 8px;font-size:12px}.opt-card.open .opt-btn svg{width:14px;height:14px}.opt-card.open .opt-onu-http{margin-top:6px;padding:7px 9px}}.opt-toast{z-index:60;color:#fff;background:#0f172a;border-radius:12px;align-items:center;gap:8px;max-width:92vw;padding:11px 16px;font-size:13px;font-weight:800;display:inline-flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #02061759}.opt-card-sub{color:var(--muted);align-items:flex-start;gap:4px;font-size:10px;font-style:normal;font-weight:600;line-height:1.35;display:flex}.opt-card-sub svg{opacity:.8;flex:none;margin-top:1.5px}.opt-card-sub span{white-space:normal;overflow-wrap:anywhere}.opt-levels-head{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;margin-bottom:2px;font-size:11px;font-weight:850;display:flex}.opt-levels-head i{text-transform:none;margin-left:auto;font-size:10px;font-style:normal;font-weight:700}.opt-dir{color:var(--muted);align-items:center;gap:4px;min-width:92px;font-weight:800;display:inline-flex}.opt-proc{background:#0ea5e914;border:1px solid #0ea5e94d;border-radius:9px;gap:4px;padding:8px 10px;display:grid}.opt-proc.resync{background:#8b5cf61a;border-color:#8b5cf659}.opt-proc small{color:var(--text);font-size:11px;font-weight:800}.opt-proc-bar{background:#94a3b840;border-radius:99px;height:7px;overflow:hidden}.opt-proc-bar span{background:linear-gradient(90deg,#0ea5e9,#22d3ee);border-radius:99px;height:100%;transition:width .4s;display:block}.opt-proc.resync .opt-proc-bar span{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.opt-btn.resync{color:#6d28d9;background:#8b5cf61f;border-color:#8b5cf666}.opt-btn.resync:hover:not(:disabled){background:#8b5cf633}[data-theme=dark] .opt-btn.resync{color:#c4b5fd}.opt-btn.coord{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb66}.opt-btn.coord:hover:not(:disabled){background:#2563eb33}[data-theme=dark] .opt-btn.coord{color:#93c5fd}.opt-btn.coord.done{color:#15803d;background:#16a34a24;border-color:#16a34a73}[data-theme=dark] .opt-btn.coord.done{color:#86efac}.opt-proc.coord .opt-proc-bar span{background:linear-gradient(90deg,#2563eb,#22c55e)}.opt-actions.compact{flex-wrap:wrap;gap:8px;display:flex}.opt-btn.tools{border-color:#94a3b880}.opt-btn.tools.open{background:#94a3b826}.opt-tools-chev{opacity:.7;transition:transform .15s}.opt-btn.tools.open .opt-tools-chev{transform:rotate(180deg)}.opt-tools{background:#94a3b812;border:1px solid #94a3b840;border-radius:11px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;min-width:0;padding:11px 12px;display:grid}.opt-tools-group{align-content:start;gap:6px;display:grid}.opt-tools-group small{letter-spacing:.8px;text-transform:uppercase;color:var(--muted,#94a3b8);opacity:.8;font-size:10px;font-weight:800}.opt-tools-group button{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #94a3b847;border-radius:8px;align-items:center;gap:7px;min-width:0;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.opt-tools-group button:hover:not(:disabled){background:#94a3b81f}.opt-tools-group button:disabled{opacity:.45;cursor:not-allowed}.opt-tools-group button svg{flex-shrink:0}.opt-tools-group .cap{border-radius:99px;margin-left:auto;padding:1px 6px;font-size:9.5px;font-style:normal;font-weight:800}.opt-tools-group .cap.no{color:var(--danger);background:#dc262624}.opt-tools-group .cap.unk{color:var(--muted,#94a3b8);background:#94a3b82e}.opt-speed-server{color:var(--muted,#94a3b8);align-items:center;gap:8px;padding:2px 2px 4px;font-size:11px;font-weight:700;display:flex}.opt-speed-server>span{text-transform:uppercase;letter-spacing:.5px;flex:none;font-size:10px}.opt-speed-server select{min-width:0;color:inherit;background:#94a3b80f;border:1px solid #94a3b847;border-radius:7px;flex:auto;padding:5px 8px;font-size:11px;font-weight:700}.opt-tools-reason{color:var(--muted,#94a3b8);font-size:10.5px;line-height:1.4}.opt-probe{background:#38bdf80f;border:1px solid #38bdf840;border-radius:10px;gap:6px;min-width:0;padding:10px 12px;display:grid}.opt-probe-head{color:#38bdf8;align-items:center;gap:6px;font-size:11.5px;font-weight:800;display:flex}.opt-probe-note{color:var(--muted,#94a3b8);font-size:11.5px}.opt-probe-out{white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:160px;margin:0;font-family:ui-monospace,monospace;font-size:10.5px;line-height:1.5;overflow-y:auto}.opt-traffic-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.opt-traffic-range{border:1px solid #94a3b859;border-radius:8px;display:inline-flex;overflow:hidden}.opt-traffic-range button{color:var(--muted,#94a3b8);cursor:pointer;background:0 0;border:none;padding:4px 11px;font-size:11px;font-weight:700}.opt-traffic-range button.on{color:#38bdf8;background:#38bdf82e}.opt-traffic-kpis{color:var(--muted,#94a3b8);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.opt-traffic-kpis b{color:var(--text);font-size:13px}.opt-traffic-kpis .sat b{color:var(--amber)}.opt-traffic-note{color:var(--muted,#94a3b8);align-items:center;gap:7px;padding:6px 0;font-size:11.5px;display:flex}.opt-traffic-chart{gap:4px;min-width:0;display:grid}.opt-traffic-chart svg{background:#94a3b80f;border-radius:8px;width:100%;height:120px}.opt-traffic-chart .area{fill:#22c55e2e;stroke:none}.opt-traffic-chart .down{fill:none;stroke:#22c55e;stroke-width:1.6px;vector-effect:non-scaling-stroke}.opt-traffic-chart .up{fill:none;stroke:#3b82f6;stroke-width:1.3px;vector-effect:non-scaling-stroke}.opt-traffic-chart .plan{stroke:var(--amber);stroke-width:1.4px;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.opt-traffic-axis{color:var(--muted,#94a3b8);opacity:.8;justify-content:space-between;font-size:10px;display:flex}.opt-traffic-legend{gap:12px;font-size:10.5px;display:flex}.opt-traffic-legend .l-down{color:#22c55e}.opt-traffic-legend .l-up{color:#3b82f6}.opt-traffic-legend .l-plan{color:var(--amber)}.opt-traffic-src{opacity:.6;font-size:10px;line-height:1.4}.opt-tools-group button.danger{color:var(--danger);border-color:#dc262666}.opt-tools-group button.opt-fix-vlan{color:#b45309;border-color:#f59e0b80;font-weight:850}.opt-tools-group button.opt-fix-vlan:hover:not(:disabled){background:#f59e0b1f}[data-theme=dark] .opt-tools-group button.opt-fix-vlan{color:#fbbf24}.opt-tools-group button.danger:hover:not(:disabled){background:#dc26261a}.opt-traffic-chart .rx{fill:none;stroke:#f59e0b;stroke-width:1.8px;vector-effect:non-scaling-stroke}.opt-traffic-chart .thr-warn{stroke:#f0a02880;stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.opt-traffic-chart .thr-bad{stroke:#dc262680;stroke-width:1px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.opt-traffic-legend .l-rx{color:#f59e0b}.opt-diag{background:#94a3b814;border:1px solid #94a3b847;border-radius:11px;gap:9px;min-width:0;padding:11px 13px;display:grid}.opt-diag.running,.opt-diag.err{align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.opt-diag.err{color:var(--danger);background:#dc262614;border-color:#dc26264d}.opt-diag-verdict{gap:3px;display:grid}.opt-diag-verdict b{letter-spacing:-.2px;font-size:13.5px}.opt-diag-verdict span{color:var(--muted,#94a3b8);font-size:12px;line-height:1.5}.opt-diag-verdict em{margin-top:3px;font-size:12px;font-style:normal;font-weight:700}.opt-diag.lvl-ok{background:#22c55e12;border-color:#22c55e4d}.opt-diag.lvl-ok b,.opt-diag.lvl-ok em{color:var(--success)}.opt-diag.lvl-atencion{background:#f0a02814;border-color:#f0a02852}.opt-diag.lvl-atencion b,.opt-diag.lvl-atencion em{color:var(--amber)}.opt-diag.lvl-falla{background:#dc262614;border-color:#dc262652}.opt-diag.lvl-falla b,.opt-diag.lvl-falla em{color:var(--danger)}.opt-diag.lvl-sin_datos b,.opt-diag.lvl-sin_datos em{color:var(--muted,#94a3b8)}.opt-diag-steps{border-top:1px solid #94a3b833;gap:5px;padding-top:8px;display:grid}.opt-diag-step{grid-template-columns:10px minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:7px;min-width:0;font-size:11.5px;display:grid}.opt-diag-step i{border-radius:99px;align-self:center;width:8px;height:8px}.opt-diag-step .n{white-space:nowrap;font-weight:700}.opt-diag-step .d{color:var(--muted,#94a3b8);min-width:0;line-height:1.45}.opt-diag-step.st-ok i{background:#22c55e}.opt-diag-step.st-fail i{background:#dc2626}.opt-diag-step.st-no_concluyente i{background:#f4c20d}.opt-diag-step.st-no_disponible i{background:0 0;border:2px solid #94a3b88c}.opt-diag-step.st-no_disponible .n{color:var(--muted,#94a3b8);font-weight:600}.opt-diag-foot{opacity:.6;font-size:10.5px}.opt-btn.diag{color:#38bdf8;border-color:#38bdf873}.opt-speed{background:#7c5cff14;border:1px solid #7c5cff47;border-radius:11px;gap:8px;min-width:0;padding:10px 12px;display:grid}.opt-speed-head{letter-spacing:.2px;color:#a78bfa;align-items:center;gap:6px;font-size:11.5px;font-weight:800;display:flex}.opt-speed-head em{opacity:.75;font-style:normal;font-weight:600}.opt-speed-run{color:var(--text);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.opt-speed-note{color:var(--muted,#94a3b8);font-size:11.5px;line-height:1.45}.opt-speed-vals{flex-wrap:wrap;gap:16px;display:flex}.opt-speed-vals span{color:var(--muted,#94a3b8);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.opt-speed-vals span svg{flex-shrink:0;align-self:center}.opt-speed-vals b{letter-spacing:-.3px;color:var(--text);font-size:19px;font-weight:800}.opt-speed-vals i{opacity:.7;margin-left:2px;font-size:10.5px;font-style:normal}.opt-speed-vals .down b{color:#22c55e}.opt-speed-vals .up b{color:#3b82f6}.opt-speed-up{cursor:pointer;color:#a78bfa;background:0 0;border:1px solid #7c5cff59;border-radius:8px;justify-self:start;padding:4px 10px;font-size:11.5px;font-weight:700}.opt-btn.speed{color:#a78bfa;border-color:#7c5cff73}.opt-lock-note{min-width:0;color:var(--muted,#64748b);background:#94a3b81f;border:1px solid #94a3b859;border-radius:9px;align-items:flex-start;gap:7px;padding:8px 10px;font-size:11.5px;font-weight:700;line-height:1.45;display:flex}.opt-lock-note svg{flex-shrink:0;margin-top:1px}.opt-lock-note span{min-width:0}.opt-proc.ip{background:#22c55e14;border-color:#22c55e4d}.opt-proc.ip .opt-proc-bar span{background:linear-gradient(90deg,#16a34a,#22d3ee)}.opt-btn.ip{color:#15803d;background:#16a34a1f;border-color:#16a34a66}.opt-btn.ip:hover:not(:disabled){background:#16a34a33}[data-theme=dark] .opt-btn.ip{color:#86efac}@media (min-width:640px){.opt-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.opt-facts-row,.opt-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}.prov-dot{background:var(--muted);opacity:.5;border-radius:999px;width:9px;height:9px}.prov-spin{animation:.9s linear infinite prov-rotate}@keyframes prov-rotate{to{transform:rotate(360deg)}}.prov-step-body{gap:1px;display:grid}.prov-step-body strong{font-size:12.5px;font-weight:800}.prov-step-body small{color:var(--muted);font-size:10.5px;font-weight:700}.prov-step-tag{letter-spacing:.04em;color:var(--muted);font-size:10px;font-weight:900}.prov-step-tag.ok{color:#16a34a}.prov-step-tag.fail{color:#dc2626}.prov-step-tag.running{color:var(--brand)}[data-theme=dark] .prov-step-tag.ok{color:#4ade80}[data-theme=dark] .prov-step-tag.fail{color:#f87171}.prov-summary{background:#22c55e12;border:1px solid #22c55e52;border-radius:11px;gap:10px;padding:13px;display:grid}.prov-summary-head{color:#4ade80;align-items:center;gap:7px;font-size:13px;font-weight:900;display:flex}.prov-levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (max-width:560px){.prov-levels{grid-template-columns:repeat(2,minmax(0,1fr))}}.prov-level{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:9px;justify-items:center;gap:3px;padding:8px 9px;display:grid}.prov-level span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:9px;font-weight:800}.prov-level strong{font-size:13px;font-weight:900}.prov-level.green strong{color:#4ade80}.prov-level.amber strong{color:#fbbf24}.prov-level.red strong{color:#f87171}.prov-summary-rows{gap:5px;display:grid}.prov-summary-rows p{gap:10px;margin:0;font-size:12px;display:flex}.prov-summary-rows small{width:70px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex:none;padding-top:2px;font-size:9.5px;font-weight:800}.prov-summary-rows span{font-weight:800}.prov-online{color:#15803d;font-weight:850}.prov-offline{color:#b45309;font-weight:850}[data-theme=dark] .prov-online{color:#4ade80}[data-theme=dark] .prov-offline{color:#fbbf24}.entity-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;width:fit-content;padding:2px 9px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.nap-sector-olt{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.network-inline-form.sector-inline-form.editing{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 45%, transparent);border-radius:12px}.sector-row-table article.row-editing,.nap-row-table article.row-editing{background:color-mix(in srgb, var(--brand) 9%, transparent)}.onu-discovery-list label.onu-row{grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;padding:11px 12px}.onu-sn{gap:2px;display:grid}.onu-sn b{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13.5px;font-weight:900}.onu-sn i{color:var(--muted);font-size:10.5px;font-style:normal;font-weight:700}.onu-signal{text-align:center;justify-items:center;gap:2px;display:grid}.onu-signal b{color:var(--text);font-size:14px;font-weight:900}.onu-signal i{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:9px;font-style:normal;font-weight:800}.onu-signal.green b{color:#4ade80}.onu-signal.amber b{color:#fbbf24}.onu-signal.red b{color:#f87171}.onu-olt{text-align:right;justify-items:end;gap:3px;display:grid}.onu-brand{text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:900}.onu-brand.cdata{color:#4ade80;background:#22c55e29}.onu-brand.smartolt{color:#60a5fa;background:#3b82f629}.onu-brand.olt{color:var(--muted);background:#94a3b824}.onu-oltname{font-size:13px;font-weight:900}@media (max-width:760px){.onu-discovery-list label.onu-row{grid-template-columns:auto minmax(0,1fr) auto}.onu-olt{text-align:left;grid-column:2/-1;justify-items:start}}.ops-grid.stack{grid-template-columns:1fr;gap:16px;display:grid}.tech-empty-queue{color:var(--muted);text-align:center;margin:0;padding:18px;font-size:13px;font-weight:800}.tech-log{border-top:1px solid var(--line);margin-top:2px;padding-top:10px}.tech-log-toggle{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-size:12px;font-weight:900;display:flex}.tech-log-toggle i{background:#94a3b829;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-style:normal;display:inline-grid}.tech-log-toggle:hover{color:var(--text)}.tech-chevron{margin-left:auto;transition:transform .2s}.tech-chevron.open{transform:rotate(180deg)}.tech-log .tech-timeline{margin-top:9px}.tech-finalized-toggle{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:0}.tech-finalized-list{gap:9px;margin-top:12px;display:grid}.tech-finalized-card{border:1px solid var(--line);background:var(--panel-soft);border-left:3px solid #22c55e;border-radius:11px;gap:5px;padding:11px 13px;display:grid}.tech-finalized-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tech-finalized-head strong{font-size:14px;font-weight:900}.tech-finalized-head .tech-pill{margin-left:auto}button.tech-finalized-head{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.tech-finalized-head .tech-chevron{color:var(--muted);transition:transform .15s}.tech-finalized-head .tech-chevron.open{color:#4ade80;transform:rotate(180deg)}.tech-finalized-card.expanded{border-left-color:#4ade80}.tech-finalized-detail{border-top:1px dashed #94a3b840;gap:10px;margin-top:8px;padding-top:10px;display:grid}.tech-finalized-checks{gap:6px;display:grid}.tech-finalized-checks span{border-radius:8px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;display:flex}.tech-finalized-checks span.ok{color:#15803d;background:#22c55e21}.tech-finalized-checks span.warn{color:#b45309;background:#f59e0b26}[data-theme=dark] .tech-finalized-checks span.ok{color:#86efac;background:#22c55e1a}[data-theme=dark] .tech-finalized-checks span.warn{color:#fbbf24;background:#f59e0b1f}.tech-finalized-noc{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.tech-finalized-noc>span{color:var(--muted);font-weight:700}.tech-finalized-noc b{color:#15803d;font-weight:850}[data-theme=dark] .tech-finalized-noc b{color:#4ade80}.tech-finalized-noc small{color:var(--muted);margin-left:auto}.tech-finalized-empty{color:var(--muted);margin:0;font-size:12px}.tech-wifi-btn{border:1px solid color-mix(in srgb, #0ea5e9 55%, var(--line));color:#0284c7;cursor:pointer;background:#0ea5e91f;border-radius:999px;justify-self:start;align-items:center;gap:6px;width:auto;padding:6px 11px;font-size:11.5px;font-weight:850;display:inline-flex}.tech-wifi-btn:hover{background:#0ea5e933}[data-theme=dark] .tech-wifi-btn{color:#7dd3fc}.tech-revert-btn{color:#b91c1c;cursor:pointer;background:#ef444414;border:1px solid #dc262666;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;padding:9px 14px;font-size:12.5px;font-weight:850;display:inline-flex}.tech-revert-btn:hover{background:#ef444426}[data-theme=dark] .tech-revert-btn{color:#fca5a5;background:#7f1d1d33;border-color:#f8717173}[data-theme=dark] .tech-revert-btn:hover{background:#7f1d1d61}.prov-finalize{background:#22c55e14;border:1px solid #22c55e59;border-radius:11px;gap:9px;margin-top:10px;padding:12px;display:grid}.prov-finalize p{color:#fbbf24;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:700;display:flex}.prov-finalize-btn{color:#fff;cursor:pointer;background:#16a34ae6;border:1px solid #22c55e99;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.prov-finalize-btn:hover{filter:brightness(1.1)}.prov-finalize-btn .prov-finalize-drain{transform-origin:0;pointer-events:none;background:#ffffffe6;width:100%;height:4px;animation-name:prov-finalize-drain;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}@keyframes prov-finalize-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.prov-finalize-btn.counting{animation:1.4s ease-in-out infinite prov-finalize-pulse}@keyframes prov-finalize-pulse{0%,to{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 0 4px #22c55e47}}.prov-finalize-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}@keyframes prov-step-pop{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.18)}to{transform:scale(1)}}@keyframes prov-step-glow{0%{box-shadow:0 0 #22c55e00}45%{box-shadow:0 0 0 3px #22c55e33}to{box-shadow:0 0 #22c55e00}}.prov-step.ok .prov-step-icon>svg{animation:.38s cubic-bezier(.34,1.56,.64,1) prov-step-pop}.prov-step.ok{animation:.7s prov-step-glow}.prov-finalize .prov-finalize-note{color:#16a34a;font-weight:800}.prov-finalize-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.prov-btn-wifi,.prov-btn-salir{cursor:pointer;letter-spacing:-.01em;color:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:15px 12px;font-size:14px;font-weight:900;transition:filter .15s,transform .1s;display:inline-flex;position:relative;overflow:hidden}.prov-btn-wifi{background:linear-gradient(135deg,#2563eb,#0ea5e9)}.prov-btn-salir{background:linear-gradient(135deg,#16a34a,#22c55e)}.prov-btn-wifi:hover,.prov-btn-salir:hover{filter:brightness(1.08)}.prov-btn-wifi:active,.prov-btn-salir:active{transform:translateY(1px)}.prov-btn-wifi>svg,.prov-btn-salir>svg{z-index:1;position:relative}.prov-btn-salir .prov-finalize-drain{transform-origin:0;pointer-events:none;background:#ffffffe6;width:100%;height:4px;animation-name:prov-finalize-drain;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}.prov-btn-salir.counting{animation:1.4s ease-in-out infinite prov-finalize-pulse}@media (max-width:460px){.prov-finalize-actions{grid-template-columns:1fr}}.wifi-focus-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;place-items:center;padding:16px;animation:.2s wifi-focus-in;display:grid;position:fixed;inset:0}@keyframes wifi-focus-in{0%{opacity:0}to{opacity:1}}.wifi-focus-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;gap:12px;width:100%;max-width:440px;max-height:92dvh;padding:20px;animation:.24s cubic-bezier(.16,1,.3,1) wifi-focus-rise;display:grid;overflow-y:auto;box-shadow:0 24px 60px #00000059}@keyframes wifi-focus-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.wifi-focus-head{align-items:center;gap:12px;display:flex}.wifi-focus-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:13px;flex:none;place-items:center;width:46px;height:46px;display:grid}.wifi-focus-titles{gap:1px;min-width:0;display:grid}.wifi-focus-titles h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:800}.wifi-focus-titles strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900;overflow:hidden}.wifi-focus-titles span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,monospace;font-size:11.5px;font-weight:700}.wifi-focus-badge{color:#16a34a;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.wifi-focus-field{gap:5px;display:grid}.wifi-focus-field>span{color:var(--text);font-size:12px;font-weight:800}.wifi-focus-field input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:11px;padding:12px 13px;font-size:14px;font-weight:600}.wifi-focus-field input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb2e}.wifi-focus-pwd{align-items:center;display:flex;position:relative}.wifi-focus-pwd input{padding-right:44px}.wifi-focus-pwd button{color:var(--muted);cursor:pointer;background:0 0;border:none;place-items:center;padding:6px;display:grid;position:absolute;right:8px}.wifi-focus-toggle{color:var(--text);cursor:pointer;align-items:center;gap:9px;padding:2px 0;font-size:13px;font-weight:800;display:flex}.wifi-focus-toggle input{accent-color:#2563eb;width:18px;height:18px}.wifi-focus-advanced{cursor:pointer;color:var(--text);border:1px solid var(--line);background:var(--bg);border-radius:10px;justify-self:start;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.wifi-focus-actions{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:4px;display:grid}.wifi-focus-skip,.wifi-focus-apply{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:14px 12px;font-size:14px;font-weight:900;display:inline-flex}.wifi-focus-skip{color:var(--text);background:var(--bg);border:1px solid var(--line)}.wifi-focus-apply{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border:none}.wifi-focus-apply:disabled{opacity:.45;cursor:not-allowed}.prov-wifi-prompt{color:#1d4ed8;background:#2563eb1f;border:1px solid #2563eb73;border-radius:9px;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 12px;font-size:13px;font-weight:850;display:flex}[data-theme=dark] .prov-wifi-prompt{color:#93c5fd;background:#2563eb29}.prov-wifi-prompt-btns{gap:8px;margin-left:auto;display:flex}.prov-wifi-yes,.prov-wifi-no{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 15px;font-size:12.5px;font-weight:850;display:inline-flex}.prov-wifi-yes{color:#fff;background:#2563eb;border:1px solid #1d4ed8}.prov-wifi-yes:hover{background:#1d4ed8}.prov-wifi-no{background:var(--panel);color:var(--text);border:1px solid #94a3b88c}.prov-wifi-no:hover{background:#94a3b829;border-color:#94a3b8cc}.prov-wifi-form{background:#63b3ed0f;border:1px solid #63b3ed4d;border-radius:9px;gap:8px;padding:11px;display:grid}.prov-wifi-form-head{color:#90cdf4;align-items:center;gap:6px;font-size:12px;font-weight:900;display:flex}.prov-wifi-cancel-link{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px;font-weight:800;text-decoration:underline}.prov-wifi-cancel-link:hover{color:#fca5a5}.prov-wifi-field{gap:4px;display:grid}.prov-wifi-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:800}.prov-wifi-field input{width:100%;color:var(--fg);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:7px;outline:none;padding:7px 10px;font-size:13px;font-weight:700}.prov-wifi-field input:focus{border-color:#63b3ed80}.prov-wifi-pwd{gap:5px;display:flex}.prov-wifi-pwd input{flex:1}.prov-wifi-pwd button{color:var(--muted);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:7px;padding:0 9px}.prov-wifi-pwd button:hover{color:var(--fg)}.prov-wifi-toggle{color:var(--fg);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.prov-wifi-toggle input[type=checkbox]{accent-color:#63b3ed;cursor:pointer;width:14px;height:14px}.prov-wifi-skip{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;font-weight:800;display:flex}.prov-wifi-skip button{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px;font-weight:800;text-decoration:underline}.prov-wifi-skip button:hover{color:var(--fg)}.equipment-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.equipment-wifi-btn{color:#90cdf4;cursor:pointer;background:#63b3ed1a;border:1px solid #63b3ed66;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:800;display:inline-flex}.equipment-wifi-btn:hover{background:#63b3ed38}.wifi-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.wifi-modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:14px;width:100%;max-width:420px;padding:22px;display:grid;box-shadow:0 24px 48px #0006}.wifi-modal-head{color:#90cdf4;align-items:center;gap:8px;font-size:15px;font-weight:900;display:flex}.wifi-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px}.wifi-modal-close:hover{color:var(--fg)}.wifi-modal-sub{color:var(--muted);margin:0;font-size:12px;font-weight:700}.wifi-modal-field{gap:5px;display:grid}.wifi-modal-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.wifi-modal-field span em{color:#f87171;font-style:normal}.wifi-modal-field input{border:1px solid var(--line);background:var(--input-bg,#ffffff0d);width:100%;color:var(--fg);border-radius:9px;outline:none;padding:9px 12px;font-size:14px;font-weight:700}.wifi-modal-field input:focus{border-color:#63b3ed80}.wifi-modal-field input:disabled{opacity:.5}.wifi-modal-pwd{gap:6px;display:flex}.wifi-modal-pwd input{flex:1}.wifi-modal-pwd button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:9px;padding:0 11px}.wifi-modal-pwd button:hover{color:var(--fg)}.wifi-modal-toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.wifi-modal-toggle input[type=checkbox]{accent-color:#63b3ed;cursor:pointer;width:15px;height:15px}.wifi-modal-error{color:#fca5a5;background:#dc26261f;border:1px solid #dc26264d;border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;font-weight:800;display:flex}.wifi-modal-success{color:#4ade80;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;font-size:14px;font-weight:800;display:flex}.wifi-modal-success p{margin:0}.wifi-modal-footer{justify-content:flex-end;gap:8px;display:flex}.wifi-modal-cancel{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:800}.wifi-modal-cancel:hover{color:var(--fg)}.wifi-modal-cancel:disabled{opacity:.4;cursor:not-allowed}.wifi-modal-submit{color:#90cdf4;cursor:pointer;background:#63b3ed33;border:1px solid #63b3ed80;border-radius:9px;padding:9px 18px;font-size:13px;font-weight:900}.wifi-modal-submit:hover{background:#63b3ed59}.wifi-modal-submit:disabled{opacity:.4;cursor:not-allowed}.tech-finalized-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:800;display:flex}.tech-finalized-sub i{opacity:.5;font-style:normal}.tech-boards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin-bottom:4px;display:grid}.tech-board-tile{border:1px solid var(--line);background:var(--panel-soft);text-align:left;cursor:pointer;border-left-width:3px;border-radius:11px;gap:2px;padding:11px 13px;transition:transform .15s,background .15s;display:grid}.tech-board-tile:hover{transform:translateY(-1px)}.tech-board-tile strong{font-size:22px;font-weight:900;line-height:1}.tech-board-tile span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:900}.tech-board-tile.blue{border-left-color:#3b82f6}.tech-board-tile.blue strong{color:#2563eb}.tech-board-tile.orange{border-left-color:#fb923c}.tech-board-tile.orange strong{color:#c2410c}.tech-board-tile.indigo{border-left-color:#818cf8}.tech-board-tile.indigo strong{color:#4f46e5}.tech-board-tile.amber{border-left-color:#f59e0b}.tech-board-tile.amber strong{color:#b45309}.tech-board-tile.green{border-left-color:#22c55e}.tech-board-tile.green strong{color:#15803d}[data-theme=dark] .tech-board-tile.blue strong{color:#60a5fa}[data-theme=dark] .tech-board-tile.orange strong{color:#fb923c}[data-theme=dark] .tech-board-tile.indigo strong{color:#818cf8}[data-theme=dark] .tech-board-tile.amber strong{color:#fbbf24}[data-theme=dark] .tech-board-tile.green strong{color:#4ade80}.tech-board-tile.active{background:color-mix(in srgb, var(--brand) 12%, var(--panel-soft));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent)}.tech-pending{gap:12px;display:grid}.tech-sector-group{gap:6px;display:grid}.tech-sector-head{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 2px;display:flex}.tech-sector-count{color:var(--muted);font-size:11px;font-weight:800}.tech-sector-select{border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 10%, transparent);color:var(--brand);cursor:pointer;border-radius:999px;margin-left:auto;padding:4px 11px;font-size:11px;font-weight:900}.tech-mini-row{border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;border-left-width:5px;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 12px;display:flex}.tech-mini-row.selected{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--panel-soft))}.tech-mini-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--brand);flex:none;margin-top:2px}.tech-mini-main{flex:1;gap:4px;min-width:0;display:grid}.tech-mini-name{font-size:13.5px;font-weight:900;line-height:1.25}.tech-mini-phones{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.tech-mini-plan{width:fit-content;color:var(--muted);background:#94a3b824;border-radius:999px;justify-self:start;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:800;display:inline-flex}.tech-mini-plan>svg{opacity:.85}.tech-mini-phone{color:#0369a1;background:#38bdf829;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:800;text-decoration:none;display:inline-flex}.tech-mini-phone:hover{background:#38bdf847;text-decoration:underline}.tech-mini-phone.wa{color:#15803d;background:#25d36629}.tech-mini-phone.wa:hover{background:#25d36642}[data-theme=dark] .tech-mini-phone{color:#38bdf8}[data-theme=dark] .tech-mini-phone.wa{color:#25d366}.tech-mini-line2,.tech-mini-ref{min-width:0;color:var(--muted);align-items:flex-start;gap:5px;font-size:11.5px;font-weight:600;line-height:1.4;display:flex}.tech-mini-line2>svg,.tech-mini-ref>svg{opacity:.8;flex:none;margin-top:2px}.tech-mini-line2>span{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-weight:700}.tech-mini-ref{color:color-mix(in srgb, var(--muted) 75%, var(--text))}.tech-mini-ref>svg{color:#fbbf24;opacity:.95}.tech-mini-ref>i{white-space:normal;overflow-wrap:anywhere;font-style:normal}.tech-mini-tags{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.tech-bulk-bar{border:1px solid color-mix(in srgb, var(--brand) 40%, var(--line));background:#020617eb;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;bottom:8px;box-shadow:0 10px 26px #0006}.tech-bulk-bar span{color:var(--text);font-size:12.5px;font-weight:800}.tech-bulk-bar span b{color:var(--brand)}.tech-bulk-clear{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:7px 12px;font-size:12px;font-weight:900}.tech-bulk-assign{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:0;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:12.5px;font-weight:900;display:inline-flex}.tech-order-compact{border:1px solid var(--line);background:var(--panel-soft);text-align:left;cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:center;gap:7px 8px;width:100%;padding:11px 13px;display:flex}.tech-order-compact:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.tech-order-compact-main{flex:160px;gap:1px;min-width:0;display:grid}.tech-order-compact .tech-pill,.tech-order-compact .tech-chip,.tech-type-chip{flex-shrink:0}.tech-type-chip{letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:10.5px;font-weight:900;display:inline-flex}.tech-type-chip.install{color:#2563eb;background:#3b82f629;border:1px solid #3b82f666}.tech-type-chip.ticket{color:#c2410c;background:#fb923c2e;border:1px solid #fb923c66}[data-theme=dark] .tech-type-chip.install{color:#60a5fa}[data-theme=dark] .tech-type-chip.ticket{color:#fb923c}.tech-order-compact-main strong{font-size:14px;font-weight:900}.tech-order-compact-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.tech-assigned-row{border:1px solid var(--line);background:var(--panel-soft);border-left-width:5px;border-radius:12px;flex-wrap:wrap;align-items:stretch;gap:10px;padding:10px 12px;display:flex}.tech-assigned-row.in-progress{background:color-mix(in srgb, #f59e0b 7%, var(--panel-soft));border-top-color:#f59e0b80;border-bottom-color:#f59e0b80;border-right-color:#f59e0b80}.tech-iniciar{cursor:pointer;border:1px solid #0000;border-radius:10px;flex-shrink:0;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:900;display:inline-flex}.tech-iniciar.start{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);border-color:#0000}.tech-iniciar.continue{color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316);border-color:#0000}.tech-iniciar:hover{filter:brightness(1.08)}.tech-assigned-main{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:220px;align-content:center;gap:5px;padding:2px 0;display:grid}.tech-assigned-line1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tech-assigned-line1 strong{font-size:14px;font-weight:900}.tech-assigned-line2{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.tech-assigned-line2 i{color:color-mix(in srgb, var(--muted) 80%, var(--text));font-style:normal}.tech-assigned-tags{flex-wrap:wrap;align-content:center;align-items:center;gap:6px;display:flex}.tech-time-chip{color:var(--muted);background:#94a3b81f;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:850;display:inline-flex}.tech-time-chip.amber{color:#b45309;background:#f59e0b29}.tech-time-chip.red{color:#dc2626;background:#ef444424}.tech-time-chip.green{color:#15803d;background:#22c55e24}[data-theme=dark] .tech-time-chip.amber{color:#fbbf24}[data-theme=dark] .tech-time-chip.red{color:#f87171}[data-theme=dark] .tech-time-chip.green{color:#4ade80}.tech-ref-note{color:#b45309;align-items:center;gap:6px;margin:4px 0 2px;font-size:12.5px;font-weight:700;display:flex}[data-theme=dark] .tech-ref-note{color:#fbbf24}.tech-clock.green{color:#15803d}[data-theme=dark] .tech-clock.green{color:#4ade80}.tech-stat-next strong{font-size:17px}.tech-release-btn{color:#dc2626;cursor:pointer;background:#ef44441a;border:1px solid #dc262673;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:850;display:inline-flex}.tech-release-btn:hover{background:#ef44442e}[data-theme=dark] .tech-release-btn{color:#fca5a5;background:#7f1d1d38;border-color:#f8717180}[data-theme=dark] .tech-release-btn:hover{background:#7f1d1d61}.tech-release-composer{background:#ef44440f;border:1px solid #dc26264d;border-radius:11px;flex-basis:100%;gap:8px;width:100%;margin-top:4px;padding:12px;display:grid}.tech-release-title{color:#b91c1c;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.tech-release-composer textarea{resize:vertical;background:var(--panel);width:100%;min-height:64px;color:var(--text);border:1px solid #94a3b873;border-radius:9px;padding:9px 11px;font-size:13px}.tech-release-composer textarea::placeholder{color:var(--muted);opacity:.55;font-style:italic}[data-theme=dark] .tech-release-composer{background:#7f1d1d24;border-color:#f8717166}[data-theme=dark] .tech-release-title{color:#fecaca}[data-theme=dark] .tech-release-composer textarea{color:#e2e8f0;background:#02061780;border-color:#94a3b859}.tech-release-actions{justify-content:flex-end;gap:8px;display:flex}.tech-release-actions .cancel{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:800}.tech-release-actions .confirm{color:#fff;cursor:pointer;background:#dc2626d9;border:1px solid #f871718c;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:850;display:inline-flex}.tech-release-actions .confirm:disabled{opacity:.5;cursor:not-allowed}.tech-delete-btn{color:#fff;cursor:pointer;background:#dc2626eb;border:1px solid #991b1bbf;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:850;display:inline-flex}.tech-delete-btn:hover{background:#b91c1c}.tech-release-composer.delete{background:#7f1d1d38;border-color:#dc2626b3}.tech-release-actions .confirm.danger{background:#991b1bf2;border-color:#7f1d1de6}.tech-release-actions .confirm.danger:hover:not(:disabled){background:#7f1d1d}.tech-mini-wrap{gap:6px;display:grid}.tech-finalized-delete{justify-content:flex-end;margin-top:8px;display:flex}.tech-release-history{border-top:1px dashed #94a3b840;gap:8px;margin-top:6px;padding-top:10px;display:grid}.tech-release-history h4{color:#fca5a5;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:850;display:flex}.tech-release-record{background:#7f1d1d1a;border:1px solid #f8717147;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.tech-release-record-main{gap:2px;min-width:0;display:grid}.tech-release-record-main strong{font-size:13px;font-weight:900}.tech-release-record-main small{color:var(--muted);font-size:11px;font-weight:700}.tech-release-record-main p{color:#fecaca;margin:2px 0 0;font-size:11.5px;font-weight:600}.tech-collapse-card{border:1px solid var(--line);background:var(--panel);width:fit-content;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:900;display:inline-flex}.tech-accordion-head{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;display:flex}.tech-accordion-head:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line))}.tech-accordion-head .tech-chevron{flex:none;transition:transform .15s}.tech-accordion-head .tech-chevron.open{transform:rotate(180deg)}.tech-accordion-title{flex:none;font-size:12.5px;font-weight:850}.tech-accordion-sub{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:4px;font-size:11.5px;font-style:normal;font-weight:700;display:inline-flex;overflow:hidden}.tech-gps-mini{background:#13d8e7;border-radius:50%;flex:none;width:9px;height:9px;animation:1.4s ease-out infinite tech-gps-ping}.tech-sort-bar{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:11px;display:flex}.tech-sort-bar>span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:800}.tech-sort-bar button{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:900}.tech-sort-bar button.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand)}.users-page{gap:16px;display:grid}.users-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.users-search{flex:1;min-width:220px}.users-role-filter{color:var(--muted);gap:5px;font-size:12px;font-weight:900;display:grid}.users-role-filter select{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:9px;padding:9px 11px}.users-new-button{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;cursor:pointer;border:0;border-radius:10px;align-self:flex-end;align-items:center;gap:7px;padding:10px 16px;font-size:12.5px;font-weight:900;display:inline-flex}.users-form{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line));background:color-mix(in srgb, var(--brand) 6%, var(--panel));border-radius:12px;gap:11px;margin-bottom:14px;padding:14px;display:grid}.users-form-head{justify-content:space-between;align-items:center;display:flex}.users-form-head strong{font-size:14px;font-weight:900}.users-form-head button{color:var(--muted);cursor:pointer;background:0 0;border:0}.users-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.users-form-grid label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.users-form-grid input,.users-form-grid select{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);border-radius:9px;padding:10px 11px}.users-form-actions{justify-content:flex-end;gap:9px;display:flex}.users-cancel{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:9px;padding:9px 16px;font-size:12.5px;font-weight:900}.users-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:0;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:12.5px;font-weight:900;display:inline-flex}.users-table{gap:7px;display:grid}.users-table-head,.users-table article{grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) minmax(0,1fr) auto auto auto;align-items:center;gap:10px;display:grid}.users-table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:4px 12px;font-size:10px;font-weight:900}.users-table article{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;padding:11px 12px}.users-table article.inactive{opacity:.6}.users-table strong{font-size:13.5px;font-weight:900}.users-mono{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;overflow:hidden}.users-status{border-radius:999px;padding:2px 9px;font-size:11px;font-style:normal;font-weight:900}.users-status.active{color:#4ade80;background:#22c55e26}.users-status.inactive{color:var(--muted);background:#94a3b829}.users-actions{justify-content:flex-end;gap:5px;display:flex}.users-actions button{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;display:grid}.users-actions button:hover{color:var(--text);border-color:color-mix(in srgb, var(--brand) 50%, var(--line))}.users-actions button.danger:hover{color:#f87171;border-color:#ef444480}@media (max-width:760px){.users-form-grid{grid-template-columns:1fr}.users-table-head{display:none}.users-table article{grid-template-columns:1fr auto;row-gap:6px}}.tech-stat.indigo{border-left-color:#818cf8}.tech-stat.indigo strong{color:#4f46e5}.tech-stat.orange{border-left-color:#fb923c}.tech-stat.orange strong{color:#c2410c}[data-theme=dark] .tech-stat.indigo strong{color:#818cf8}[data-theme=dark] .tech-stat.orange strong{color:#fb923c}.tech-assign-bar{border:1px solid color-mix(in srgb, #818cf8 40%, var(--line));background:color-mix(in srgb, #818cf8 9%, var(--panel-soft));border-radius:11px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:2px 0 12px;padding:8px 12px;display:flex}.tech-assign-bar .tech-assign-label{color:#818cf8;text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.tech-assign-bar select{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:800}.tech-assign-bar small{color:var(--muted);font-size:11.5px;font-weight:600}.tech-loginput{color:var(--muted);gap:5px;margin-top:10px;font-size:11.5px;font-weight:800;display:grid}.tech-loginput>span{align-items:center;gap:5px;display:inline-flex}.tech-loginput input{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:9px;padding:9px 11px;font-size:13px;font-weight:500}.tech-loginput input:focus{border-color:var(--brand);outline:none}.persona-switcher{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:999px;align-items:center;gap:6px;max-width:220px;padding:3px 6px 3px 11px;display:inline-flex}.persona-switcher select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;max-width:180px;font-size:12.5px;font-weight:800}.tech-board-tile .tech-board-top{align-items:center;gap:8px;display:flex}.tech-board-tile .tech-board-icon{opacity:.9}.tech-board-tile .tech-board-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:900}.tech-board-tile .tech-board-split{text-transform:none;letter-spacing:0;flex-wrap:wrap;gap:4px 8px;margin-top:4px;display:flex}.tech-board-tile .tech-board-split i{border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;font-style:normal;font-weight:800;display:inline-flex}.tech-board-tile .tech-board-split i.alta{color:#dc2626;background:#ef444429}.tech-board-tile .tech-board-split i.normal{color:#15803d;background:#22c55e29}[data-theme=dark] .tech-board-tile .tech-board-split i.alta{color:#f87171}[data-theme=dark] .tech-board-tile .tech-board-split i.normal{color:#4ade80}.tech-board-tile .tech-board-icon{color:inherit}.tech-board-tile.blue .tech-board-top{color:#60a5fa}.tech-board-tile.orange .tech-board-top{color:#fb923c}.tech-board-tile.indigo .tech-board-top{color:#818cf8}.tech-board-tile.amber .tech-board-top{color:#fbbf24}.tech-board-tile.green .tech-board-top{color:#4ade80}.tech-sector-select{color:#1a1205;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#f97316);border:1px solid #f59e0b;border-radius:999px;margin-left:auto;padding:5px 14px;font-size:11px;font-weight:900;transition:transform .12s,box-shadow .12s;box-shadow:0 2px 8px #f59e0b59}.tech-sector-select:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b73}.tech-sector-head .tech-sector-select.taken,.tech-sector-select.taken{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#ef4444;box-shadow:0 2px 8px #ef444459}.tech-act.release{color:#f87171;border-color:#ef444466}.tech-act.release:hover{background:#ef44441f;border-color:#ef444499}.tech-bulk-assign:disabled,.install-step.assign:disabled,.tech-act.assign:disabled{opacity:.5;cursor:not-allowed}@media (max-width:600px){.field-dashboard-hero{grid-template-columns:none;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:flex}.field-dashboard-hero h2{min-width:0;font-size:17px;line-height:1}.field-dashboard-hero .ops-hero-new{border-radius:9px;gap:5px;padding:8px 10px;font-size:11.5px}.field-dashboard-hero .ops-hero-new svg{width:15px;height:15px}.ops-layout{gap:9px}.ops-summary-grid{gap:7px}.ops-summary-grid article{border-radius:10px;min-height:64px;padding:8px 10px}.ops-summary-grid span{font-size:9.5px;line-height:1.05}.ops-summary-grid strong{margin-top:4px;font-size:18px;line-height:1}.ops-summary-grid p{margin-top:3px;font-size:10.5px;line-height:1.1}.ops-panel{border-radius:11px;padding:10px}.ops-layout .ops-panel-heading{margin-bottom:8px}.ops-layout .ops-panel-heading h3{font-size:15px;font-weight:700;line-height:1.2}.tech-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tech-board-tile{border-radius:9px;gap:2px;min-height:58px;padding:8px 10px}.tech-board-tile strong{font-size:20px;font-weight:800}.tech-board-tile span,.tech-board-tile .tech-board-label{letter-spacing:.01em;font-size:10px;font-weight:700}.tech-board-tile .tech-board-split{gap:3px;margin-top:2px}.tech-board-tile .tech-board-split i{padding:1px 5px;font-size:9.5px;font-weight:600}.tech-stat strong{font-size:18px;font-weight:800}.tech-stat span{font-weight:700}.tech-stat p{font-size:10.5px}.tech-sector-count{font-weight:600}.tech-sector-select{font-weight:800}.tech-pending{gap:14px;padding-bottom:84px}.tech-sector-group{gap:8px}.tech-mini-row{gap:11px;padding:12px 13px}.tech-mini-main{gap:7px}.tech-mini-name{font-size:14px;font-weight:700}.tech-mini-plan{font-weight:600}.tech-mini-phone{font-size:12px;font-weight:600}.tech-mini-line2,.tech-mini-ref{font-size:12px;line-height:1.45}.tech-mini-line2>span{font-weight:600}.tech-mini-ref>i{font-weight:500}.tech-chip,.tech-pill{padding:3px 9px;font-weight:700}.tech-bulk-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;flex-wrap:wrap;gap:8px 10px;position:fixed;box-shadow:0 12px 30px #00000080}.tech-bulk-bar span{font-weight:700}.tech-bulk-assign{flex:auto;justify-content:center;font-weight:800}.ops-layout .field-dashboard-hero{grid-template-columns:none;justify-content:space-between;align-items:center;min-height:40px;padding:7px 10px;display:flex}.ops-layout .field-dashboard-hero h2{font-size:16px}.ops-layout .field-dashboard-hero .ops-hero-new{padding:7px 9px;font-size:11px}.ops-layout .ops-summary-grid article{min-height:56px;padding:7px 9px}.ops-layout .ops-summary-grid p{display:none}.ops-layout .tech-board-tile{min-height:52px;padding:7px 9px}.ops-layout .tech-board-tile .tech-board-split{display:none}}.modserv-overlay{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modserv-modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:100%;max-width:760px;overflow:hidden;box-shadow:0 30px 60px #00000080}.modserv-head{border-bottom:1px solid var(--line);color:#c4b5fd;background:linear-gradient(#8b5cf624,#8b5cf600);align-items:center;gap:12px;padding:16px 20px;display:flex}.modserv-head>svg{flex:none}.modserv-head>div{flex-direction:column;gap:3px;min-width:0;display:flex}.modserv-head strong{color:var(--fg);font-size:15.5px;font-weight:900}.modserv-head small{color:var(--muted);font-size:12px;font-weight:700}.modserv-close{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;background:#ffffff0d;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.modserv-close:hover{color:var(--fg);background:#ffffff1a}.modserv-body{grid-template-columns:1.15fr .85fr;gap:0;display:grid}.modserv-new{border-right:1px solid var(--line);align-content:start;gap:13px;padding:18px 20px;display:grid}.modserv-history{background:#ffffff03;align-content:start;gap:10px;padding:18px 20px;display:grid}.modserv-new h4,.modserv-history h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:900;display:flex}.modserv-history h4 i{background:var(--line);color:var(--fg);letter-spacing:0;border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal}.modserv-cats-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:-2px;font-size:10.5px;font-weight:800}.modserv-cats{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.modserv-cat{--c:148, 163, 184;cursor:pointer;text-align:center;border:1px solid var(--line);color:var(--muted);background:#ffffff06;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 8px;font-size:10.5px;font-weight:800;line-height:1.1;transition:border-color .12s,background .12s,color .12s,transform 80ms;display:flex}.modserv-cat svg{color:rgb(var(--c));opacity:.92}.modserv-cat:hover{border-color:rgba(var(--c), .5);background:rgba(var(--c), .07);transform:translateY(-1px)}.modserv-cat.active{border-color:rgb(var(--c));background:rgba(var(--c), .16);color:rgb(var(--c));box-shadow:0 0 0 1px rgba(var(--c), .45) inset}.modserv-cat.active svg{opacity:1}.modserv-cat.plan,.modserv-submit.plan{--c:52, 211, 153}.modserv-cat.cuota,.modserv-submit.cuota{--c:251, 191, 36}.modserv-cat.vlan,.modserv-submit.vlan{--c:129, 140, 248}.modserv-cat.ip,.modserv-submit.ip{--c:96, 165, 250}.modserv-cat.estado,.modserv-submit.estado{--c:251, 146, 60}.modserv-cat.onu,.modserv-submit.onu{--c:192, 132, 252}.modserv-cat.reprov,.modserv-submit.reprov{--c:45, 212, 191}.modserv-cat.modalidad,.modserv-submit.modalidad{--c:244, 114, 182}.modserv-cat.fecha,.modserv-submit.fecha{--c:132, 204, 22}.modserv-cat.tecnico,.modserv-submit.tecnico{--c:56, 189, 248}.modserv-cat.traslado,.modserv-submit.traslado{--c:251, 113, 133}.modserv-form{border:1px solid var(--line);background:#ffffff05;border-radius:12px;gap:10px;padding:12px;display:grid}.modserv-row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modserv-field{gap:4px;display:grid}.modserv-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:800}.modserv-field select,.modserv-field input{border:1px solid var(--line);width:100%;color:var(--fg);background:#ffffff0a;border-radius:9px;outline:none;padding:9px 11px;font-size:13px;font-weight:700}.modserv-field select:focus,.modserv-field input:focus{border-color:#8b5cf680}.modserv-preview{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:5px;padding:10px 12px;display:grid}.modserv-preview.upgrade{background:#22c55e12;border-color:#22c55e66}.modserv-preview.downgrade{background:#fb923c12;border-color:#fb923c66}.modserv-preview-row{color:var(--fg);align-items:center;gap:8px;font-size:15px;font-weight:900;display:flex}.modserv-dir{border-radius:999px;margin-left:auto;padding:2px 9px;font-size:10.5px;font-weight:900}.modserv-dir.upgrade{color:#4ade80;background:#22c55e33}.modserv-dir.downgrade{color:#fb923c;background:#fb923c33}.modserv-dir.lateral{background:var(--line);color:var(--muted)}.modserv-preview small{color:var(--muted);font-size:11px;font-weight:700}.modserv-warn{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:800;display:flex}.modserv-warn.small{padding:7px 9px;font-size:11px}.modserv-error{color:#fca5a5;background:#dc26261f;border:1px solid #dc26264d;border-radius:9px;align-items:center;gap:7px;margin:0;padding:8px 11px;font-size:12px;font-weight:800;display:flex}.modserv-submit{--c:139, 92, 246;cursor:pointer;border:1px solid rgba(var(--c), .6);background:rgba(var(--c), .2);color:rgb(var(--c));border-radius:11px;margin-top:2px;padding:11px 16px;font-size:13px;font-weight:900;transition:background .12s,box-shadow .12s}.modserv-submit:hover{background:rgba(var(--c), .32);box-shadow:0 0 0 3px rgba(var(--c), .16)}.modserv-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.modserv-empty{color:var(--muted);margin:0;font-size:12px}.modserv-list{gap:8px;max-height:460px;display:grid;overflow-y:auto}.modserv-item{border:1px solid var(--line);background:#ffffff05;border-radius:10px;overflow:hidden}.modserv-item.open{border-color:#8b5cf666}.modserv-item-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:9px 11px;display:flex}.modserv-code{color:var(--fg);font-size:11px;font-weight:900}.modserv-cat-label{color:var(--muted);font-size:11px;font-weight:700}.modserv-badge{border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:900}.modserv-badge.green{color:#4ade80;background:#22c55e2e}.modserv-badge.amber{color:#fbbf24;background:#fbbf242e}.modserv-badge.red{color:#fca5a5;background:#dc26262e}.modserv-badge.indigo{color:#a5b4fc;background:#6366f12e}.modserv-badge.blue{color:#93c5fd;background:#3b82f62e}.modserv-badge.orange{color:#fb923c;background:#fb923c2e}.modserv-badge.muted{background:var(--line);color:var(--muted)}.modserv-item-body{gap:9px;padding:0 11px 11px;display:grid}.modserv-compare{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.modserv-side{border:1px solid var(--line);border-radius:8px;padding:7px 9px}.modserv-side b{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;font-size:10px}.modserv-side.before{background:#ffffff05}.modserv-side.after{background:#22c55e0f;border-color:#22c55e40}.modserv-side pre{color:var(--fg);white-space:pre-wrap;word-break:break-word;margin:4px 0 0;font-family:ui-monospace,monospace;font-size:10.5px}.modserv-diff{border:1px solid var(--line);background:#ffffff05;border-radius:9px;gap:4px;padding:8px 10px;display:grid}.modserv-diff-row{grid-template-columns:92px 1fr auto 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.modserv-diff-label{color:var(--muted);font-weight:600}.modserv-diff-before{color:var(--muted);text-align:right}.modserv-diff-after{color:var(--fg);font-weight:600}.modserv-diff-arrow{color:var(--muted);opacity:.7}.modserv-diff-row.changed .modserv-diff-after{color:#34d399}.modserv-diff-row.changed .modserv-diff-label{color:var(--fg)}.modserv-diff-row:not(.changed){opacity:.65}.modserv-switch{cursor:pointer;border:1px solid var(--line);background:#ffffff05;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:9px 11px;display:grid}.modserv-switch.on{background:#7c5cff12;border-color:#7c5cff73}.modserv-switch input{display:none}.modserv-switch-track{background:#94a3b859;border-radius:999px;width:38px;height:21px;transition:background .15s;position:relative}.modserv-switch.on .modserv-switch-track{background:#7c5cff}.modserv-switch-knob{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px}.modserv-switch.on .modserv-switch-knob{transform:translate(17px)}.modserv-switch-text{gap:1px;display:grid}.modserv-switch-text b{font-size:12.5px}.modserv-switch-text small{color:var(--muted);font-size:11px}.modserv-billing{color:#4ade80;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:800;display:flex}.modserv-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.modserv-meta b{color:var(--fg)}.modserv-events{gap:4px;margin:0;padding:0;list-style:none;display:grid}.modserv-events li{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.modserv-ev-dot{background:var(--muted);border-radius:999px;flex:none;width:7px;height:7px}.modserv-events li.ok .modserv-ev-dot{background:#4ade80}.modserv-events li.fail .modserv-ev-dot{background:#f87171}.modserv-events li.pending .modserv-ev-dot{background:#fbbf24}.modserv-ev-msg{color:var(--fg);flex:1}.modserv-events li small{color:var(--muted);font-size:10px}.modserv-actions{flex-wrap:wrap;gap:7px;display:flex}.modserv-actions button{cursor:pointer;border:1px solid var(--line);color:var(--fg);background:#ffffff0a;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.modserv-approve{color:#4ade80!important;background:#22c55e29!important;border-color:#22c55e80!important}.modserv-reject{color:#fca5a5!important;background:#dc26261f!important;border-color:#dc262680!important}.modserv-revert{color:#fb923c!important;background:#fb923c1f!important;border-color:#fb923c80!important}.modserv-actions button:disabled{opacity:.4;cursor:not-allowed}.modserv-need-auth{color:#fbbf24;align-items:center;gap:6px;font-size:11.5px;font-weight:800;display:inline-flex}.modserv-static{border:1px solid var(--line);background:#ffffff05;border-radius:9px;gap:8px;padding:9px;display:grid}.modserv-state-banner{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:11px;display:flex}.modserv-state-banner.suspend{color:#fca5a5;background:#dc262614;border-color:#dc262666}.modserv-state-banner.reactivate{color:#4ade80;background:#22c55e14;border-color:#22c55e66}.modserv-state-banner>div{flex-direction:column;gap:2px;display:flex}.modserv-state-banner strong{font-size:13px}.modserv-state-banner small{color:var(--muted);font-size:11px}@media (max-width:720px){.modserv-body{grid-template-columns:1fr}.modserv-new{border-right:none;border-bottom:1px solid var(--line)}}.svcprof-ok{color:#4ade80;font-weight:800}.svcprof-bad{color:#fca5a5;font-weight:800}.proc-toasts{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.proc-toast{pointer-events:auto;border:1px solid var(--line);background:var(--panel,#12161f);border-radius:12px;padding:11px 12px 12px;animation:.18s ease-out procIn;box-shadow:0 10px 30px #00000059}.proc-toast.success{border-color:#22c55e73}.proc-toast.error{border-color:#f8717180}.proc-toast-row{align-items:flex-start;gap:9px;display:flex}.proc-toast-icon{flex:none;margin-top:1px}.proc-toast.running .proc-toast-icon,.proc-toast.verifying .proc-toast-icon{color:#63b3ed}.proc-toast.success .proc-toast-icon{color:#4ade80}.proc-toast.error .proc-toast-icon{color:#f87171}.proc-toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.proc-toast-body b{color:var(--fg);font-size:12.5px;font-weight:800}.proc-toast-detail{color:var(--muted);word-break:break-word;font-size:11.5px;line-height:1.35}.proc-toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px}.proc-toast-close:hover{color:var(--fg);background:#ffffff14}.proc-bar{background:#ffffff14;border-radius:999px;height:5px;margin-top:9px;overflow:hidden}.proc-bar-fill{border-radius:999px;height:100%;display:block}.proc-bar-fill.indeterminate{background:linear-gradient(90deg,#38bdf8,#63b3ed);width:40%;animation:1.1s ease-in-out infinite procSlide}.proc-bar-fill.full{width:100%}.proc-bar-fill.full.success{background:linear-gradient(90deg,#22c55e,#16a34a)}.proc-bar-fill.full.error{background:linear-gradient(90deg,#ef4444,#b91c1c)}.proc-spin{animation:.9s linear infinite procSpin}.proc-inline{background:#38bdf80f;border:1px solid #63b3ed59;border-radius:10px;margin:8px 0;padding:9px 11px}.proc-inline-row{color:#63b3ed;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}@keyframes procSlide{0%{transform:translate(-110%)}to{transform:translate(360%)}}@keyframes procSpin{to{transform:rotate(360deg)}}@keyframes procIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.svcprof-actions{gap:8px;margin:4px 0 8px;display:flex}.svcprof-routers{border:1px solid var(--line);background:#ffffff05;border-radius:10px;margin:8px 0 10px;padding:10px 12px}.svcprof-routers-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:800;display:flex}.svcprof-selall{color:#63b3ed;cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none;font-size:11px;font-weight:800}.svcprof-selall:hover{text-decoration:underline}.svcprof-routers-list{flex-wrap:wrap;gap:8px;display:flex}.svcprof-router-chip{border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:12px;transition:border-color .12s,background .12s;display:inline-flex}.svcprof-router-chip.on{background:#63b3ed1a;border-color:#63b3ed}.svcprof-router-chip input{accent-color:#63b3ed;cursor:pointer;width:14px;height:14px;margin:0}.svcprof-router-dot{border-radius:50%;flex:none;width:8px;height:8px}.svcprof-router-dot.up{background:#4ade80;box-shadow:0 0 0 2px #4ade8033}.svcprof-router-dot.down{background:#f87171;box-shadow:0 0 0 2px #f8717133}.svcprof-router-dot.unk{background:var(--muted)}.svcprof-router-host{color:var(--muted);font-family:ui-monospace,monospace;font-size:10.5px;font-style:normal}.svcprof-router-warn{color:#fbbf24;margin:8px 0 0;font-size:11.5px}.svcprof-router-tag{color:#63b3ed;background:#63b3ed29;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-block}.svcprof-badge.part{color:#fb923c;background:#fb923c29}.svcprof-notice{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:9px;align-items:center;gap:7px;margin-bottom:8px;padding:9px 12px;font-size:12.5px;font-weight:800;display:flex}.svcprof-check{align-items:center;gap:8px;font-size:12px;font-weight:700;flex-direction:row!important;display:flex!important}.svcprof-check input{accent-color:#63b3ed;width:15px;height:15px}.svcprof-table{gap:4px;margin-top:12px;display:grid}.svcprof-trow{border:1px solid var(--line);background:#ffffff05;border-radius:9px;grid-template-columns:1.3fr 1.3fr 1fr 1.3fr .9fr 1fr;align-items:center;gap:8px;padding:9px 11px;font-size:12.5px;display:grid}.svcprof-trow.editing{background:#63b3ed14;border-color:#63b3ed}.svcprof-rowactions{justify-content:flex-end;gap:6px;display:flex}.svcprof-rowactions button{border:1px solid var(--line);width:28px;height:28px;color:var(--fg);cursor:pointer;background:#ffffff0a;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.svcprof-rowactions button:hover:not(:disabled){color:#63b3ed;background:#63b3ed29;border-color:#63b3ed}.svcprof-rowactions button.danger:hover:not(:disabled){color:#f87171;background:#f8717129;border-color:#f87171}.svcprof-rowactions button:disabled{opacity:.45;cursor:not-allowed}.svcprof-form-actions{align-items:center;gap:8px;display:flex}.svcprof-sync li.removed{color:#fca5a5}.svcprof-thead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#ffffff0a;font-size:10.5px;font-weight:800}.svcprof-mono{color:var(--fg);font-family:ui-monospace,monospace;font-size:11.5px}.svcprof-cut{color:#fb923c;font-style:normal;font-weight:800}.svcprof-badge{border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.svcprof-badge.ok{color:#4ade80;background:#22c55e29}.svcprof-badge.pend{color:#fbbf24;background:#fbbf2429}.svcprof-sync{border:1px solid var(--line);background:#ffffff05;border-radius:10px;margin-top:12px;padding:11px 13px}.svcprof-sync strong{font-size:12px}.svcprof-sync ul{gap:4px;margin:7px 0 0;padding:0;list-style:none;display:grid}.svcprof-sync li{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.svcprof-sync li.created{color:#4ade80}.svcprof-sync li.exists{color:var(--muted)}.svcprof-sync li.fail{color:#fca5a5}.dashboard-quick-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:6px;display:grid}.dashboard-quick-actions a{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);text-transform:uppercase;letter-spacing:.3px;text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;font-size:11px;font-weight:700;transition:border-color .12s,background .12s;display:flex}.dashboard-quick-actions a.qa-payment{color:#16a34a;border-color:color-mix(in srgb, #16a34a 28%, var(--line))}.dashboard-quick-actions a.qa-payment svg{color:#16a34a}.dashboard-quick-actions a.qa-payment:hover{background:color-mix(in srgb, #16a34a 8%, var(--panel))}.dashboard-quick-actions a.qa-ticket{color:#d97706;border-color:color-mix(in srgb, #d97706 28%, var(--line))}.dashboard-quick-actions a.qa-ticket svg{color:#d97706}.dashboard-quick-actions a.qa-ticket:hover{background:color-mix(in srgb, #d97706 8%, var(--panel))}.dashboard-quick-actions a.qa-install{color:#2563eb;border-color:color-mix(in srgb, #2563eb 28%, var(--line))}.dashboard-quick-actions a.qa-install svg{color:#2563eb}.dashboard-quick-actions a.qa-install:hover{background:color-mix(in srgb, #2563eb 8%, var(--panel))}.dashboard-quick-actions a.qa-client{color:#7c3aed;border-color:color-mix(in srgb, #7c3aed 28%, var(--line))}.dashboard-quick-actions a.qa-client svg{color:#7c3aed}.dashboard-quick-actions a.qa-client:hover{background:color-mix(in srgb, #7c3aed 8%, var(--panel))}.dashboard-quick-actions a.qa-reports{color:#64748b;border-color:color-mix(in srgb, #64748b 28%, var(--line))}.dashboard-quick-actions a.qa-reports svg{color:#64748b}.dashboard-quick-actions a.qa-reports:hover{background:color-mix(in srgb, #64748b 8%, var(--panel))}.quick-actions-bar{display:none}.ticket-template-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:800}.ticket-templates{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.ticket-templates button{border:1px solid var(--line);background:var(--panel-soft);min-height:30px;color:var(--muted);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:700;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ticket-templates button:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));background:color-mix(in srgb, var(--brand) 10%, var(--panel));color:var(--brand)}@media (max-width:760px){.customers-toolbar{display:none}.quick-actions-bar{z-index:50;background:var(--panel);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000024}.quick-actions-bar a{letter-spacing:.2px;text-transform:uppercase;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-width:54px;padding:7px 10px;font-size:10px;font-weight:700;display:flex}.quick-actions-bar a.qa-payment{color:#16a34a}.quick-actions-bar a.qa-ticket{color:#d97706}.quick-actions-bar a.qa-install{color:#2563eb}.quick-actions-bar a.qa-client{color:#7c3aed}.quick-actions-bar a.qa-reports{color:var(--muted)}.workspace .content-frame{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.dashboard-quick-actions{display:none}.integrations-layout,.integration-section,.integrations-redesign .integration-module-block,.network-device-card,.integration-detail-form{min-width:0}.integrations-redesign .integration-module-block,.network-device-card,.integration-detail-form{padding:14px}.device-card-top,.provider-card-heading,.discovered-olt-row{flex-direction:column;align-items:flex-start}.device-meta-grid,.network-mini-metrics,.olt-kpi-grid{grid-template-columns:1fr}.device-meta-grid strong{text-align:left;justify-self:start}.network-card-actions button,.detail-action-row button,.provider-test-button{flex:100%;justify-content:center;width:100%}.metric-card{gap:8px;min-height:96px;padding:12px}.metric-card strong{margin:6px 0 4px;font-size:22px}.metric-card p{font-size:11px}.ops-hero{padding:14px}.ops-hero p,.ops-hero>svg:last-child{display:none}.ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-grid.two{grid-template-columns:1fr}.ops-finance-layout{flex-direction:column-reverse;gap:18px;display:flex!important}.ops-finance-service-list button{border-radius:11px;justify-content:center;width:100%;min-height:44px;padding:0 16px;font-size:13px}.ops-finance-service-list article{flex-direction:column;align-items:stretch;gap:10px}.ops-ticket-create-grid{grid-template-columns:1fr}.ops-ticket-create-grid label.wide{grid-column:1}.ops-ticket-create-grid .customer-primary-button{width:100%;min-height:48px;font-size:14px}.ops-ticket-card{padding:12px}.ops-meta-row,.ops-location-line{display:none}.customers-layout{gap:8px;max-width:100%;overflow-x:hidden}.customers-crm-shell{gap:10px;padding:10px}.customers-hero,.customers-module-menu{display:none!important}.customer-notice{display:none}.customer-kpi-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;gap:8px;padding-bottom:2px;overflow:auto hidden;display:flex!important}.customer-kpi-strip::-webkit-scrollbar{display:none}.customer-crm-kpi{border-radius:10px;flex:0 0 120px!important;min-height:58px!important;padding:8px 8px 8px 44px!important}.customer-crm-kpi svg{width:28px!important;height:28px!important;padding:6px!important;top:12px!important;left:8px!important}.customer-crm-kpi strong{margin-top:1px;font-size:17px!important}.customer-crm-kpi span{line-height:1.3;font-size:9px!important}.customer-crm-kpi small{display:none}.customer-crm-filters{border-radius:10px;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;display:flex!important}.customer-crm-filters label:not(.search-filter){display:none}.customer-crm-filters .search-filter{flex:1;min-width:0}.customer-crm-filters .search-filter input{height:38px;font-size:13px}.customer-advanced-filter-button.icon-only{border-radius:9px;flex-shrink:0;width:38px;min-width:38px;height:38px;padding:0}.customers-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-metric-card{min-height:auto;padding:12px}.customer-metric-card strong{font-size:20px}.customers-dashboard-panels,.customer-profile-grid{grid-template-columns:1fr}.clients-master{position:static}.clients-detail-head{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px 12px}.customer-avatar{flex:0 0 32px;width:32px;height:32px;font-size:11px}.clients-detail-avatar{flex:0 0 28px!important;width:28px!important;height:28px!important;font-size:10px!important}.clients-detail-name h3{font-size:11px;font-weight:600}.clients-detail-meta{gap:4px}.clients-detail-meta span{font-size:9px;font-weight:500}.clients-detail-actions{border-radius:7px;padding:4px 8px;font-size:10px;font-weight:600}.customer-profile-tabs{scrollbar-width:none;border-radius:10px;flex-wrap:nowrap;gap:4px;padding:6px 8px;overflow-x:auto}.customer-profile-tabs::-webkit-scrollbar{display:none}.customer-profile-tabs button{white-space:nowrap;flex-shrink:0;padding:7px 9px;font-size:11px}.client-services-compact{gap:10px}.client-services-head{flex-direction:column;gap:6px}.client-services-head .customer-panel-heading{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:0;display:flex}.client-services-head .customer-panel-heading>:last-child{opacity:.7;flex-shrink:0;order:-1}.client-services-compact .customer-panel-heading .eyebrow,.client-services-head .eyebrow{letter-spacing:.04em;font-size:8px}.client-services-compact .customer-panel-heading h3,.client-services-head .customer-panel-heading h3{margin:1px 0 0;font-size:10px;font-weight:700}.client-services-head-actions{flex-wrap:nowrap;gap:6px;width:100%}.client-services-new,.client-services-technical{white-space:nowrap;flex:1;justify-content:center;padding:6px 8px;font-size:11px}.client-service-header{display:none}.client-service-row{grid-template-rows:auto auto auto;grid-template-columns:24px 46px 1fr auto 30px;align-items:center;gap:1px 8px;padding:8px}.client-service-row .bajas-expand{grid-area:1/1/4}.client-service-row .csr-status{grid-area:1/2/4}.client-service-row .csr-name{grid-area:1/3}.client-service-row .csr-estado{grid-area:1/4;justify-self:end}.client-service-row .end{grid-area:1/5/4}.client-service-row .csr-addr{grid-area:2/3/auto/6}.client-service-row .csr-ref{grid-area:3/3/auto/6}.client-service-row .client-service-plan,.client-service-row .client-service-amount,.client-service-row .csr-corte,.client-service-row .csr-proximo{display:none}.client-service-icon{border-radius:6px;width:26px;height:26px}.client-service-icon svg{width:13px;height:13px}.client-service-id{align-items:flex-start;gap:5px}.svc-code{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;display:block}.svc-sector{color:var(--muted);font-size:9.5px;font-weight:500;display:block}.svc-loc-addr,.svc-loc-ref{white-space:normal;text-overflow:clip;line-height:1.3;overflow:visible}.svc-loc{font-size:9.5px}.client-service-row .ftth-summary-state{margin-top:-2px;padding:2px 5px;font-size:8.5px}.client-service-more{width:28px;height:28px}.clients-resumen-stats{grid-template-columns:1fr 1fr}.clients-resumen-stats>span b{font-size:15px}.global-search,.breadcrumbs{display:none}.clients-master-pagination{display:none!important}.clients-detail{display:none}.clients-split.mobile-detail-open .clients-detail{gap:10px;display:grid}.clients-split.mobile-detail-open .clients-master{display:none}.clients-split.mobile-detail-open .detail-back-btn{display:inline-flex}.client-service-row{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--line));border-left:3px solid var(--brand);background:color-mix(in srgb, var(--brand) 4%, var(--panel));border-radius:10px}.client-service-detail{padding:0 4px 6px}.customer-expanded-grid{border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:6px}.customer-expanded-grid span{min-height:unset;border-radius:7px;gap:2px;padding:5px 6px;font-size:8.5px;font-weight:700}.customer-expanded-grid strong{overflow-wrap:anywhere;font-size:9.5px;font-weight:700}.client-service-card{margin:0}.client-services-table{gap:6px}.client-services-compact{padding:8px}.network-card-grid,.network-card-grid.two-col{grid-template-columns:1fr}.network-tabs button,.network-device-tabs button{padding:7px 9px;font-size:11px}.vlan-catalog-table,.nap-row-table,.sector-row-table,.svcprof-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.svcprof-trow{min-width:600px}.tech-order-title h4{font-size:14px}.tech-release-composer textarea,.tech-noc-composer textarea{min-height:56px}.customer-service-card[data-service-index="0"]{border-color:#38bdf84d;border-left-style:solid;border-left-width:3px}.customer-service-card[data-service-index="1"]{border-color:#c084fc4d;border-left-style:solid;border-left-width:3px}.customer-service-card[data-service-index="2"]{border-color:#4ade804d;border-left-style:solid;border-left-width:3px}.ftth-service-summary{flex-wrap:nowrap;align-items:center;gap:4px 5px;padding:7px 8px}.ftth-summary-name{flex:auto;order:0;min-width:0}.ftth-summary-name b{font-size:10.5px}.ftth-summary-name small{font-size:8.5px}.ftth-summary-index{border-radius:6px;flex-shrink:0;width:21px;height:21px;font-size:10.5px}.ftth-summary-state{flex-shrink:0;gap:3px;font-size:8.5px}.ftth-summary-state i{width:6px;height:6px}.ftth-summary-chip{flex-shrink:0;padding:1px 4px;font-size:8px}.ftth-summary-chevron{flex-shrink:0}.ftth-service-dashboard.collapsed{padding:6px 8px}.ftth-service-header .eyebrow{display:none}.ftth-service-dashboard .ftth-service-title strong{font-size:11px;font-weight:700}.ftth-service-dashboard .ftth-service-state{display:none!important}.ftth-service-plan>span{padding:3px 5px}.ftth-service-plan>span svg{width:14px;height:14px}.ftth-service-dashboard .ftth-service-plan b{font-size:11px}.ftth-service-plan small{font-size:9px}.ftth-service-kpis,.ftth-service-dashboard .ftth-service-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px}.ftth-service-kpis span{gap:1px 3px;font-size:9px}.ftth-service-kpis svg{width:18px;height:18px;padding:3px}.ftth-service-kpis strong{white-space:nowrap;font-size:9.5px}.ftth-service-kpis .price strong{font-size:10.5px}.ftth-card h4{margin-bottom:4px;font-size:9.5px}.ftth-network-details,.ftth-tx-card,.ftth-future-card{display:none}.ftth-service-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-service-actions button{padding:5px 8px;font-size:10px}.detail-status-group{align-items:center;gap:3px;display:flex}.detail-status-group .customer-status{padding:1px 5px;font-size:8px}}.prp-root{box-sizing:border-box;flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;padding:24px;display:flex}.prp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.prp-header-left{color:var(--brand);align-items:center;gap:12px;display:flex}.prp-title{color:var(--text);margin:0;font-size:20px;font-weight:700;line-height:1.2}.prp-subtitle{color:var(--muted);margin:2px 0 0;font-size:13px}.prp-header-stats{gap:12px;display:flex}.prp-stat{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:64px;padding:8px 16px}.prp-stat span{color:var(--brand);font-size:20px;font-weight:700;line-height:1;display:block}.prp-stat.warn span{color:#d97706}.prp-stat label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.prp-grid{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}.prp-left,.prp-right{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.prp-panel-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.prp-search-wrap{border:1.5px solid var(--line);background:var(--bg);border-radius:9px;align-items:center;gap:8px;padding:0 10px;transition:border-color .15s;display:flex}.prp-search-wrap:focus-within{border-color:var(--brand)}.prp-search-icon{color:var(--muted);flex-shrink:0}.prp-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-size:13px}.prp-search-clear{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.prp-search-clear:hover{background:var(--bg);color:var(--text)}.prp-customer-list{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow-y:auto}.prp-customer-row{background:var(--bg);cursor:pointer;text-align:left;border:1.5px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;transition:border-color .12s,background .12s;display:flex}.prp-customer-row:hover{border-color:var(--brand);background:var(--panel)}.prp-customer-row.selected{border-color:var(--brand);background:#eff6ff}[data-theme=dark] .prp-customer-row.selected{background:#1e3a5f}.prp-customer-avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.prp-customer-info{flex:1;min-width:0}.prp-customer-info strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.prp-customer-info span{color:var(--muted);font-size:11px}.prp-status-dot{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:600}.prp-status-dot.ok{color:#15803d;background:#dcfce7}.prp-status-dot.warn{color:#92400e;background:#fef3c7}.prp-status-dot.bad{color:#b91c1c;background:#fee2e2}[data-theme=dark] .prp-status-dot.ok{color:#86efac;background:#14532d}[data-theme=dark] .prp-status-dot.warn{color:#fcd34d;background:#451a03}[data-theme=dark] .prp-status-dot.bad{color:#fca5a5;background:#450a0a}.prp-selected-card{border:1.5px solid var(--brand);background:var(--bg);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.prp-selected-top{color:var(--brand);align-items:center;gap:7px;display:flex}.prp-selected-top strong{color:var(--text);flex:1;font-size:13px}.prp-selected-meta{color:var(--muted);gap:12px;font-size:12px;display:flex}.prp-code{font-family:monospace;font-size:11px}.prp-wallet-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;padding-top:6px;display:flex}.prp-wallet-row>div{flex-direction:column;gap:1px;display:flex}.prp-wallet-row label{color:var(--muted);text-transform:uppercase;font-size:10px}.prp-wallet-row strong{color:var(--text);font-size:14px}.prp-empty-hint{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.prp-empty-hint p{margin:0;font-size:13px}.prp-empty-hint small{font-size:11px}.prp-no-customer{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.prp-no-customer p{margin:0;font-size:14px}.prp-no-customer small{font-size:12px}.prp-form{flex-direction:column;gap:16px;display:flex}.prp-field-group{flex-direction:column;gap:7px;display:flex}.prp-field-label{color:var(--text);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.prp-required{color:#ef4444;font-size:11px;font-weight:600}.prp-optional{color:var(--muted);font-size:11px;font-weight:400}.prp-svc-count{color:var(--brand);margin-left:6px;font-size:11px}.prp-services-list{flex-direction:column;gap:6px;display:flex}.prp-service-row{border:1.5px solid var(--line);cursor:pointer;background:var(--bg);border-radius:9px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.prp-service-row:hover{border-color:var(--brand)}.prp-service-row.checked{border-color:var(--brand);background:#eff6ff}[data-theme=dark] .prp-service-row.checked{background:#1e3a5f}.prp-service-row.svc-warn{border-left:3px solid #f59e0b}.prp-service-row.svc-bad{border-left:3px solid #ef4444}.prp-service-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);flex-shrink:0}.prp-svc-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.prp-svc-type{color:var(--text);font-size:12px;font-weight:600}.prp-svc-plan{color:var(--text);opacity:.75;font-size:11px}[data-theme=dark] .prp-svc-plan{opacity:1;color:#cbd5e1}.prp-svc-code{color:var(--muted);font-family:monospace;font-size:10px}.prp-svc-right{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.prp-svc-status{border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.prp-svc-status.ok{color:#15803d;background:#dcfce7}.prp-svc-status.warn{color:#92400e;background:#fef3c7}.prp-svc-status.bad{color:#b91c1c;background:#fee2e2}[data-theme=dark] .prp-svc-status.ok{color:#86efac;background:#14532d}[data-theme=dark] .prp-svc-status.warn{color:#fcd34d;background:#451a03}[data-theme=dark] .prp-svc-status.bad{color:#fca5a5;background:#450a0a}.prp-svc-price{color:var(--text);font-size:13px;font-weight:700}.prp-services-total{color:var(--muted);text-align:right;padding-right:2px;font-size:12px}.prp-services-total strong{color:var(--brand)}.prp-op-toggle{gap:8px;display:flex}.prp-op-btn{border:1.5px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.prp-op-btn:hover{border-color:var(--brand);color:var(--brand)}.prp-op-btn.active{border-color:var(--brand);color:var(--brand);background:#eff6ff;font-weight:600}.prp-op-btn.warn.active{color:#92400e;background:#fffbeb;border-color:#f59e0b}[data-theme=dark] .prp-op-btn.active{background:#1e3a5f}[data-theme=dark] .prp-op-btn.warn.active{color:#fcd34d;background:#451a03}.prp-op-hint{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:flex-start;gap:6px;padding:6px 9px;font-size:11px;display:flex}[data-theme=dark] .prp-op-hint{color:#fcd34d;background:#451a03;border-color:#78350f}.prp-method-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.prp-method-btn{border:1.5px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;text-align:center;border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:10px 8px;font-size:11px;font-weight:500;transition:all .14s;display:flex}.prp-method-btn:hover{border-color:var(--brand);color:var(--brand)}.prp-method-btn.active{border-color:var(--brand);color:var(--brand);background:#eff6ff;font-weight:600}[data-theme=dark] .prp-method-btn.active{background:#1e3a5f}.prp-method-btn.prp-method-efectivo:hover{color:#16a34a;border-color:#16a34a}.prp-method-btn.prp-method-efectivo.active{color:#15803d;background:#f0fdf4;border-color:#16a34a}[data-theme=dark] .prp-method-btn.prp-method-efectivo.active{color:#4ade80;background:#14532d}.prp-method-btn.prp-method-transferencia:hover{color:#2563eb;border-color:#2563eb}.prp-method-btn.prp-method-transferencia.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}[data-theme=dark] .prp-method-btn.prp-method-transferencia.active{color:#60a5fa;background:#1e3a5f}.prp-method-btn.prp-method-deposito:hover{color:#7c3aed;border-color:#7c3aed}.prp-method-btn.prp-method-deposito.active{color:#6d28d9;background:#f5f3ff;border-color:#7c3aed}[data-theme=dark] .prp-method-btn.prp-method-deposito.active{color:#c4b5fd;background:#2e1065}.prp-method-btn.prp-method-enlinea:hover{color:#0891b2;border-color:#0891b2}.prp-method-btn.prp-method-enlinea.active{color:#0e7490;background:#ecfeff;border-color:#0891b2}[data-theme=dark] .prp-method-btn.prp-method-enlinea.active{color:#67e8f9;background:#083344}.prp-promise-grid{gap:8px;display:flex}.prp-promise-btn{border:1.5px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:13px;font-weight:500;transition:all .14s;display:flex}.prp-promise-btn:hover{color:#92400e;border-color:#f59e0b}.prp-promise-btn.active{color:#92400e;background:#fffbeb;border-color:#f59e0b;font-weight:700}[data-theme=dark] .prp-promise-btn.active{color:#fcd34d;background:#451a03}.prp-promise-expiry{color:#92400e;background:#fffbeb;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;display:flex}[data-theme=dark] .prp-promise-expiry{color:#fcd34d;background:#451a03}.prp-promise-expiry strong{font-weight:600}.prp-input{border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 12px;font-size:13px;transition:border-color .14s}.prp-input:focus{border-color:var(--brand)}.prp-input-warn{border-color:#f59e0b!important}.prp-textarea{border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;resize:vertical;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .14s}.prp-textarea:focus{border-color:var(--brand)}.prp-amount-wrap{border:1.5px solid var(--line);background:var(--bg);border-radius:8px;align-items:center;gap:0;transition:border-color .14s;display:flex;overflow:hidden}.prp-amount-wrap:focus-within{border-color:var(--brand)}.prp-currency{background:var(--panel-soft);border-right:1px solid var(--line);color:var(--muted);padding:9px 11px;font-size:13px;font-weight:600}.prp-amount-input{flex:1;border:none!important;border-radius:0!important}.prp-amount-input:focus{border:none}.prp-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}[data-theme=dark] .prp-errors{background:#450a0a;border-color:#7f1d1d}.prp-error-row{color:#b91c1c;align-items:center;gap:6px;font-size:12px;display:flex}[data-theme=dark] .prp-error-row{color:#fca5a5}.prp-submit-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:600;transition:background .14s,opacity .14s;display:flex}.prp-submit-btn:hover:not(:disabled){background:var(--brand-strong)}.prp-submit-btn:disabled{opacity:.45;cursor:not-allowed}.prp-submit-btn.warn{background:#d97706}.prp-submit-btn.warn:hover:not(:disabled){background:#b45309}.prp-submit-hint{text-align:center;color:var(--muted);margin-top:-6px;font-size:11px}.prp-receipt{flex-direction:column;gap:0;display:flex}.prp-receipt-hero{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:12px 12px 0 0;align-items:center;gap:14px;padding:20px;display:flex}[data-theme=dark] .prp-receipt-hero{background:linear-gradient(135deg,#064e3b,#065f46)}.prp-check-icon{color:#16a34a;flex-shrink:0}.prp-receipt-title{color:var(--text);font-size:15px;font-weight:700}.prp-receipt-num{color:var(--muted);margin-top:2px;font-family:monospace;font-size:12px}.prp-receipt-body{border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;overflow:hidden}.prp-receipt-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.prp-receipt-row:last-child{border-bottom:none}.prp-receipt-row span{color:var(--muted);flex-shrink:0}.prp-receipt-row strong{text-align:right;color:var(--text)}.prp-amount-highlight{background:var(--bg)}.prp-amount-highlight strong{color:var(--brand);font-size:16px}.prp-mono{font-family:monospace;font-size:12px!important}.prp-receipt-actions{gap:10px;margin-top:16px;display:flex}.prp-btn-outline{border:1.5px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;flex:1;padding:9px 14px;font-size:13px;font-weight:500;transition:border-color .14s}.prp-btn-outline:hover{border-color:var(--brand);color:var(--brand)}.prp-mobile-customer{background:var(--bg);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.prp-mobile-customer strong{color:var(--text);flex:1}.prp-history{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.prp-history-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.prp-history-count{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:3px 9px;font-size:12px}.prp-history-empty{text-align:center;color:var(--muted);padding:24px;font-size:13px}.prp-table-wrap{overflow-x:auto}.prp-table{border-collapse:collapse;width:100%;font-size:12px}.prp-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px;font-size:10px;font-weight:600}.prp-table td{border-bottom:1px solid var(--line);color:var(--text);vertical-align:top;padding:9px 12px}.prp-table tr:last-child td{border-bottom:none}.prp-table tr:hover td{background:var(--bg)}.prp-col-num{text-align:right}.prp-table-customer span{display:block}.prp-table-customer small{color:var(--muted);font-family:monospace;font-size:10px}.prp-table-services{max-width:200px;color:var(--muted)}.prp-table-notes{max-width:150px;color:var(--muted);font-style:italic}.prp-type-badge{white-space:nowrap;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600}.prp-type-badge.ok{color:#15803d;background:#dcfce7}.prp-type-badge.warn{color:#92400e;background:#fef3c7}[data-theme=dark] .prp-type-badge.ok{color:#86efac;background:#14532d}[data-theme=dark] .prp-type-badge.warn{color:#fcd34d;background:#451a03}@keyframes prp-spin{to{transform:rotate(360deg)}}.prp-back-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13px;font-weight:500;display:flex}.prp-show-form-btn{border:1.5px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:8px;width:100%;margin-top:4px;padding:9px;font-size:13px;font-weight:600}.mobile-only{display:none}@media (max-width:900px){.prp-grid{grid-template-columns:1fr}.prp-grid .prp-right,.prp-grid.prp-show-form .prp-left{display:none}.prp-grid.prp-show-form .prp-right,.mobile-only{display:flex}.desktop-only{display:none}.prp-method-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.prp-root{gap:12px;padding:12px}.prp-header{flex-direction:column;gap:10px}.prp-header-stats{justify-content:flex-start}.prp-left,.prp-right{padding:14px}.prp-receipt-actions{flex-direction:column}.prp-method-grid{grid-template-columns:repeat(2,1fr)}.prp-promise-grid{flex-wrap:wrap}}.prp-svc-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.prp-svc-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.prp-days-info{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.prp-days-label{font-weight:600}.prp-days-sub{color:var(--muted)}.prp-days-info.ok .prp-days-label{color:#16a34a}.prp-days-info.warning .prp-days-label{color:#ca8a04}.prp-days-info.danger .prp-days-label,.prp-days-info.suspended .prp-days-label{color:#dc2626}[data-theme=dark] .prp-days-info.ok .prp-days-label{color:#4ade80}[data-theme=dark] .prp-days-info.warning .prp-days-label{color:#fbbf24}[data-theme=dark] .prp-days-info.danger .prp-days-label,[data-theme=dark] .prp-days-info.suspended .prp-days-label{color:#f87171}.prp-promise-badge{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:600;display:flex}[data-theme=dark] .prp-promise-badge{color:#fcd34d;background:#451a03;border-color:#78350f}.prp-svc-promise-info{color:#92400e;background:#fffbeb;border-radius:5px;align-items:center;gap:5px;padding:2px 7px;font-size:10px;display:flex}[data-theme=dark] .prp-svc-promise-info{color:#fcd34d;background:#451a03}.prp-limit-warn{color:#dc2626;font-weight:600}.prp-promise-calc{background:var(--bg);border:1.5px solid #fde68a;border-radius:10px;flex-direction:column;gap:6px;margin-top:4px;padding:12px 14px;display:flex}[data-theme=dark] .prp-promise-calc{border-color:#78350f}.prp-promise-calc-title{color:var(--text);font-size:12px;font-weight:700}.prp-promise-calc-row{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.prp-promise-calc-row strong{color:var(--text)}.prp-promise-calc-row.highlight{border-top:1px solid var(--line);padding-top:5px}.prp-promise-calc-row.highlight strong{color:#d97706;font-size:13px}.prp-promise-limit{color:#dc2626;align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.prp-calc-preview{background:var(--bg);border:1.5px solid var(--line);border-radius:10px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.prp-calc-preview+.prp-calc-preview{margin-top:6px}.prp-calc-title{color:var(--text);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.prp-activates-badge{color:#15803d;background:#dcfce7;border-radius:20px;padding:1px 7px;font-size:10px;font-weight:600}[data-theme=dark] .prp-activates-badge{color:#86efac;background:#14532d}.prp-promise-fulfilled-badge{color:#92400e;background:#fef3c7;border-radius:20px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:600;display:flex}[data-theme=dark] .prp-promise-fulfilled-badge{color:#fcd34d;background:#451a03}.prp-calc-row{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.prp-calc-row strong{color:var(--text);font-size:13px}.prp-calc-row.warn{color:#92400e;align-items:center;gap:5px;font-size:11px;display:flex}[data-theme=dark] .prp-calc-row.warn{color:#fcd34d}.prp-calc-row.highlight{border-top:1px solid var(--line);margin-top:2px;padding-top:5px}.prp-calc-row.highlight strong{color:var(--brand);font-weight:700}.prp-calc-warn{color:#92400e;background:#fffbeb;border-radius:5px;align-items:flex-start;gap:5px;padding:4px 8px;font-size:11px;display:flex}[data-theme=dark] .prp-calc-warn{color:#fcd34d;background:#451a03}.prp-audit-btn{border:1.5px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:border-color .14s;display:flex}.prp-audit-btn:hover{border-color:var(--brand);color:var(--brand)}.prp-audit{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.prp-audit-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.prp-audit-close:hover{background:var(--bg);color:var(--text)}.prp-receipt-hero.promise{background:linear-gradient(135deg,#fffbeb,#fef3c7)}[data-theme=dark] .prp-receipt-hero.promise{background:linear-gradient(135deg,#451a03,#78350f)}.prp-promise-icon{color:#d97706;flex-shrink:0}.prp-receipt-row-block{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding:8px 16px;display:flex}.prp-receipt-svc-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.prp-receipt-promise-note{color:#92400e;align-items:center;gap:5px;font-size:11px;display:flex}[data-theme=dark] .prp-receipt-promise-note{color:#fcd34d}.prp-receipt-deduct{color:var(--muted);font-size:11px}.prp-receipt-deduct strong{color:#d97706}.prp-accent-row{color:var(--text);justify-content:space-between;align-items:center;padding:3px 0;font-size:13px;font-weight:600;display:flex}.prp-accent-row strong{color:var(--brand)}.prp-promise-row strong{color:#d97706}.prp-dash-cards{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.prp-dash-card{background:var(--panel);border:1.5px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;min-width:140px;padding:12px 16px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.prp-dash-card:hover{border-color:var(--brand);box-shadow:0 2px 8px var(--shadow)}.prp-dash-card.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--panel))}.prp-dash-card.day{border-color:color-mix(in srgb, #3b82f6 40%, var(--line))}.prp-dash-card.day:hover,.prp-dash-card.day.active{background:color-mix(in srgb, #3b82f6 8%, var(--panel));border-color:#3b82f6}.prp-dash-card.promise{border-color:color-mix(in srgb, #d97706 40%, var(--line))}.prp-dash-card.promise:hover,.prp-dash-card.promise.active{background:color-mix(in srgb, #d97706 8%, var(--panel));border-color:#d97706}.prp-dash-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:600}.prp-dash-value{color:var(--text);font-size:20px;font-weight:700;line-height:1.2}.prp-dash-sub{color:var(--muted);font-size:11px}.prp-dash-trend{margin-top:2px;font-size:10px}.prp-dash-trend.up{color:#16a34a}.prp-dash-trend.down{color:#dc2626}.prp-dash-trend.neutral{color:var(--muted)}.prp-prom-dot{font-size:11px}.prp-prom-dot.active{color:#d97706}.prp-prom-dot.done{color:#16a34a}.prp-prom-dot.expired{color:#dc2626}.prp-detail-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:8px;padding:16px 20px}.prp-detail-header{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.prp-method-badge{background:var(--line);color:var(--text);border-radius:20px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.prp-method-badge.efectivo{color:#16a34a;background:#16a34a2e}.prp-method-badge.transferencia{color:#3b82f6;background:#3b82f62e}.prp-method-badge.deposito{color:#7c3aed;background:#7c3aed2e}.prp-method-badge.enlinea{color:#0e7490;background:#0891b22e}.prp-svc-location{color:var(--muted);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:10px;display:flex}.prp-svc-nap{color:var(--brand);font-family:monospace;font-size:10px}.prp-promise-status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.prp-promise-status-badge.active{color:#d97706;background:#d977062e}.prp-promise-status-badge.fulfilled{color:#16a34a;background:#16a34a2e}.prp-promise-status-badge.expired{color:#dc2626;background:#dc26262e}.prp-promise-status-badge.cancelled{background:var(--line);color:var(--muted)}.prp-days-left{color:var(--muted);margin-left:4px;font-size:10px}.prp-table-sector{color:var(--muted);font-size:10px;display:block}@media (max-width:760px){.prp-dash-cards{gap:8px}.prp-dash-card{min-width:120px;padding:10px 12px}.prp-dash-value{font-size:17px}.prp-detail-panel{padding:12px 14px}}.prp-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prp-audit-btn.promise-btn{border-color:color-mix(in srgb, #d97706 50%, var(--line));color:#d97706}.prp-audit-btn.promise-btn:hover,.prp-audit-btn.promise-btn.active{background:color-mix(in srgb, #d97706 12%, var(--panel));border-color:#d97706}.prp-audit-btn.promise-btn.has-active{font-weight:600}.prp-promise-pill{color:#fff;vertical-align:middle;background:#d97706;border-radius:20px;margin-left:5px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.prp-history-toggle{cursor:pointer;color:var(--text);font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.prp-history-toggle:hover .prp-panel-label{color:var(--brand)}.prp-chevron{color:var(--muted);font-size:14px;transition:transform .2s;display:inline-block}.prp-chevron.open{transform:rotate(0)}.prp-chevron:not(.open){transform:rotate(-90deg)}.prp-history-perpage{gap:4px;margin-left:auto;display:flex}.prp-perpage-btn{background:var(--bg);border:1px solid var(--line);cursor:pointer;color:var(--muted);border-radius:6px;padding:3px 9px;font-size:11px;transition:all .15s}.prp-perpage-btn:hover{border-color:var(--brand);color:var(--brand)}.prp-perpage-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.prp-pagination{justify-content:center;gap:4px;padding:10px 0 4px;display:flex}.prp-page-btn{background:var(--bg);border:1px solid var(--line);cursor:pointer;min-width:30px;color:var(--muted);border-radius:6px;padding:4px 8px;font-size:12px;transition:all .15s}.prp-page-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.prp-page-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.prp-page-btn:disabled{opacity:.35;cursor:default}.prp-history-summary{background:var(--bg);border:1px solid var(--line);border-radius:10px;align-items:stretch;gap:0;margin-top:12px;display:flex;overflow:hidden}.prp-summary-item{flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 14px;display:flex}.prp-summary-item span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.prp-summary-item strong{color:var(--text);font-size:16px}.prp-summary-item.accent strong{color:var(--brand)}.prp-summary-sep{background:var(--line);flex-shrink:0;width:1px}@media (max-width:760px){.prp-history-summary{flex-wrap:wrap}.prp-summary-item{min-width:45%}.prp-summary-sep{display:none}.prp-header-actions{gap:6px}}.prp-reverse-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f121c8c;justify-content:center;align-items:center;padding:16px;animation:.14s prp-reverse-fade;display:flex;position:fixed;inset:0}@keyframes prp-reverse-fade{0%{opacity:0}to{opacity:1}}.prp-reverse-modal{background:var(--surface,#fff);border:1px solid var(--border,#00000014);border-radius:16px;width:100%;max-width:440px;padding:20px;animation:.16s cubic-bezier(.2,.8,.3,1.2) prp-reverse-pop;box-shadow:0 24px 60px #00000047}@keyframes prp-reverse-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.prp-reverse-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.prp-reverse-icon{color:#d64545;background:#d645451f;border:1px solid #d6454559;border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.prp-reverse-head h3{color:var(--text);margin:0;font-size:16px;font-weight:800}.prp-reverse-head p{color:var(--muted);margin:2px 0 0;font-size:12px}.prp-reverse-amount{background:#d6454512;border:1px solid #d6454533;border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 14px;display:flex}.prp-reverse-amount span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.prp-reverse-amount strong{color:#d64545;font-size:20px;font-weight:800}.prp-reverse-warn{color:var(--muted);margin:0 0 14px;font-size:12.5px;line-height:1.45}.prp-reverse-warn b{color:var(--text)}.prp-reverse-label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.prp-reverse-textarea{resize:vertical;width:100%;min-height:64px;color:var(--text);background:var(--bg,#f8fafc);border:1px solid var(--border,#0000001f);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.prp-reverse-textarea:focus{border-color:#d64545;outline:none;box-shadow:0 0 0 3px #d6454526}.prp-reverse-textarea:disabled{opacity:.6}.prp-reverse-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.prp-reverse-cancel,.prp-reverse-confirm{cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:700;transition:background .15s,opacity .15s,transform .1s}.prp-reverse-cancel{color:var(--text);border:1px solid var(--border,#00000026);background:0 0}.prp-reverse-cancel:hover:not(:disabled){background:var(--bg,#0000000a)}.prp-reverse-confirm{color:#fff;background:#d64545;border:1px solid #d64545}.prp-reverse-confirm:hover:not(:disabled){background:#c23a3a}.prp-reverse-confirm:active:not(:disabled){transform:scale(.97)}.prp-reverse-confirm:disabled,.prp-reverse-cancel:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.prp-reverse-actions{flex-direction:column-reverse}.prp-reverse-cancel,.prp-reverse-confirm{width:100%}}.prp-promises-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:14px;display:grid}.prp-promise-card{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;transition:box-shadow .15s;display:flex}.prp-promise-card:hover{box-shadow:0 2px 8px var(--shadow)}.prp-promise-card.prom-active{border-color:color-mix(in srgb, #d97706 50%, var(--line))}.prp-promise-card.prom-fulfilled{border-color:color-mix(in srgb, #16a34a 40%, var(--line))}.prp-promise-card.prom-expired{border-color:color-mix(in srgb, #dc2626 40%, var(--line));opacity:.75}.prp-promise-card-top{align-items:center;gap:8px;display:flex}.prp-promise-card-id{color:var(--muted);margin-left:auto;font-family:monospace;font-size:10px}.prp-promise-card-days{color:#d97706;font-size:11px;font-weight:600}.prp-promise-card-days.expired-text{color:#dc2626}.prp-promise-card-customer{color:var(--text);font-size:13px;font-weight:600}.prp-promise-card-customer small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.prp-promise-card-service{color:var(--muted);font-size:12px}.prp-promise-card-service strong{color:var(--text)}.prp-promise-card-meta{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 12px;margin-top:2px;padding-top:6px;font-size:10px;display:flex}.prp-promise-card-notes{color:var(--muted);border-top:1px solid var(--line);padding-top:6px;font-size:11px;font-style:italic}.prp-promises-section{border-color:color-mix(in srgb, #d97706 30%, var(--line))}@media (max-width:600px){.prp-promises-cards{grid-template-columns:1fr}}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-info{background:var(--info-bg);color:var(--info-text)}.badge-neutral{background:var(--panel-soft);color:var(--muted);border:1px solid var(--line)}.badge-brand{background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-muted{color:var(--muted)}.text-brand{color:var(--brand)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([class]),select:not([class]),textarea:not([class]){border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--panel-soft);color:var(--text);outline:none;transition:border-color .14s,box-shadow .14s}input:not([type=checkbox]):not([type=radio]):not([class]):focus,select:not([class]):focus,textarea:not([class]):focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 14%, transparent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}body,.sidebar,.topbar,.panel,.metric-card,.wide-panel,.side-panel{transition:background .2s,border-color .2s,color .15s}.breadcrumbs a{color:var(--muted);transition:color .12s}.breadcrumbs a:hover{color:var(--brand)}.breadcrumbs .sep{opacity:.4}@media (prefers-color-scheme:light){.metric-card:hover{transform:translateY(-1px)}}.tone-blue svg{color:var(--brand)}.tone-green svg{color:var(--success)}.tone-amber svg{color:var(--warning)}.tone-rose svg{color:var(--danger)}.tone-info svg{color:var(--info)}.nav-accordion-panel a[aria-current=page],.nav-accordion-panel a.nav-active{background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand-strong);font-weight:600}[data-theme=dark] .nav-accordion-panel a[aria-current=page],[data-theme=dark] .nav-accordion-panel a.nav-active{color:var(--brand);background:#58a6ff24}.new-install-card{border-radius:var(--r-lg)!important}.content-frame{padding:20px 24px}.adv-onu-root{flex-direction:column;gap:20px;padding:4px 0;display:flex}.adv-onu-header{color:var(--brand);align-items:flex-start;gap:12px;padding:2px 0 4px;display:flex}.adv-onu-header>svg{flex-shrink:0;margin-top:4px}.adv-onu-title{color:var(--text);margin:0 0 4px;font-size:16px;font-weight:800}.adv-onu-subtitle{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.adv-onu-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.adv-onu-section-title{color:var(--text);letter-spacing:.01em;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:800;display:flex}.adv-onu-search-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.adv-onu-field{flex-direction:column;gap:5px;display:flex}.adv-onu-field--grow{flex:1;min-width:160px}.adv-onu-field--action{flex-shrink:0}.adv-onu-field--span2{grid-column:span 2}.adv-onu-label{color:var(--muted);letter-spacing:.03em;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:flex}.adv-onu-label-sm{color:var(--muted);font-size:10.5px;font-weight:700}.adv-onu-input,.adv-onu-select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.adv-onu-input:focus,.adv-onu-select:focus{border-color:var(--brand)}.adv-onu-input--sm{width:90px;padding:6px 8px;font-size:12px}.adv-onu-checkbox{accent-color:var(--brand)}.adv-onu-btn-search{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:7px;padding:8px 16px;font-size:12.5px;font-weight:700;transition:opacity .15s;display:inline-flex}.adv-onu-btn-search:disabled{opacity:.55;cursor:not-allowed}.adv-onu-btn-provision{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 20px;font-size:13px;font-weight:800;transition:opacity .15s,transform .1s;display:inline-flex}.adv-onu-btn-provision:disabled{opacity:.55;cursor:not-allowed}.adv-onu-btn-provision:not(:disabled):hover{opacity:.92;transform:translateY(-1px)}.adv-onu-btn-refresh-all{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex}.adv-onu-btn-refresh-all:disabled{opacity:.5;cursor:not-allowed}.adv-onu-btn-refresh-all:not(:disabled):hover{color:var(--brand);border-color:var(--brand)}.adv-onu-config-form{flex-direction:column;gap:12px;display:flex}.adv-onu-config-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:10px;display:grid}.adv-onu-mode-btns{gap:6px;display:flex}.adv-onu-mode-btn{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 0;font-size:12.5px;font-weight:700;transition:all .15s}.adv-onu-mode-btn.active{background:color-mix(in srgb, var(--brand) 15%, transparent);border-color:var(--brand);color:var(--brand-strong)}.adv-onu-speed-inputs{gap:8px;margin-top:6px;display:flex}.adv-onu-speed-field{flex-direction:column;gap:4px;display:flex}.adv-onu-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.adv-onu-actions-note{color:var(--muted);font-size:11.5px}.adv-onu-alert{border-radius:10px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:12.5px;line-height:1.5;display:flex}.adv-onu-alert>svg{flex-shrink:0;margin-top:1px}.adv-onu-alert--ok{color:#86efac;background:#22c55e1f;border:1px solid #22c55e59}.adv-onu-alert--warn{color:#fde047;background:#eab3081f;border:1px solid #eab30859}.adv-onu-alert--error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459}.adv-onu-alert--info{color:#93c5fd;background:#3b82f61f;border:1px solid #3b82f659}.olt-compat-badge{border-left:3px solid;border-radius:6px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.olt-compat-badge>svg{flex-shrink:0;margin-top:2px}.olt-compat-label{flex:1}.olt-compat-note{opacity:.75;margin-top:1px;font-size:11px;display:block}.olt-compat-badge--ok{color:#86efac;background:#22c55e1a;border-color:#4ade80}.olt-compat-badge--warn{color:#fde047;background:#eab3081a;border-color:#facc15}.olt-compat-badge--partial{color:#93c5fd;background:#3b82f61a;border-color:#60a5fa}.adv-onu-table-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.adv-onu-empty{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:28px 0;font-size:13px;display:flex}.adv-onu-thead,.adv-onu-row{grid-template-columns:52px 1.8fr 1.1fr 1.3fr 70px 80px 90px 120px 72px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.adv-onu-thead{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:10.5px;font-weight:850}.adv-onu-row{border-radius:9px}.adv-onu-row:hover{background:var(--panel)}.adv-onu-row:not(:last-child){border-bottom:1px solid #94a3b81a}.adv-onu-col-status{justify-content:center;align-items:center;display:flex}.adv-onu-col-ref{flex-direction:column;gap:2px;display:flex}.adv-onu-col-ref strong{color:var(--text);font-size:13px;font-weight:700}.adv-onu-col-olt{flex-direction:column;gap:2px;display:flex}.adv-onu-col-olt span{font-size:12px;font-weight:600}.adv-onu-col-olt small{color:var(--muted);font-size:10.5px}.adv-onu-col-acts{gap:4px;display:flex}.adv-onu-notes{color:var(--muted);font-size:10.5px}.adv-onu-sn{color:var(--text);background:#94a3b81a;border-radius:5px;padding:2px 5px;font-family:monospace;font-size:11px}.adv-onu-vlan-tag{color:#c7d2fe;background:#6366f133;border:1px solid #6366f166;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:11.5px;font-weight:800;display:inline-block}.adv-onu-mode-tag{letter-spacing:.05em;border-radius:6px;padding:2px 8px;font-size:10.5px;font-weight:900;display:inline-block}.adv-onu-mode-tag--bridge{color:#67e8f9;background:#06b6d426;border:1px solid #06b6d466}.adv-onu-mode-tag--dhcp{color:#d8b4fe;background:#a855f726;border:1px solid #a855f766}.adv-onu-speed{font-size:11px;line-height:1.6}.adv-onu-unlimited{color:var(--muted);font-size:11px}.adv-onu-dot{justify-content:center;align-items:center;display:flex}.adv-onu-dot--online svg{color:#22c55e}.adv-onu-dot--offline svg{color:#ef4444}.adv-onu-dot--error svg{color:#f59e0b}.adv-onu-dot--prov svg{color:var(--muted)}.adv-onu-act-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:7px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.adv-onu-act-btn:hover{color:var(--brand);border-color:var(--brand)}.adv-onu-act-btn--danger:hover{color:#ef4444;border-color:#ef4444}.adv-onu-act-btn:disabled{opacity:.5;cursor:not-allowed}.spin{animation:.9s linear infinite adv-spin}@keyframes adv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:900px){.adv-onu-config-grid{grid-template-columns:1fr 1fr}.adv-onu-field--span2{grid-column:span 2}}@media (max-width:640px){.adv-onu-search-row{flex-direction:column}.adv-onu-config-grid{grid-template-columns:1fr}.adv-onu-field--span2{grid-column:span 1}.adv-onu-thead{display:none}.adv-onu-row{grid-template-columns:36px 1fr;gap:6px}.adv-onu-col-vlan,.adv-onu-col-mode,.adv-onu-col-speed,.adv-onu-col-check{display:none}}.onu-detail-panel{background:#94a3b80f;border:1px solid #94a3b826;border-radius:10px;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding:16px;display:grid}.onu-detail-col{flex-direction:column;gap:8px;display:flex}.onu-detail-col--status{border-left:1px solid #94a3b826;padding-left:16px}.onu-detail-row{justify-content:space-between;align-items:center;gap:8px;font-size:.83rem;display:flex}.onu-detail-row>span:first-child{color:var(--muted);white-space:nowrap}.onu-detail-row>span:last-child,.onu-detail-row>strong{font-weight:500}.onu-status-line{align-items:center;gap:8px;margin-bottom:4px;font-size:.9rem;display:flex}.onu-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.onu-status-dot--online{background:#22c55e;box-shadow:0 0 6px #22c55e88}.onu-status-dot--offline{background:#ef4444}.onu-signal{font-size:.88rem;font-weight:600}.signal-excellent{color:#4ade80}.signal-good{color:#86efac}.signal-warn{color:#fbbf24}.signal-bad{color:#f87171}.onu-vlan-tags{flex-wrap:wrap;gap:4px;display:flex}.onu-profile-badge{color:#818cf8;background:#6366f126;border:1px solid #6366f14d;border-radius:5px;padding:1px 7px;font-size:.76rem}.onu-ports-section{grid-column:1/-1;margin-top:4px}.onu-ports-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.78rem;font-weight:500}.onu-ports-table{border-collapse:collapse;border:1px solid #94a3b826;border-radius:8px;width:100%;font-size:.83rem;overflow:hidden}.onu-ports-table th{text-align:left;color:var(--muted);background:#94a3b814;border-bottom:1px solid #94a3b826;padding:7px 12px;font-size:.78rem;font-weight:600}.onu-ports-table td{border-bottom:1px solid #94a3b814;padding:7px 12px}.onu-ports-table tr:last-child td{border-bottom:none}.onu-unbound{color:var(--muted);font-size:.75rem;font-style:italic}.onu-ports-table--preview{margin-top:8px}.wan-cards-section{flex-direction:column;gap:12px;margin-top:20px;display:flex}.wan-cards-header{align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.wan-cards-hint{color:var(--muted);font-size:.78rem}.wan-card{background:#94a3b808;border:1px solid #94a3b833;border-radius:10px;transition:border-color .15s;overflow:hidden}.wan-card:hover{border-color:#94a3b859}.wan-card-header{background:#94a3b812;border-bottom:1px solid #94a3b826;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.wan-card-title{align-items:center;gap:10px;font-size:.88rem;font-weight:600;display:flex}.wan-card-vlan{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:5px;padding:1px 8px;font-size:.78rem;font-weight:500}.wan-card-remove{cursor:pointer;color:var(--muted);background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex}.wan-card-remove:hover{color:#ef4444}.wan-card-body{flex-direction:column;gap:14px;padding:14px;display:flex}.wan-card-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.wan-mode-pills{flex-wrap:wrap;gap:6px;display:flex}.wan-mode-pill{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #94a3b840;border-radius:20px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.wan-mode-pill:hover{border-color:var(--brand);color:var(--brand)}.wan-mode-pill.active{background:var(--brand);border-color:var(--brand);color:#fff}.wan-mode-desc{color:var(--muted);background:#94a3b80f;border-radius:6px;padding:8px 12px;font-size:.78rem;line-height:1.5}.wan-pppoe-row{flex-wrap:wrap;gap:12px;display:flex}.wan-pppoe-row .adv-onu-field{flex:1;min-width:180px}.wan-binding-section{flex-direction:column;gap:8px;display:flex}.wan-port-grid{flex-wrap:wrap;gap:8px;display:flex}.wan-port-check{cursor:pointer;background:0 0;border:1px solid #94a3b833;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:72px;padding:10px 14px;transition:all .15s;display:flex;position:relative}.wan-port-check input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.wan-port-check:hover{border-color:var(--brand);background:#3b82f60d}.wan-port-check.checked{background:#22c55e14;border-color:#22c55e}.wan-port-check--wifi{border-style:dashed}.wan-port-check--wifi.checked{background:#8b5cf614;border-color:#8b5cf6}.wan-port-label{font-size:.82rem;font-weight:600}.wan-port-sub{color:var(--muted);font-size:.7rem}.wan-port-check.checked .wan-port-label{color:#22c55e}.wan-port-check--wifi.checked .wan-port-label{color:#8b5cf6}.wan-add-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px dashed #94a3b859;border-radius:8px;align-self:flex-start;align-items:center;gap:8px;padding:10px 18px;font-size:.84rem;font-weight:500;transition:all .15s;display:flex}.wan-add-btn:hover{border-color:var(--brand);color:var(--brand);background:#3b82f60d}.adv-onu-speed-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.adv-onu-speed-field{align-items:center;gap:8px;display:flex}.adv-onu-speed-unit{color:var(--muted);font-size:.82rem}.adv-onu-thead--multi{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #94a3b826;grid-template-columns:36px 2fr 1.2fr 1.2fr 2fr 1fr 1.2fr 72px;align-items:center;gap:8px;padding:8px 14px;font-size:.76rem;font-weight:600;display:grid}.adv-onu-row--multi{border-bottom:1px solid #94a3b814;grid-template-columns:36px 2fr 1.2fr 1.2fr 2fr 1fr 1.2fr 72px;align-items:center;gap:8px;padding:10px 14px;font-size:.83rem;transition:background .12s;display:grid}.adv-onu-row--multi:last-child{border-bottom:none}.adv-onu-row--multi:hover{background:#94a3b80d}.adv-onu-act-group{gap:6px;display:flex}.adv-onu-error-note{color:#f87171;margin-top:2px;font-size:.73rem;display:block}.onu-wan-summary{flex-wrap:wrap;gap:4px;display:flex}.onu-wan-badge{border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.74rem;font-weight:500;display:inline-flex}.onu-wan-badge em{opacity:.75;font-style:normal;font-weight:400}.onu-wan-badge--bridge{color:#818cf8;background:#6366f11f;border-color:#6366f140}.onu-wan-badge--dhcp{color:#4ade80;background:#22c55e1f;border-color:#22c55e40}.onu-wan-badge--pppoe{color:#fb923c;background:#f973161f;border-color:#f9731640}@media (max-width:1100px){.adv-onu-thead--multi,.adv-onu-row--multi{grid-template-columns:36px 2fr 1fr 1fr 2fr 1fr}.adv-onu-thead--multi>span:nth-child(7),.adv-onu-row--multi>span:nth-child(7){display:none}}@media (max-width:800px){.onu-detail-panel{grid-template-columns:1fr}.onu-detail-col--status{border-top:1px solid #94a3b826;border-left:none;padding-top:12px;padding-left:0}.adv-onu-thead--multi{display:none}.adv-onu-row--multi{grid-template-columns:36px 1fr}.adv-onu-row--multi>span:nth-child(n+3):not(:nth-child(8)){display:none}}.port-grid-section{margin-top:20px}.port-grid-label{color:var(--muted);margin-bottom:12px;font-size:.8rem;font-weight:500}.port-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.port-card{background:#94a3b80a;border:1px dashed #94a3b84d;border-radius:10px;flex-direction:column;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;overflow:hidden}.port-card--assigned{border-style:solid;box-shadow:inset 0 0 0 1px}.port-card-head{color:var(--muted);border-bottom:1px solid #94a3b81f;flex-direction:column;align-items:center;padding:10px 8px 6px;transition:color .2s;display:flex}.port-card-name{letter-spacing:.01em;align-items:center;gap:5px;font-size:.85rem;font-weight:700;display:flex}.port-card-sub{opacity:.7;margin-top:2px;font-size:.7rem}.port-assigned-badge{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #0000;padding:4px 6px;font-size:.72rem;font-weight:600;overflow:hidden}.port-card-body{flex-direction:column;flex:1;gap:8px;padding:10px 8px;display:flex}.port-vlan-row{align-items:center;gap:6px;display:flex}.port-vlan-label{color:var(--muted);flex-shrink:0;width:34px;font-size:.72rem;font-weight:600}.port-vlan-input{min-width:0;color:var(--text);font-size:.82rem;font-family:var(--font-mono,monospace);appearance:textfield;background:#94a3b814;border:1px solid #94a3b833;border-radius:6px;outline:none;flex:1;padding:5px 7px;transition:border-color .15s}.port-vlan-input::-webkit-inner-spin-button{display:none}.port-vlan-input:focus{border-color:var(--brand)}.port-mode-row{flex-direction:column;gap:4px;display:flex}.port-mode-btn{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #94a3b833;border-radius:6px;padding:5px 6px;font-size:.75rem;font-weight:600;transition:all .15s}.port-mode-btn:hover{color:var(--text);border-color:#94a3b866}.port-mode-btn--active{font-weight:700}.port-clear-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;align-items:center;gap:4px;margin-top:2px;padding:2px 0;font-size:.7rem;transition:color .15s;display:flex}.port-clear-btn:hover{color:#ef4444}.port-mode-badge{border:1px solid #0000;border-radius:5px;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.pppoe-section{border:1px solid #f9731633;border-radius:10px;margin-top:16px;overflow:hidden}.pppoe-section-title{text-transform:uppercase;letter-spacing:.05em;color:#fb923c;background:#f9731612;border-bottom:1px solid #f9731626;padding:9px 14px;font-size:.78rem;font-weight:700}.pppoe-wan-group{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pppoe-wan-group+.pppoe-wan-group{border-top:1px solid #f973161f}.pppoe-wan-label{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.pppoe-wan-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wan-preview-section{margin-top:14px}.wan-preview-toggle{cursor:pointer;color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:.8rem;font-weight:500;transition:color .15s;display:flex}.wan-preview-toggle:hover{color:var(--text)}.wan-preview-list{flex-direction:column;gap:6px;margin-top:10px;display:flex}.wan-preview-item{background:#94a3b80d;border:1px solid #94a3b81f;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;display:flex}.wan-preview-idx{color:var(--muted);min-width:48px;font-size:.75rem;font-weight:600}.wan-preview-ports{flex-wrap:wrap;gap:5px;margin-left:auto;display:flex}.port-chip{color:var(--muted);background:#94a3b81a;border:1px solid #94a3b833;border-radius:4px;align-items:center;gap:3px;padding:2px 7px;font-size:.73rem;font-weight:600;display:inline-flex}.port-chip--wifi{color:#8b5cf6;background:#8b5cf61a;border-color:#8b5cf640}@media (max-width:900px){.port-grid{grid-template-columns:repeat(3,1fr)}.pppoe-wan-fields{grid-template-columns:1fr}}@media (max-width:600px){.port-grid{grid-template-columns:repeat(2,1fr)}}.sentinel-devices-cards{display:none}@media (max-width:820px){.sentinel-devices-table{display:none}.sentinel-devices-cards{gap:10px;display:grid}}.sentinel-device-card{border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);border-radius:12px;gap:7px;padding:12px 14px;display:grid}.sentinel-device-card .sdc-head{align-items:center;gap:9px;display:flex}.sentinel-device-card .sdc-semaforo{border-radius:50%;flex:none;width:12px;height:12px}.sentinel-device-card .sdc-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.sentinel-device-card .sdc-type{color:var(--muted);white-space:nowrap;background:#94a3b829;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.sentinel-device-card .sdc-meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.sentinel-device-card .sdc-sub{color:var(--muted);font-size:12px}.sentinel-device-card .sdc-actions{border-top:1px solid var(--line,#f1f1f1);flex-wrap:wrap;align-items:center;gap:7px;margin-top:1px;padding-top:9px;display:flex}.sdc-group-head{text-transform:uppercase;letter-spacing:.4px;border:1px solid;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:5px 13px;font-size:12px;font-weight:800;display:inline-flex}.sdc-group-head span{color:var(--muted);font-weight:700}.dev-action{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:5px 9px;font-size:12.5px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dev-action:hover{color:var(--text);background:#94a3b824}.dev-action.active{color:#6366f1;background:#6366f114;border-color:#c7d2fe}.dev-action.danger:hover{color:#dc2626;background:#dc262612;border-color:#fca5a5}.noc-layout{gap:10px}.noc-layout .ops-hero{align-items:center;gap:10px;padding:12px 14px}.noc-layout .ops-hero .eyebrow{font-size:10px;line-height:1.15}.noc-layout .ops-hero h2{margin:2px 0;font-size:clamp(19px,4.6vw,25px);line-height:1.08}.noc-layout .ops-hero p{max-width:740px;margin:2px 0 0;font-size:12px;line-height:1.25}.noc-layout .ops-hero-actions{align-items:center;gap:8px}.noc-layout .ops-hero-actions>svg{width:22px;height:22px}.noc-layout .customer-primary-button{border-radius:8px;min-height:34px;padding:0 12px;font-size:12px}.noc-layout .noc-work-tabs{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.noc-layout .noc-work-tabs a{white-space:nowrap;text-overflow:ellipsis;border-radius:8px;justify-content:center;min-height:34px;padding:0 6px;font-size:10.5px;line-height:1.1;overflow:hidden}.noc-layout .noc-work-tabs svg{flex:none;width:13px;height:13px}.noc-work-tabs--colored a{border-left:3px solid var(--tab-color,var(--line));background:color-mix(in srgb, var(--tab-color) 10%, var(--panel));color:var(--text)}.noc-work-tabs--colored a svg{color:var(--tab-color,var(--muted))}.noc-work-tabs--colored a:hover{border-color:color-mix(in srgb, var(--tab-color) 55%, var(--line));color:var(--text)}.noc-work-tabs--colored a.active{border-color:color-mix(in srgb, var(--tab-color) 60%, var(--line));background:color-mix(in srgb, var(--tab-color) 16%, var(--panel));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tab-color) 30%, transparent)}.noc-work-tabs--colored a.active svg{color:var(--tab-color)}.noc-layout .ops-summary-grid{gap:8px}.noc-layout .ops-summary-grid article{border-radius:10px;min-height:80px;padding:11px 12px}.noc-layout .ops-summary-grid span{font-size:10px;line-height:1.1}.noc-layout .ops-summary-grid strong{margin-top:5px;font-size:clamp(20px,4.8vw,25px);line-height:1}.noc-layout .ops-summary-grid p{margin:5px 0 0;font-size:11px;line-height:1.15}.noc-layout .noc-order-card{padding:10px}.noc-layout .noc-order-card h3{font-size:clamp(14px,3.8vw,16px)}.noc-layout .noc-progress{height:8px;margin:9px 0}.noc-layout .field-order-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.noc-layout .field-order-meta span{border-radius:9px;min-height:48px;padding:7px 8px;font-size:clamp(10px,2.35vw,12px);line-height:1.1}.noc-layout .field-order-meta strong{margin-top:3px;font-size:clamp(12px,3vw,14px)}.noc-layout .field-resource-list,.noc-layout .field-log-list{margin-top:8px}.noc-quick .noc-quick-title{margin-bottom:6px;display:block}.noc-quick .noc-quick-row{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:760px){.noc-layout{gap:7px}.noc-layout .ops-hero{padding:8px 11px;display:block}.noc-layout .ops-hero .eyebrow{letter-spacing:.05em;opacity:.7;font-size:8.5px}.noc-layout .ops-hero h2{margin:0;font-size:clamp(16px,4.4vw,20px)}.noc-layout .ops-hero p,.noc-layout .ops-hero-actions{display:none}.noc-quick{padding:9px 10px}.noc-quick .noc-quick-title{margin-bottom:5px;font-size:9px}.noc-quick .noc-quick-row{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-2px;padding:0 2px 2px;overflow-x:auto}.noc-quick .noc-quick-row::-webkit-scrollbar{display:none}.noc-quick .noc-quick-row>*{flex:none}.noc-layout .customer-primary-button{white-space:nowrap;min-height:32px;padding:0 10px}.noc-layout .noc-work-tabs{scrollbar-width:none;gap:6px;margin-inline:-2px;padding:0 2px 3px;display:flex;overflow-x:auto}.noc-layout .noc-work-tabs::-webkit-scrollbar{display:none}.noc-layout .noc-work-tabs a{flex:none;min-width:112px;min-height:32px;padding:0 9px}.noc-layout .ops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.noc-layout .ops-summary-grid article{min-height:0;padding:7px 10px}.noc-layout .ops-summary-grid span{font-size:9.5px}.noc-layout .ops-summary-grid strong{margin-top:2px;font-size:clamp(18px,4.6vw,22px)}.noc-layout .ops-summary-grid p{margin-top:2px;font-size:10px}.noc-layout .field-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:390px){.noc-layout .ops-hero{grid-template-columns:1fr}.noc-layout .ops-hero-actions{justify-content:flex-start}.noc-layout .field-order-meta span{min-height:46px;padding:6px 7px}}.tech-gps-live{background:linear-gradient(90deg,#13d8e71f,#1764ff14);border:1px solid #13d8e747;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.tech-gps-ping{background:#13d8e7;border-radius:50%;flex:none;width:12px;height:12px;animation:1.4s ease-out infinite tech-gps-ping}@keyframes tech-gps-ping{0%{box-shadow:0 0 #13d8e78c}70%{box-shadow:0 0 0 13px #13d8e700}to{box-shadow:0 0 #13d8e700}}.tech-gps-info{flex-direction:column;gap:2px;min-width:0;display:flex}.tech-gps-info strong{font-size:14px}.tech-gps-info small{color:#7b8aa0;font-size:12px}.tech-gps-done{background:#22c55e1a;border:1px solid #22c55e38;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.tech-gps-dot{background:#22c55e;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 3px #22c55e2e}.tech-gps-done small{color:#3f7a52;font-size:12px}.onu-olt-picker{gap:6px;margin:0 0 10px;display:grid}.onu-olt-picker>span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.onu-olt-picker select{border:1.5px solid color-mix(in srgb, var(--brand) 40%, var(--line));background:var(--panel);width:100%;height:48px;color:var(--text);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:12px;padding:0 12px;font-size:16px;font-weight:800}.onu-olt-picker select:focus{border-color:var(--brand);outline:none}:root{--channel-inbox:#7c3aed;--channel-qr:#16a34a;--channel-meta:#1877f2}:root[data-theme=dark]{--channel-inbox:#a78bfa;--channel-qr:#4ade80;--channel-meta:#4b9bff}.communication-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-soft);gap:10px;min-width:0;padding:16px;display:grid}.communication-card h3{margin:0;font-size:15px}.communication-card p{color:var(--muted);margin:0;font-size:13px}.communication-form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.communication-form-row input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);min-width:0;color:var(--text);flex:200px;padding:10px 12px}.gateway-section button:not(.gateway-head),.communication-card button{border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--gw-accent,var(--brand)) 45%, var(--line));background:color-mix(in srgb, var(--gw-accent,var(--brand)) 14%, var(--panel));min-height:42px;color:var(--text);cursor:pointer;padding:10px 16px;font-weight:600;transition:background .14s,transform 80ms}.gateway-section button:not(.gateway-head):hover,.communication-card button:hover{background:color-mix(in srgb, var(--gw-accent,var(--brand)) 24%, var(--panel))}.gateway-section button:not(.gateway-head):active{transform:translateY(1px)}.gateway-section button:disabled,.communication-card button:disabled{opacity:.55;cursor:not-allowed}.gateway-section{border:1px solid var(--line);border-left:4px solid var(--gw-accent,var(--brand));border-radius:var(--r-lg);background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--gw-accent) 12%, transparent), transparent 40%), var(--panel);box-shadow:var(--shadow);overflow:hidden}.gateway-head{text-align:left;cursor:pointer;width:100%;min-height:68px;color:var(--text);background:0 0;border:0;align-items:center;gap:14px;padding:16px 18px;display:flex}.gateway-head:hover{background:color-mix(in srgb, var(--gw-accent) 7%, transparent)}.gateway-icon{background:color-mix(in srgb, var(--gw-accent) 18%, var(--panel-soft));width:42px;height:42px;color:var(--gw-accent);border-radius:12px;flex:0 0 42px;place-items:center;font-size:20px;display:grid}.gateway-head-text{flex:auto;gap:2px;min-width:0;display:grid}.gateway-title{font-size:15.5px;font-weight:700}.gateway-subtitle{color:var(--muted);font-size:12.5px}.gateway-badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;padding:4px 11px;font-size:11.5px;font-weight:700}.gateway-badge.ok{background:var(--success-bg);color:var(--success-text)}.gateway-badge.pending{background:var(--warning-bg);color:var(--warning-text)}.gateway-badge.off{background:color-mix(in srgb, var(--muted) 16%, transparent);color:var(--muted)}.gateway-chevron{color:var(--muted);flex:none;font-size:15px;transition:transform .16s}.gateway-chevron.open{transform:rotate(180deg)}.gateway-body{border-top:1px solid color-mix(in srgb, var(--gw-accent) 20%, var(--line));gap:14px;padding:4px 18px 18px;display:grid}@media (max-width:640px){.communication-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gateway-head{gap:12px;min-height:64px;padding:14px}.gateway-subtitle{font-size:12px}.gateway-body{padding:4px 14px 16px}.communication-form-row input{flex-basis:100%}.communication-form-row button{width:100%}}@media (max-width:400px){.communication-summary-grid{grid-template-columns:1fr}}.tx-page{gap:14px;min-width:0;display:grid}.tx-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tx-head h1{font-size:20px;font-weight:900}.tx-head p{color:var(--muted);margin-top:2px;font-size:12.5px;font-weight:700}.tx-head-actions{gap:8px;display:flex}.tx-btn{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:9px 13px;font-size:12.5px;font-weight:800;display:inline-flex}.tx-btn:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}.tx-btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;border:0}.tx-filters{border:1px solid var(--line);background:var(--panel);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;display:grid}.tx-filters label{color:var(--muted);gap:5px;min-width:0;font-size:11.5px;font-weight:900;display:grid}.tx-filters input,.tx-filters select{box-sizing:border-box;border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);border-radius:9px;padding:9px 10px;font-size:13px}.tx-filters .tx-search{grid-column:1/-1}.tx-search-box{border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;align-items:center;gap:8px;padding:0 10px;display:flex}.tx-search-box input{background:0 0;border:0;padding:9px 0}.tx-table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow-x:auto}.tx-table{border-collapse:collapse;width:100%;font-size:12.5px}.tx-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 12px;font-size:11px;font-weight:900}.tx-table td{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);vertical-align:middle;padding:10px 12px}.tx-table tbody tr:hover{background:color-mix(in srgb, var(--brand) 5%, transparent)}.tx-table td.r,.tx-table th.r{text-align:right;font-variant-numeric:tabular-nums}.tx-table td strong{font-weight:800}.tx-table td small{color:var(--muted);font-weight:700}.tx-dte{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.tx-empty{text-align:center;color:var(--muted);font-weight:700;padding:26px!important}.tx-badge{border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:900;display:inline-block}.tx-badge.ok{color:#16a34a;background:#22c55e29}.tx-badge.bad{color:#ef4444;background:#ef444429}.tx-badge.warn{color:#d97706;background:#f59e0b29}.tx-badge.neutral{background:color-mix(in srgb, var(--muted) 18%, transparent);color:var(--muted)}.tx-footer{gap:14px;display:grid}.tx-pager{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;font-weight:700;display:flex}.tx-pager button{border:1px solid var(--line);background:var(--panel-soft);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:9px;place-items:center;display:grid}.tx-pager button:disabled{opacity:.4;cursor:not-allowed}.tx-pager .tx-pageno{color:var(--text);font-weight:900}.tx-pager select{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);border-radius:9px;padding:7px 9px}.tx-sum-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tx-sum-cards article{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:3px;padding:14px 16px;display:grid}.tx-sum-cards article span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:900}.tx-sum-cards article strong{font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.tx-sum-cards article em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.tx-sum-cards article.ok strong{color:#16a34a}.tx-sum-cards article.bad strong{color:#ef4444}.tx-sum-cards article.net{background:linear-gradient(135deg, color-mix(in srgb, var(--brand) 14%, var(--panel)), var(--panel))}.tx-fel-audit{border:1px dashed var(--line);color:var(--muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:800;display:flex}.tx-fel-audit b{border-radius:999px;padding:3px 9px}.tx-fel-audit b.ok{color:#16a34a;background:#22c55e29}.tx-fel-audit b.bad{color:#ef4444;background:#ef444429}.tx-fel-audit b.warn{color:#d97706;background:#f59e0b29}.tx-fel-audit b.neutral{background:color-mix(in srgb, var(--muted) 16%, transparent)}@media (max-width:900px){.tx-filters,.tx-sum-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.tx-filters,.tx-sum-cards{grid-template-columns:1fr}}.tx-felbar{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.tx-felbar-title{color:var(--muted);align-items:center;gap:7px;margin-right:4px;font-size:12px;font-weight:900;display:inline-flex}.tx-chip{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12px;font-weight:800;transition:border-color .12s,background .12s;display:inline-flex}.tx-chip b{font-weight:900}.tx-chip:hover{border-color:color-mix(in srgb, var(--brand) 50%, var(--line))}.tx-chip.active{outline:2px solid #0000}.tx-chip.ok b{color:#16a34a}.tx-chip.warn b{color:#d97706}.tx-chip.bad b{color:#ef4444}.tx-chip.neutral b{color:var(--muted)}.tx-chip.active{color:#fff;background:var(--brand);border-color:var(--brand)}.tx-chip.active b{color:#fff}.tx-chip.ok.active{background:#16a34a;border-color:#16a34a}.tx-chip.warn.active{background:#d97706;border-color:#d97706}.tx-chip.bad.active{background:#ef4444;border-color:#ef4444}.tx-chip.neutral.active{background:var(--muted);border-color:var(--muted)}.tx-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tx-table th.sortable span{align-items:center;gap:5px;display:inline-flex}.tx-table th.r.sortable span{justify-content:flex-end}.tx-table th.sortable:hover{color:var(--text)}.tx-table th.sorted{color:var(--brand)}.tx-sort-hint{opacity:.35;font-size:11px}.tx-cols{position:relative}.tx-cols-menu{z-index:30;border:1px solid var(--line);background:var(--panel);border-radius:11px;gap:2px;min-width:190px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #00000059}.tx-cols-menu label{color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:7px 9px;font-size:12.5px;font-weight:700;display:flex}.tx-cols-menu label:hover{background:var(--panel-soft)}.tx-cols-menu input{width:auto;margin:0}.input{width:100%;font:inherit;color:var(--text);background:var(--panel-soft);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;min-height:40px;padding:10px 12px;font-size:13.5px}textarea.input{resize:vertical;min-height:96px;line-height:1.5}.input:focus{border-color:var(--blue,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb24}.input::placeholder{color:var(--muted)}.noc-card-compact{padding:10px 12px}.noc-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.noc-card-id{min-width:0}.noc-card-ref{letter-spacing:.03em;color:var(--muted);font-size:10.5px;font-weight:800}.noc-card-compact h3{margin:2px 0 1px;font-size:14px;line-height:1.2}.noc-card-compact>.noc-card-head p{font-size:11.5px}.noc-card-status{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;padding:3px 10px;font-size:10.5px;font-weight:900}.noc-card-status.st-new{color:#60a5fa;background:#2563eb29;border-color:#2563eb66}.noc-card-status.st-assigned{color:#a78bfa;background:#8b5cf629;border-color:#8b5cf666}.noc-card-status.st-in_progress{color:#fbbf24;background:#f59e0b29;border-color:#f59e0b66}.noc-card-status.st-on_hold,.noc-card-status.st-noc_validation{color:#f87171;background:#ef44442e;border-color:#ef444473}.noc-card-status.st-completed{color:#4ade80;background:#22c55e29;border-color:#22c55e66}.noc-card-chips{flex-wrap:wrap;gap:5px;margin:8px 0 2px;display:flex}.noc-chip{white-space:nowrap;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 60%, transparent);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:800;display:inline-flex}.noc-chip svg{opacity:.85}.chip-author{color:#7dd3fc;background:#38bdf81f;border-color:#38bdf859}.chip-tech{color:#a5b4fc;background:#6366f124;border-color:#6366f166}.chip-eta{color:#67e8f9;background:#06b6d41f;border-color:#06b6d459}.chip-sla{color:var(--text);background:#94a3b824}.chip-pay.pay-ok{color:#4ade80;background:#22c55e29;border-color:#22c55e66}.chip-pay.pay-warn{color:#fbbf24;background:#f59e0b29;border-color:#f59e0b66}.chip-pay.pay-bad{color:#f87171;background:#ef44442e;border-color:#ef444473}.chip-validacion.done{color:#86efac;background:#22c55e1f;border-color:#22c55e59}.chip-validacion.blink{color:#fca5a5;background:#ef444433;border-color:#ef4444;font-weight:900;animation:1s step-end infinite nocValidBlink}@keyframes nocValidBlink{0%,55%{opacity:1}56%,to{opacity:.35}}.noc-card-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.noc-card-actions button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;align-items:center;gap:5px;padding:5px 11px;font-size:11.5px;font-weight:800;display:inline-flex}.noc-card-actions .act-call{color:#60a5fa;background:#2563eb1a;border-color:#2563eb80}.noc-card-actions .act-wa{color:#4ade80;background:#22c55e1a;border-color:#22c55e80}.noc-card-actions .act-done{color:#052e16;background:#22c55e;border-color:#22c55eb3}.noc-card-expand{opacity:.85;margin-left:auto}.noc-card-detail{flex-direction:column;gap:8px;margin-top:10px;display:flex}.noc-card-actions .act-take{color:#fff;background:#8b5cf6;border-color:#8b5cf699}.noc-card-actions .act-pause{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b99}.noc-card-actions .act-resume{color:#4ade80;background:#22c55e1f;border-color:#22c55e99}
