/* NORCOM NOC · Experience v6 / 2026-10-08 */
/* Fonte e iconografia de código aberto, armazenadas localmente por exigência de CSP. */
@font-face{font-family:"Manrope NOC";src:url("/app-assets/manrope-latin.woff2") format("woff2");font-weight:400 800;font-display:swap}
:root{font-family:"Manrope NOC",Inter,system-ui,sans-serif;--bg:#07131e;--surface:#102332;--surface-2:#193244;--line:#29495b;--border:#29495b;--text:#e9f3f9;--muted:#91adbf;--accent:#64e6b7;--blue:#8fc5ed;--amber:#ffd38e;--red:#ff9da5;--sidebar:248px;--radius:15px}
body{font-family:"Manrope NOC",Inter,system-ui,sans-serif;background:radial-gradient(ellipse at 62% -7%,#17485846,transparent 52%),#07131e;color:var(--text);font-size:13px;letter-spacing:.005em}
a,button,input,select,textarea{font-family:inherit}
button{transition:background .16s,border-color .16s,color .16s,transform .16s}
button:active:not(:disabled){transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #71e9bf;outline-offset:2px}
h1,h2,h3{letter-spacing:-.027em}
h1{font-weight:800}
h2{font-weight:750}
.muted{color:#97b1c3}
.ui-icon{stroke-width:1.85}
.v6-icon{display:block;width:22px;height:22px;filter:brightness(0) saturate(100%) invert(89%) sepia(21%) saturate(491%) hue-rotate(92deg) brightness(102%) contrast(87%)}
.v6-overline{font-size:10px;letter-spacing:.19em;color:#9dcbd1;font-weight:800;text-transform:uppercase}
.v6-quiet{font-size:11px;color:#96b1c2;line-height:1.7}
.sidebar{background:#0a1a28!important;border-right:1px solid #24475a!important;padding:23px 12px 16px!important}
.sidebar .brand{padding:5px 14px 19px!important;border-bottom:1px solid #244658;margin:0 0 16px!important}
.sidebar .brand img{width:38px!important;height:38px!important}
.sidebar .brand-name{font-size:16px;letter-spacing:.015em}
.sidebar .brand small{font-size:9px;letter-spacing:.13em;color:#86a8bd}
.sidebar .nav-group-label{font-size:9px;color:#759caf;letter-spacing:.18em;margin:21px 14px 8px}
.sidebar .nav-button{border:1px solid transparent!important;border-radius:11px!important;font-weight:650;color:#9fbbcb;min-height:44px!important;font-size:12px!important;margin:3px 0!important;padding:9px 13px!important;gap:11px!important}
.sidebar .nav-button .ui-icon{width:19px;height:19px;color:#80b2b8}
.sidebar .nav-button.selected{background:#18453d!important;border-color:#32695a!important;color:#bafbdd!important;box-shadow:inset 3px 0 #65e8b6!important}
.sidebar .nav-button.selected .ui-icon{color:#83efc2}
.sidebar .nav-button:hover{background:#153044;color:#f0fcff}
.sidebar .sidebar-bottom{background:#0b2030;border-top:1px solid #294858;border-radius:12px;padding:13px 14px;margin-top:auto}
.sidebar .sidebar-location{font-size:11px}.sidebar .sidebar-location span{font-size:10px;color:#82a9b9}
.sidebar .release-label{font-size:9px;color:#8fcbb9}
.topbar{height:69px!important;background:#0b1b28ee!important;border-bottom:1px solid #254457!important;backdrop-filter:blur(22px);padding:0 30px!important}
.topbar .breadcrumb-root{color:#7fa1b8}
.topbar .breadcrumb strong{font-size:13px;font-weight:750;color:#e5f5f8}
.topbar .connection{background:#103125;border:1px solid #315e51;color:#c0f1d8;padding:8px 11px;border-radius:99px;font-size:10px;font-weight:700}
.topbar .connection[data-state=connecting]{background:#332b20;border-color:#725c40;color:#f9d4a7}
.topbar .connection[data-state=offline]{background:#3a232c;border-color:#80505b;color:#ffd0d3}
.topbar .refresh-button{border-color:#366456;background:#153d33;color:#b5f7da;font-size:11px}
.topbar .header-actions .ghost{font-weight:700}
#shell main{max-width:1710px;padding:28px 30px 36px}
.page-heading h1{font-size:31px;font-weight:800;letter-spacing:-1.1px}
.page-heading .muted{font-size:12px;color:#9db6c8}
.page>.panel,.panel,.device-detail,.support-card{background:#102333;border:1px solid #2c4b5d;box-shadow:none;border-radius:15px}
.panel-heading h2{font-size:15px}
.ghost,.filter-button{background:#163044;border:1px solid #35536b;color:#d3e9f6;font-weight:650}
.ghost:hover:not(:disabled),.filter-button:hover:not(:disabled){background:#1c4552;border-color:#568475}
.primary{background:#65e6b9;color:#07382b;font-weight:800}
.primary:hover:not(:disabled){background:#94f6d3}
input:not([type=checkbox]),select,textarea{background:#0d2030!important;border:1px solid #375366!important;color:#ecf6fb;font-size:12px!important;min-height:42px}
.page-switcher{background:transparent;border:0;padding:0;gap:7px;margin-bottom:18px}
.page-switcher button{background:#132b3b;border:1px solid #2f4d61;color:#9eb8c9;border-radius:9px;min-height:39px;padding:8px 16px;font-size:11px;font-weight:700}
.page-switcher button.selected{background:#1a4c40;border:1px solid #3f7864;color:#baf9de;box-shadow:none}
/* LOGIN — experiência dedicada desktop */
#login-screen.login-wrap{background:radial-gradient(ellipse at 21% 5%,#164f536c,transparent 52%),radial-gradient(ellipse at 80% 90%,#173b5668,transparent 45%),#071724;min-height:100dvh;padding:32px;display:flex;align-items:center;justify-content:center;overflow:auto}
#login-screen .login-layout{position:relative;width:min(1220px,100%);max-width:1220px;display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(24px,5vw,85px);align-items:center}
#login-screen .login-story{display:flex!important;flex-direction:column;align-items:flex-start;min-width:0;padding:34px 0}
#login-screen .login-story .eyebrow{font-size:11px;letter-spacing:.18em;color:#9dd5ce;margin-bottom:25px}
#login-screen .login-story h1{font-size:clamp(42px,4.4vw,69px);line-height:1.075;letter-spacing:-2.7px;font-weight:800;max-width:640px}
#login-screen .login-story h1 em{font-style:normal;color:#7bf3c2}
#login-screen .login-story>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#a7c5d2;max-width:465px;margin:21px 0 0}
#login-screen .network-art{position:relative;margin:32px 0 22px;max-width:520px;width:100%;height:235px;border:1px solid #2e6a70;background:radial-gradient(ellipse at center,#1a5e5778,transparent 62%),linear-gradient(140deg,#0d293a,#11293b);border-radius:23px;overflow:hidden}
#login-screen .network-art::after{position:absolute;content:'';inset:0;pointer-events:none;background-image:linear-gradient(#7fe0cf0c 1px,transparent 1px),linear-gradient(90deg,#7fe0cf0c 1px,transparent 1px);background-size:28px 28px}
#login-screen .network-center{border:1px solid #457d69;background:#134c45;box-shadow:0 0 60px #2adeb455}
#login-screen .network-nodes span{font-size:11px;background:#163849;border:1px solid #3b7d7b;color:#caefed;border-radius:10px}
#login-screen .login-signature{margin-top:5px;font-size:11px;color:#98bfc7;font-weight:650}
#login-screen .v6-login-features{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px}
#login-screen .v6-login-features>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#aed4ce;font-weight:700}
#login-screen .v6-login-features .v6-icon{width:16px;height:16px}
#login-screen .login-card{display:flex;flex-direction:column;background:#102635ed;border:1px solid #355b68;box-shadow:0 30px 95px #03121b99;padding:35px 35px 29px;border-radius:23px;width:100%;max-width:440px;margin:0 0 0 auto}
#login-screen .login-card .brand{margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid #2e5061}
#login-screen .login-card .brand img{width:44px;height:44px}
#login-screen .login-card .brand-name{font-size:20px;color:#f0f9fb}
#login-screen .login-card .brand small{font-size:9px;color:#9ec0ca}
#login-screen .login-heading h2{font-size:27px;font-weight:790;letter-spacing:-1px}
#login-screen .login-heading .muted{color:#9bb5c2;font-size:12px;margin-top:9px}
#login-screen .login-card label{font-size:11px;font-weight:800;color:#b9d5da;margin-top:22px}
#login-screen .login-card input{min-height:51px;font-size:13px!important;border-radius:10px!important;padding:12px 14px}
#login-screen .login-card input:focus{border-color:#59c6a6!important}
#login-screen .password-wrap input{padding-right:86px!important}
#login-screen .password-wrap button{color:#99e5d0;font-weight:750;font-size:11px}
#login-screen #login-button{min-height:52px;width:100%;margin-top:26px;font-size:13px;border-radius:10px}
#login-screen .login-security{border-top:1px solid #29495b;padding-top:20px;margin-top:22px;font-size:10px;color:#98bbc3}
#login-screen .login-install{font-size:11px;color:#8dd7c0;margin:13px auto 0}
#login-screen #login-error{font-size:11px;color:#ffb6bd;min-height:0}
/* DASHBOARD — superfícies contínuas e linhas, não cartões aninhados */
#dashboard [data-overview-panel="overview"]{min-width:0}
#dashboard .page-heading{position:relative;margin:0 0 14px;padding:19px 0 16px;border-bottom:1px solid #24475a;align-items:flex-start}
#dashboard .page-heading h1{font-size:clamp(28px,2.6vw,39px);font-weight:800;letter-spacing:-1.4px}
#dashboard .page-heading .eyebrow{font-size:9px;letter-spacing:.22em;color:#80d7c1}
#dashboard .page-heading .muted{font-size:12px;color:#9bbac7;margin-top:7px}
#dashboard .live-label{display:flex;align-items:flex-end;flex-direction:column;background:transparent;border:0;padding:4px 0 0;color:#8eebc3;font-size:10px;font-weight:800;letter-spacing:.1em}
#dashboard .live-label small{font-weight:500;color:#89aabb;font-size:10px;margin-top:6px}
#dashboard .dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 19px}
#dashboard .dashboard-actions .ghost{background:transparent;border-color:#2b5660;min-height:38px;color:#b3d3d9;font-size:11px;padding:7px 12px}
#dashboard .dashboard-actions .ghost:hover{background:#174038}
#dashboard .dashboard-actions .ui-icon{width:16px;height:16px;color:#85dfc3}
#dashboard #notice{border-left:3px solid #ffc581;background:#392d22;border-radius:9px}
#dashboard .priority-panel{padding:14px 18px;border:1px solid #35584c;background:#112e32;border-radius:12px;margin:0 0 15px;box-shadow:none}
#dashboard .priority-header h2{font-size:13px;font-weight:770}
#dashboard .priority-header p{font-size:10px;margin:3px 0 0;color:#acc7c8}
#dashboard .priority-count{font-size:10px}
#dashboard .priority-panel[data-state=attention]{background:#332c27;border-color:#775544}
#dashboard .priority-panel[data-state=stale]{background:#17283a;border-color:#355064}
#dashboard .priority-list{display:flex;flex-direction:column;gap:0;margin-top:11px;border-top:1px solid #3b5b65}
#dashboard .priority-item{background:none!important;border:0!important;border-bottom:1px solid #315263!important;border-radius:0!important;padding:11px 0;box-shadow:none;min-height:45px}
#dashboard .priority-item:last-child{border-bottom:0!important}
#dashboard .priority-item strong{font-size:11px;color:#e3f4f2}
#dashboard .priority-item small{font-size:10px;color:#acc2ce}
#dashboard .priority-mark{width:4px;height:27px}
#dashboard .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #315569;border-radius:16px;background:linear-gradient(105deg,#163b45,#11293a 74%);overflow:hidden;margin:0 0 18px;box-shadow:0 12px 28px #020e182e}
#dashboard .kpi{display:flex;flex-direction:column;min-height:139px;padding:17px 21px 16px;border:0;border-radius:0;background:transparent;box-shadow:none;position:relative;overflow:hidden}
#dashboard .kpi:not(:last-child){border-right:1px solid #345467}
#dashboard .kpi:before{display:none}
#dashboard .kpi-top{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:9px;color:#aac5d3;font-size:11px;font-weight:750}
#dashboard .kpi-top .ui-icon{border:0;background:transparent;padding:0;width:19px;height:19px;color:#8fd9c7}
#dashboard .kpi>strong{font-size:clamp(28px,3vw,41px);font-weight:790;letter-spacing:-1.1px;line-height:1.1;margin:12px 0 6px}
#dashboard .kpi>small{font-size:9px;color:#94b2c5;min-height:0;line-height:1.5}
#dashboard .kpi-offline strong{color:#ffaeb4}
#dashboard .kpi-signal strong{color:#ffd399}
#dashboard .kpi-check strong{color:#9df6ce}
#dashboard .kpi-pppoe .pppoe-open{position:absolute;right:12px;bottom:8px;border:none;background:none;color:#98c8bf;font-size:9px;min-height:25px;opacity:.92}
#dashboard .operations-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:13px;margin:0 0 18px;align-items:stretch}
#dashboard .operations-grid>.panel{min-width:0;padding:19px 21px;border-radius:15px;background:#102a3b;border:1px solid #2f5364;box-shadow:none}
#dashboard .operations-grid>.panel:first-child{background:radial-gradient(ellipse at 80% 0,#1a4f4e40,transparent 55%),#112b3b}
#dashboard .operations-grid .panel-heading h2{font-size:14px;font-weight:750}
#dashboard .operations-grid .panel-heading .text-button{font-size:10px;color:#9ce8ca}
#dashboard .operations-link{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;gap:0}
#dashboard .operations-link>div{padding:0 18px 0 0;min-width:0}
#dashboard .operations-link>div+div{border-left:1px solid #3a5966;padding-left:18px}
#dashboard .operations-link span{font-size:10px;color:#9dbac9}
#dashboard .operations-link strong{font-weight:800;font-size:clamp(18px,1.8vw,29px);color:#e5f7f3;overflow-wrap:anywhere}
#dashboard .dashboard-link-meter{margin-top:18px;height:5px;border:0;background:#254858}
#dashboard .dashboard-link-meter>span{background:linear-gradient(90deg,#43bda7,#83f3c9)}
#dashboard .operations-grid p,#dashboard .wa-panel p{font-size:10px;color:#a0bcc9;line-height:1.65}
#dashboard .wa-panel{gap:10px}
#dashboard .wa-panel .wa-state{background:transparent;border:0;padding:0;font-size:15px;font-weight:800}
#dashboard .wa-panel .wa-state[data-state=up]{color:#95f3c5}
#dashboard .wa-panel>a{font-size:10px;margin-top:auto;background:none!important;padding:0;color:#9fe7cd}
#dashboard .wa-panel small{font-size:10px;color:#8faec0}
#dashboard .section-heading{display:flex;margin:20px 0 10px;gap:12px;border-bottom:1px solid #2b4d5e;padding-bottom:10px}
#dashboard .section-heading h2{font-size:15px;font-weight:780}
#dashboard .section-heading .text-button{font-size:10px;color:#9ae8d1}
#dashboard .devices-grid{display:flex;flex-direction:column;gap:0;background:#102536;border:1px solid #315366;border-radius:15px;overflow:hidden;margin:0 0 19px}
#dashboard .device-card{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(180px,.85fr) minmax(145px,.7fr);align-items:center;gap:17px;min-width:0;margin:0;padding:14px 20px;border:0!important;border-radius:0!important;border-bottom:1px solid #294b60!important;background:transparent!important;box-shadow:none!important;min-height:83px}
#dashboard .device-card:last-child{border-bottom:0!important}
#dashboard .device-card:hover{background:#183546!important}
#dashboard .device-card .card-top{min-width:0}
#dashboard .device-identity{gap:11px;min-width:0}
#dashboard .device-symbol{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#1e4950;border:1px solid #386768}
#dashboard .device-symbol .ui-icon{width:19px;height:19px;color:#a3e8cd}
#dashboard .device-title{font-size:12px;font-weight:800}
#dashboard .device-role{font-size:9px;color:#8bafbc}
#dashboard .status{font-size:9px;font-weight:750;padding:4px 8px}
#dashboard .resources{display:flex;flex-wrap:wrap;gap:13px 19px;align-items:center;margin:0;min-width:0}
#dashboard .resources>div{flex:1;min-width:70px}
#dashboard .resources .cpu-gauge{margin:0;flex:1;min-width:70px;max-width:110px}
#dashboard .resources .cpu-gauge>svg{display:none}
#dashboard .resources .gauge-caption{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#dashboard .resources .gauge-caption b{font-size:12px;color:#c7e6e2}
#dashboard .resources .resource-top{font-size:10px;color:#93b2c1;display:flex;gap:10px}
#dashboard .resources .resource-top b{font-size:12px}
#dashboard .resources .meter{height:4px;margin-top:7px;background:#295165}
#dashboard .device-bottom{min-width:0;display:flex;flex-direction:column;gap:6px;margin:0;padding:0 0 0 16px;border:0;border-left:1px solid #345368;color:#8daebb;font-size:10px}
#dashboard .device-bottom b{color:#dceff3;font-weight:750}
#dashboard .detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:14px;align-items:stretch}
#dashboard .detail-grid>.panel{min-width:0;border:1px solid #2d5062;border-radius:15px;padding:19px 20px;background:#102638;box-shadow:none}
#dashboard .detail-grid .panel-heading h2{font-size:14px}
#dashboard .detail-grid .panel-heading .muted{font-size:10px}
#dashboard .detail-grid .chart-wrap{height:235px;margin-top:14px}
#dashboard .recent-alerts{margin-top:12px;display:flex;flex-direction:column;gap:0}
#dashboard .recent-alerts .alert-row{background:none!important;border:0!important;border-bottom:1px solid #2b4b5e!important;border-radius:0!important;box-shadow:none!important;padding:10px 0}
#dashboard .recent-alerts .alert-row:last-child{border-bottom:none!important}
#dashboard .recent-alerts .alert-row h2{font-size:11px}
#dashboard .recent-alerts .alert-row p{font-size:10px;line-height:1.6}
#dashboard .phase-note{background:transparent;border:0;border-top:1px solid #24485b;padding:13px 1px 0;margin-top:17px;font-size:10px}
#dashboard .phase-note p{font-size:10px;color:#8eafbd}
/* demais menus: módulos planos, limites discretos e legibilidade */
#clients .clients-tools,#alerts .alerts-toolbar,#config .config-grid,#support .support-stats{box-shadow:none}
#network .network-stats article,#clients .client-detail,#devices .network-traffic,.support-stat,.config-group,.pppoe-summary{background:#102b3c;border-color:#2f5267;box-shadow:none}
#alerts .alert-row{background:#102435;border-left-width:3px;box-shadow:none}
#config .config-group{background:#102437}
#clients .client-row{border-radius:9px}
#clients .client-row:hover{background:#173748}
/* App mobile / layout realmente independente */
@media(max-width:1200px) and (min-width:801px){
 :root{--sidebar:221px}
 #shell main{padding:24px 22px}
 .sidebar .brand{padding-inline:8px!important}
 .sidebar .nav-button{font-size:11px!important;padding-inline:10px!important}
 #dashboard .kpi{padding:16px 14px}
 #dashboard .kpi>strong{font-size:31px}
 #dashboard .operations-grid{grid-template-columns:minmax(0,1.35fr) minmax(230px,.8fr)}
 #dashboard .device-card{grid-template-columns:minmax(155px,1fr) minmax(130px,.75fr) minmax(100px,.6fr);gap:11px;padding:12px}
 #dashboard .detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(200px,.75fr)}
}
@media(max-width:800px){
 html{scrollbar-gutter:auto}
 body{background:linear-gradient(180deg,#0c2230,#091a27 36%,#081622)}
 .sidebar{display:none!important}
 .workspace{margin-left:0}
 .topbar{height:calc(62px + env(safe-area-inset-top))!important;min-height:62px;padding:env(safe-area-inset-top) 14px 0!important;background:#0c2330f2!important;z-index:25}
 .topbar .header-start{gap:9px}
 .topbar .mobile-brand{width:29px;height:29px;display:block}
 .topbar .breadcrumb strong{font-size:12px;max-width:140px;overflow:hidden;text-overflow:ellipsis}
 .topbar .breadcrumb-root{display:none}
 .topbar .header-actions{gap:5px}
 .topbar .connection{font-size:0;min-width:25px;height:29px;padding:0 9px;justify-content:center}
 .topbar .connection::before{width:8px;height:8px;margin:0}
 .topbar .refresh-button{min-width:34px;min-height:34px;padding:8px;background:#173c42}
 .topbar .refresh-button span{display:none}
 #shell main{padding:19px 14px calc(105px + env(safe-area-inset-bottom));max-width:100%;width:100%}
 .page-heading{margin-bottom:17px}
 .page-heading h1{font-size:27px;line-height:1.15;letter-spacing:-.8px}
 .page-heading .muted{font-size:11px;line-height:1.6}
 .eyebrow{font-size:9px}
 .page-switcher{width:100%;gap:7px;margin-bottom:13px}
 .page-switcher button{min-height:38px;flex:1;padding:8px;font-size:10px}
 .mobile-nav{position:fixed;bottom:0;left:0;right:0;height:calc(71px + env(safe-area-inset-bottom));padding:5px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;z-index:45;background:#0b2231f5;border-top:1px solid #345263;box-shadow:0 -8px 29px #061320c2;backdrop-filter:blur(24px)}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:4px 0;border:0!important;background:transparent!important;border-radius:11px!important;color:#85a7ba;font-size:10px;font-weight:750}
 .mobile-nav button .ui-icon{width:40px;height:27px;padding:4px 10px}
 .mobile-nav button.selected{color:#adf7d4}
 .mobile-nav button.selected .ui-icon{background:#1e5248!important;color:#a8f7d5;border-radius:9px;box-shadow:none}
 .mobile-menu{width:100%;max-width:none;max-height:calc(100dvh - 90px);inset:auto 0 0;margin:0;border:1px solid #456e78;border-bottom:none;border-radius:24px 24px 0 0;background:linear-gradient(165deg,#153344,#0c2130);padding:25px 17px calc(25px + env(safe-area-inset-bottom))}
 .mobile-menu .menu-heading h2{font-size:22px}
 .mobile-menu-links{display:grid;gap:7px}
 .mobile-menu-links button{min-height:59px!important;background:#173849;border:1px solid #35596d;border-radius:12px;padding:10px 13px}
 .mobile-menu-links strong{font-size:12px}
 .mobile-menu-links small{font-size:10px}
 /* login não depende da ilustração do desktop */
 #login-screen.login-wrap{display:block;min-height:100dvh;overflow:auto;padding:calc(27px + env(safe-area-inset-top)) 19px 30px;background:radial-gradient(ellipse at 50% 0,#25665d78,transparent 51%),#081b27}
 #login-screen .login-layout{width:min(460px,100%);display:flex!important;flex-direction:column;align-items:stretch;gap:19px;margin:auto}
 #login-screen .login-story{display:block!important;padding:0 3px;margin:0;max-width:none}
 #login-screen .login-story .eyebrow{display:block;font-size:9px;letter-spacing:.14em;margin-bottom:14px}
 #login-screen .login-story h1{font-size:35px;line-height:1.12;letter-spacing:-1.6px}
 #login-screen .login-story>p:not(.eyebrow){font-size:11px;margin:12px 0 0;max-width:390px;line-height:1.7}
 #login-screen .network-art,#login-screen .login-signature,#login-screen .v6-login-features{display:none!important}
 #login-screen .login-card{max-width:100%;padding:25px 21px 21px;margin:0;border-radius:19px;border-color:#3b6470;background:#142d3be8;box-shadow:0 20px 60px #020e1766}
 #login-screen .login-card .brand{margin-bottom:18px;padding-bottom:17px}
 #login-screen .login-card .brand img{width:40px;height:40px}
 #login-screen .login-card .brand-name{font-size:17px}
 #login-screen .login-card .brand small{font-size:8px}
 #login-screen .login-heading h2{font-size:23px}
 #login-screen .login-heading .muted{font-size:11px}
 #login-screen .login-card label{margin-top:17px;font-size:11px}
 #login-screen .login-card input{min-height:49px;font-size:14px!important}
 #login-screen #login-button{min-height:50px;margin-top:22px}
 #login-screen .login-security{margin-top:18px;padding-top:15px}
 /* dashboard: resumo horizontal limpo, sem mini-cartões internos */
 #dashboard .page-heading{padding:8px 0 14px;margin:0 0 12px}
 #dashboard .page-heading h1{font-size:27px;line-height:1.12}
 #dashboard .page-heading .muted{font-size:10px;line-height:1.55}
 #dashboard .live-label{display:none}
 #dashboard .dashboard-actions{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;margin:0 -1px 12px;padding:0 1px 5px;scrollbar-width:none}
 #dashboard .dashboard-actions .ghost{flex:none;min-height:35px;font-size:10px;padding:7px 10px}
 #dashboard .priority-panel{padding:12px 13px;margin:0 0 12px;border-radius:11px}
 #dashboard .priority-header h2{font-size:12px}
 #dashboard .priority-header p{font-size:10px;margin-top:3px}
 #dashboard .priority-list{margin-top:9px}
 #dashboard .priority-item{padding:9px 0}
 #dashboard .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 11px;border-radius:14px}
 #dashboard .kpi{min-height:109px;padding:13px 13px 11px}
 #dashboard .kpi:nth-child(odd){border-right:1px solid #325569}
 #dashboard .kpi:nth-child(-n+2){border-bottom:1px solid #325569}
 #dashboard .kpi-top{font-size:10px;gap:6px}
 #dashboard .kpi-top .ui-icon{width:17px;height:17px}
 #dashboard .kpi>strong{font-size:29px;margin:9px 0 5px}
 #dashboard .kpi>small{font-size:8.5px;line-height:1.45}
 #dashboard .kpi-pppoe .pppoe-open{display:none}
 #dashboard .operations-grid{grid-template-columns:1fr;gap:11px;margin:0 0 16px}
 #dashboard .operations-grid>.panel{padding:15px 16px;border-radius:12px}
 #dashboard .operations-link{margin-top:14px;gap:0}
 #dashboard .operations-link>div{padding:0 10px 0 0}
 #dashboard .operations-link>div+div{padding-left:10px}
 #dashboard .operations-link span{font-size:9px}
 #dashboard .operations-link strong{font-size:20px;line-height:1.25;white-space:normal}
 #dashboard .operations-grid .panel-heading h2{font-size:13px}
 #dashboard .section-heading{margin:18px 0 7px;padding-bottom:8px}
 #dashboard .section-heading h2{font-size:13px}
 #dashboard .devices-grid{border-radius:12px;margin:0 0 15px}
 #dashboard .device-card{display:flex;align-items:stretch;flex-wrap:wrap;padding:12px 13px;gap:8px 11px;min-height:0}
 #dashboard .device-card .card-top{flex:1 1 100%;gap:10px}
 #dashboard .device-symbol{width:32px;height:32px}
 #dashboard .device-title{font-size:11px}
 #dashboard .device-role{font-size:9px}
 #dashboard .resources{flex:1 1 55%;gap:10px;margin-top:0;align-items:center}
 #dashboard .resources .cpu-gauge{min-width:72px;max-width:90px}
 #dashboard .resources .resource-top{font-size:9px}
 #dashboard .resources .resource-top b{font-size:10px}
 #dashboard .device-bottom{flex:1 1 28%;font-size:9px;gap:5px;padding-left:9px;margin:0;min-width:0}
 #dashboard .detail-grid{display:grid;grid-template-columns:1fr;gap:11px}
 #dashboard .detail-grid>.panel{padding:15px;border-radius:12px}
 #dashboard .detail-grid .chart-wrap{height:210px}
 #dashboard .detail-grid .panel-heading h2{font-size:13px}
 #dashboard .phase-note{margin-top:12px;padding-top:11px}
 #dashboard .recent-alerts .alert-row{padding:9px 0}
 /* telas secundárias seguem o mesmo ritmo mobile */
 .panel,.client-detail,.support-card,.config-group{border-radius:12px}
 .device-details{grid-template-columns:1fr}
 .page>.panel{padding:16px}
}
@media(max-width:370px){
 #shell main{padding-inline:11px}
 #dashboard .kpi{padding:11px 10px}
 #dashboard .kpi>strong{font-size:26px}
 #dashboard .kpi>small{font-size:8px}
 #dashboard .operations-link strong{font-size:17px}
 #login-screen .login-story h1{font-size:31px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Consolidação de componentes nas demais telas */
#olt .olt-overview{background:#112b3b;border:1px solid #325468;border-radius:15px;gap:0;overflow:hidden}
#olt .olt-overview>div{background:transparent!important;border:0!important;border-right:1px solid #335366!important;border-radius:0!important;box-shadow:none!important}
#olt .olt-overview>div:last-child{border-right:0!important}
#clients .clients-list{background:#102636;border:1px solid #2e5064;box-shadow:none;border-radius:13px}
#clients .client-row{background:transparent;border:0;border-bottom:1px solid #2b485d;border-radius:0!important}
#clients .client-row:last-child{border-bottom:none}
#clients .client-row.selected{background:#1a433f}
#clients .clients-tools{background:#112b3a;border:1px solid #2e4d61}
#clients .client-detail{background:#10293b;border:1px solid #34546b}
#devices .network-traffic{background:#102637;border:1px solid #365467}
#devices .traffic-grid{display:grid;background:#173245;border:1px solid #33586e;border-radius:12px;gap:0;overflow:hidden}
#devices .traffic-kpi{border:0;border-right:1px solid #36596c;border-radius:0!important;background:transparent!important;box-shadow:none}
#devices .traffic-kpi:last-child{border-right:0}
#alerts .alerts-toolbar{background:#112737;border-color:#345568}
#alerts .alerts-list{background:#102638;border:1px solid #305064;border-radius:13px;overflow:hidden;gap:0;margin-top:15px}
#alerts .alert-row{border:0!important;border-bottom:1px solid #315065!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#alerts .alert-row:last-child{border-bottom:none!important}
#alerts .alert-row:hover{background:#183449!important}
#config .config-card,#config .config-group{background:#102638;box-shadow:none;border-color:#325165}
#support .support-stat{background:#122d3d;border-color:#345469}
#support .support-card{background:#102638;border-color:#345568}
#support .support-tabs{background:#0d2534}
#support .support-conv{border-bottom:1px solid #29485a}
#support .support-conv.active{background:#1c4741}
@media(max-width:800px){
 #olt .olt-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #olt .olt-overview>div{border-right:0!important;border-bottom:1px solid #32556a!important}
 #olt .olt-overview>div:nth-child(odd){border-right:1px solid #32556a!important}
 #olt .olt-overview>div:nth-last-child(-n+2){border-bottom:0!important}
 #dashboard .kpi:not(:last-child){border-right:0}
 #dashboard .kpi:nth-child(odd){border-right:1px solid #325569}
 #devices .traffic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #devices .traffic-kpi{border-right:0;border-bottom:1px solid #32576a}
 #devices .traffic-kpi:nth-child(odd){border-right:1px solid #32576a}
 #devices .traffic-kpi:nth-last-child(-n+2){border-bottom:0}
 #alerts .alert-row{padding:13px 14px!important}
 #clients .client-row{padding:11px}
}
