:root{--navy:#101f36;--ink:#17243b;--muted:#6c788b;--line:#e5eaf1;--bg:#f5f7fb;--blue:#2463eb;--green:#19876d;--red:#c94747;--radius:14px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;background:var(--bg)}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:8px;padding:11px 15px;transition:.16s}button:hover{filter:brightness(.97)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid #a7c2ff;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;margin-bottom:9px}h2{font-size:25px;letter-spacing:-.6px;margin-bottom:9px}h3{font-size:16px;margin-bottom:8px}p{line-height:1.6}small{font-size:12px}.hidden{display:none!important}.primary{background:var(--blue);color:white;font-weight:600;box-shadow:0 3px 8px #2463eb1f}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:550}.danger{background:#fff1f1;color:var(--red);border:1px solid #f6d9d9}.wide{width:100%}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#71839c}.brandmark{font-size:40px;letter-spacing:-3px;font-weight:750;color:#fff}.brandmark span{font-size:24px;color:#679fff;vertical-align:top;display:inline-block;margin:3px 0 0 5px}.app{display:flex;min-height:100vh}.sidebar{width:226px;background:var(--navy);color:#8d9fb8;position:fixed;inset:0 auto 0 0;padding:30px 24px;display:flex;flex-direction:column}.brand-sub{font-size:9px;letter-spacing:2px;color:#8697b0;margin-top:2px}nav{display:grid;gap:9px;margin-top:52px}.nav{text-align:left;color:#9aa9bf;padding:13px 12px;background:transparent;font-size:13px;white-space:nowrap}.nav span{font-size:19px;width:29px;display:inline-block;vertical-align:-1px}.nav.active{color:white;background:#233a5d}.sidebar-bottom{margin-top:auto;font-size:12px;line-height:1.9}.sidebar-bottom div{padding-left:15px;color:#c6d2e2}.sidebar-bottom button{margin-top:20px;color:#a6b5c9;font-size:12px;background:transparent;padding:12px 0}.tiny-dot,.status-led{display:inline-block;height:6px;width:6px;background:#59b39a;border-radius:50%;margin-right:5px}.app main{margin-left:226px;flex:1;min-width:0}header{height:78px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 40px}.crumb{font-size:12px;color:#8290a4}.crumb span{padding:0 15px;color:#c1c9d4}.header-right{display:flex;align-items:center;gap:7px;font-size:11px;color:#66788b}.avatar{background:#eef2f8;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;margin-left:20px;color:#3c5477;font-weight:700}.page{padding:36px 40px 20px;max-width:1560px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:29px}.page-head p{color:var(--muted);font-size:13px;margin:0}.page-actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:31px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 22px;display:grid;gap:9px}.stat-label{font-size:11px;color:#78859a;font-weight:550}.stat-value{font-size:30px;letter-spacing:-1px;font-weight:650}.stat-note{font-size:11px;color:#8a96a7}.stat-value.green{color:var(--green)}.stat-value.blue{color:var(--blue)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.section-title h3{margin:0}.count{font-size:10px;font-weight:500;background:#e8edf5;padding:3px 8px;border-radius:5px;margin-left:8px;color:#718198}.section-title small{color:#8591a2}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vpn-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-body{padding:21px 22px 18px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.client-icon{width:36px;height:36px;border-radius:10px;background:#edf3ff;color:#4374c7;display:grid;place-items:center;font-size:18px}.card-name{display:flex;gap:10px;align-items:center}.card-name h3{font-size:14px;margin:0 0 3px}.card-name small{font-size:10px;color:#94a0b1}.pill{border-radius:20px;background:#f0f3f7;color:#7a879a;font-size:10px;padding:5px 8px;white-space:nowrap}.pill.on{background:#e5f5ed;color:#218464}.pill.error{background:#ffeded;color:#c04c4c}.pill.wait{background:#fff5da;color:#a17617}.route-box{border:1px solid #e7edf6;background:#f9fbfe;border-radius:9px;padding:12px 13px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}.route-side small{display:block;font-size:9px;color:#8a97a9;margin-bottom:6px;text-transform:uppercase;letter-spacing:.7px}.route-side code{font-size:11px;font-weight:600;color:#42546d}.route-side:last-child{text-align:right}.route-arrow{font-size:16px;color:#7196d0}.meta-line{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:#8a96a6;margin-top:15px}.meta-line strong{color:#697a91;font-weight:500}.card-foot{display:flex;justify-content:space-between;align-items:center;background:#fdfefe;border-top:1px solid #eef1f6;padding:12px 22px;gap:8px}.text-button{padding:5px 0;background:none;color:#657893;font-size:11px;font-weight:550}.small-button{font-size:11px;padding:8px 14px;border-radius:7px}.note{display:flex;align-items:center;gap:14px;background:#edf3fe;border:1px solid #dce6f9;border-radius:11px;padding:17px 20px;margin-top:24px;color:#5273a3;font-size:12px;line-height:1.6}.note strong{color:#2d528a}.note .note-icon{font-size:22px}footer{max-width:1560px;margin:auto;padding:20px 40px;color:#9ba6b6;font-size:10px;display:flex;justify-content:space-between}table{border-collapse:collapse;width:100%;background:#fff;font-size:12px}th{text-align:left;color:#8a97a8;font-size:10px;font-weight:600;background:#fbfcfe;padding:15px 18px;border-bottom:1px solid var(--line)}td{padding:17px 18px;border-bottom:1px solid #eef2f7}tr:last-child td{border:0}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.info-card dl{display:grid;grid-template-columns:1fr 1fr;row-gap:16px;font-size:12px;margin:20px 0 0}.info-card dt{color:var(--muted)}.info-card dd{margin:0;text-align:right}.flow{display:flex;gap:10px;align-items:center;font-size:12px;color:#526d92;margin:20px 0}.flow b{padding:10px;background:#edf3fd;border-radius:7px}.login-wrap{display:flex;min-height:100vh}.login-brand{width:49%;background:linear-gradient(145deg,#112440,#102039);padding:55px 9% 35px;color:white;position:relative;overflow:hidden}.login-brand>span{display:block;color:#7695bf;letter-spacing:2px;font-size:9px;margin:50px 0 22px}.login-brand h1{font-size:43px;font-weight:550;line-height:1.15;letter-spacing:-1.6px}.login-brand p{font-size:13px;color:#8da6c7;max-width:300px}.login-brand>small{color:#6582aa;font-size:9px;letter-spacing:3px;display:block;margin-top:20px}.login-form{flex:1;display:flex;align-items:center;justify-content:center;padding:50px;background:#fff}.login-card{width:100%;max-width:360px}.login-card h2{font-size:32px;margin-top:17px}.login-card>p{color:var(--muted);font-size:13px;margin-bottom:30px}label{font-size:11px;color:#65768e;font-weight:550;display:block}input{display:block;width:100%;border:1px solid #dce3ed;background:#fff;color:var(--ink);padding:12px;margin-top:8px;border-radius:8px;font-size:13px}input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}input[type=file]{font-size:11px}form label{margin-bottom:18px}#login-form .primary{margin-top:7px;text-align:left;display:flex;justify-content:space-between}.secure{font-size:10px;color:#8a99ad;display:block;margin-top:28px;text-align:center}.error{color:var(--red);font-size:12px;margin:14px 0 0}.notice{background:#f1f5fc;border:1px solid #dce5f6;border-radius:10px;padding:17px;margin:20px 0;font-size:12px}.notice p{margin:9px 0}.notice code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;background:white;border:1px solid var(--line);padding:12px;border-radius:6px;font-size:11px;margin-bottom:12px}.network-visual{height:220px;width:340px;margin:25px 0 25px -22px;position:relative;background:radial-gradient(ellipse at center,#315b8b2b,transparent 65%)}.network-visual:before,.network-visual:after{content:"";position:absolute;inset:40px 45px;border:1px solid #314765;border-radius:50%;transform:rotate(20deg)}.network-visual:after{transform:rotate(-20deg)}.node{position:absolute;font-size:9px;border:1px solid #3a5273;background:#172f50;padding:7px 12px;color:#a6b9d3;border-radius:6px;z-index:1}.node.center{left:144px;top:94px;border-color:#5788ce;background:#224d83;color:#fff;font-size:15px}.node.a{top:12px;left:50px}.node.b{top:30px;right:22px}.node.c{top:95px;left:0}.node.d{top:162px;left:32px}.node.e{top:105px;right:0}.node.f{top:180px;right:30px}dialog{border:1px solid var(--line);border-radius:16px;padding:27px;width:min(660px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #13243a40}dialog::backdrop{background:#101f3680;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-head h2{margin:8px 0 0}.icon-button{font-size:26px;line-height:1;padding:0 5px;background:transparent;color:#8996a7}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:23px;overflow:auto}.tab{background:none;color:#8a98aa;border-radius:0;padding:11px 10px;border-bottom:2px solid transparent;font-size:11px;white-space:nowrap}.tab.active{color:var(--blue);border-color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.full{grid-column:1/-1}.form-grid p{font-size:12px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.detail-summary small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.detail-summary strong{font-size:13px;font-weight:550}.button-row{display:flex;gap:9px;margin:22px 0}.helper{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}.result{background:#132138;color:#bfd0e7;padding:17px;border-radius:8px;max-height:320px;overflow:auto;font-size:11px;line-height:1.65;white-space:pre-wrap;word-break:break-word;margin:16px 0 0}.toast{position:fixed;bottom:24px;right:28px;z-index:20;max-width:480px;padding:16px 22px;border-radius:10px;background:#152d47;color:#fff;box-shadow:0 6px 30px #1233;font-size:12px;line-height:1.6}.toast.bad{background:#9e3232}.check-label{margin:23px 0;font-size:12px}.login-form label{margin-bottom:19px}@media(min-width:1550px){.page{padding-top:46px}.card-body{padding:25px}.cards{gap:22px}}@media(max-width:1150px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:190px;padding:26px 18px}.app main{margin-left:190px}.page{padding:28px}.stat{padding:17px}.network-visual{transform:scale(.9);transform-origin:left}.login-brand{padding:50px 6%}.login-brand h1{font-size:37px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:15px 20px;display:block}.sidebar .brandmark{font-size:29px;float:left}.brand-sub,.sidebar-bottom{display:none}nav{display:flex;margin:0;justify-content:end;gap:3px}.nav{font-size:0;padding:8px 12px}.nav span{font-size:20px;width:auto}.app{display:block}.app main{margin-left:0}header{padding:0 20px;height:56px}.header-right{font-size:0}.page{padding:24px 18px}.page-head{align-items:start;flex-direction:column;gap:15px}h1{font-size:27px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.cards{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.section-title small{display:none}footer{padding:15px 18px}.login-brand{display:none}.login-form{padding:32px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.detail-summary{gap:15px}.crumb{font-size:10px}.stat-value{font-size:25px}}

.stat-value.lan{font-size:19px;margin-top:8px}.space-top{margin-top:22px}
/* IB6 — centro de controlo escolhido pelo utilizador. */
:root{--ink:#e5eff2;--muted:#9badb8;--line:#29414b;--bg:#08151e;--blue:#00d8b9;--green:#22e7a8;--red:#f58a91;color-scheme:dark}body{background:radial-gradient(ellipse at 30% 28%,#0b2c34 0,transparent 45%),#08151e;font-size:13px}.brandmark img{width:105px;height:auto;display:block}.primary{color:#002d2b;background:#00d8b9;box-shadow:0 3px 16px #00d8b91a}.secondary{color:#dce9ed;background:#132731;border-color:#39505c}.danger{background:#39232b;border-color:#61414c;color:#ffaaaa}.muted{color:var(--muted)}.eyebrow{color:#16dcc0;letter-spacing:1.45px}.app .sidebar{width:76px;top:88px;padding:18px 10px;background:#0e2029;border:1px solid #233943;border-left:0;border-radius:0 12px 12px 0}.sidebar>.brandmark,.sidebar>.brand-sub{display:none}.sidebar nav{margin:0;gap:13px}.sidebar .nav{font-size:0;text-align:center;padding:16px 9px;color:#a4b6bf;border-radius:11px}.sidebar .nav span{font-size:24px;width:auto}.sidebar .nav.active{color:#05e3bf;background:#0e3a3e;border:1px solid #126364}.sidebar-bottom{font-size:0}.sidebar-bottom>div,.sidebar-bottom>.tiny-dot{display:none}.sidebar-bottom button{font-size:0;display:block;width:100%;margin:0;padding:14px 0}.sidebar-bottom button::before{content:'↪';font-size:24px;color:#9cafb9}.app main{margin-left:76px;padding-top:88px}.app header{height:88px;position:fixed;inset:0 0 auto 0;background:#0b1a24f5;border-bottom:1px solid #2b434c;z-index:4;padding:0 28px;backdrop-filter:blur(14px)}.header-brand{display:flex;align-items:center;gap:24px}.header-brand>img:not(.hidden){width:82px;height:auto}.header-brand>div{border-left:1px solid #34505b;padding-left:24px;display:grid;gap:4px}.header-brand strong{font-size:24px;letter-spacing:-.7px;font-weight:650}.header-brand small{font-size:12px;color:#c5d3da}.header-right{gap:20px;color:#e1edef}.header-server{display:grid;gap:5px;font-size:12px}.header-server small{font-size:11px;color:#2bdeb1}.header-server .status-led{background:#20e6aa}.header-right button{font-size:12px;padding:10px 16px}.avatar{background:#263c48;color:#dce8ee;margin-left:0;width:37px;height:37px}.page{padding:24px 24px 0;max-width:1850px}.page-head{margin:7px 0 27px}.page-head p{color:#a3b4bd}.page-head h1{margin-top:10px}h1{font-size:28px;letter-spacing:-.8px}h2{font-size:26px}h3{font-size:15px}.control-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:18px}.topology-panel{position:relative;min-width:0;background:radial-gradient(ellipse at 55% 55%,#0d3b3b36,transparent 65%);padding-top:13px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 14px}.map-heading h1{margin:10px 0 6px}.map-heading p{font-size:12px;color:#adbdc6;margin:0}.summary-pill{border:1px solid #29454d;background:#0d2630;padding:7px 10px;border-radius:20px;font-size:11px;white-space:nowrap;color:#a5bdc6}.summary-pill b{color:#26efb5}.network-map{display:block;width:100%;height:auto;overflow:visible;margin-top:9px}.network-wire{fill:none;stroke-width:2.1}.wire-on{stroke:#00ebc6;filter:url(#wire-glow)}.wire-off{stroke:#5c7b89;stroke-width:1.6;stroke-dasharray:1 7;stroke-linecap:round;opacity:.7}.hub-circle{stroke:#00dfc0;stroke-width:1.7;filter:drop-shadow(0 0 15px #00edc127)}.hub-halo{fill:none;stroke:#00d6b6;opacity:.07;stroke-width:13}.hub-title{fill:#edfffa;font-size:17px;font-weight:650}.hub-sub{fill:#b0d2d0;font-size:13px}.client-node{cursor:pointer;outline:none}.node-bg{fill:#142630;stroke:#4a6471;stroke-width:1.2;transition:fill .2s,stroke .2s}.node-on .node-bg{stroke:#00ddbd;fill:#0c393b}.node-selected .node-bg{stroke:#1df2d0;stroke-width:1.8}.client-node:hover .node-bg,.client-node:focus .node-bg{stroke:#b8e5e9;fill:#1a3a45}.node-icon-bg{fill:#233d49}.node-on .node-icon-bg{fill:#135353}.client-node>g{color:#bfd4dc}.node-label{fill:#edf5f8;font-size:16px;font-weight:650}.node-state{fill:#b8c9d0;font-size:12px}.state-on{fill:#10eab3}.state-error{fill:#fb7d8d}.state-wait{fill:#ffc25f}.state-off{fill:#91a4ae}.map-legend{display:flex;align-items:center;gap:16px;padding:0 15px 10px;color:#97b2bc;font-size:10px}.map-legend .tiny-dot{background:#1bddb1}.map-legend .muted-dot{background:#7a929d}.map-legend small{margin-left:auto;font-size:9px}.selected-panel,.event-panel,.mapping-panel{background:linear-gradient(125deg,#142932d9,#0c202bdf);border:1px solid #2b4651;border-radius:13px;min-width:0;box-shadow:0 15px 35px #00101726}.selected-panel{padding:21px}.selected-heading{display:flex;align-items:center;gap:13px}.selected-heading h2{margin:0 0 5px;letter-spacing:-.6px}.selected-heading p{font-size:11px;color:#b9cbd1;margin:0}.selected-heading>.pill{margin-left:auto}.selected-client-icon{display:grid;place-items:center;width:49px;height:49px;flex-shrink:0;border-radius:50%;border:1px solid #425e6a;background:#294451;color:#d7e9ed}.line-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.selected-client-icon .line-icon{width:26px;height:26px}.selected-tabs{display:flex;gap:5px;justify-content:space-between;margin:22px 0;border-bottom:1px solid #314c58}.selected-tabs button{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#bdcbd3;font-size:10px;border-radius:0;padding:0 3px 15px;background:none;border-bottom:2px solid transparent}.selected-tabs button.active{border-color:#00ddbb;color:#edfffc}.selected-tabs .line-icon{width:17px;height:17px}.selected-tabs button.active .line-icon{color:#00e4c0}.selected-route{display:grid;grid-template-columns:1fr 24px 1fr;gap:10px;align-items:center}.selected-route>div{background:#1c3540bd;border:1px solid #3c5865;border-radius:11px;padding:14px 12px;min-width:0}.selected-route small{display:block;color:#b9cdd5;font-size:11px;margin-bottom:6px}.selected-route strong{display:block;color:#f3fafb;font-weight:650;font-size:clamp(14px,1.55vw,22px);letter-spacing:-.5px;white-space:nowrap}.selected-route>span{text-align:center;font-size:22px;color:#d1e9e9}.selected-facts{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;padding:17px 14px;border:1px solid #2c4752;border-radius:10px;background:#18333d66;margin:18px 0}.selected-facts>div{display:flex;align-items:center;gap:9px}.selected-facts>div+div{border-left:1px solid #3c515e;padding-left:14px}.selected-facts strong{display:block;font-size:12px;font-weight:600}.selected-facts small{display:block;color:#a5bfc8;font-size:9px;margin-top:5px;line-height:1.4}.round-status{width:24px;height:24px;display:grid;place-items:center;background:#304953;color:#a5c2c8;border-radius:50%;font-weight:700;flex-shrink:0}.round-status.is-on{background:#14d8a3;color:#093a2d}.selected-facts .line-icon{color:#c6d9df}.selected-actions{display:flex;gap:10px;margin:21px 0}.selected-actions button{font-size:11px;padding:10px 11px;display:flex;justify-content:center;align-items:center;gap:6px;flex:1;white-space:nowrap}.selected-actions .line-icon{width:17px;height:17px}.selected-credentials{border:1px solid #344f5b;border-radius:10px;display:flex;align-items:center;gap:11px;background:#1b3440a1;padding:16px 13px}.selected-credentials>.line-icon{color:#c0d9df;width:23px;height:23px}.selected-credentials strong{display:block;font-size:12px}.selected-credentials small{font-size:10px;color:#a8c0ca;display:block;margin-top:6px}.selected-credentials>button{margin-left:auto}.selected-footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:9px;color:#7798a8}.pill{background:#253c47;color:#a8bec8;border:1px solid #39545f;font-size:9px;padding:4px 8px}.pill.on{background:#074f3d;color:#45efb4;border-color:#0e9b73}.pill.error{background:#492a35;color:#ffa5ad;border-color:#764552}.pill.wait{background:#493e24;color:#ffd48a;border-color:#6d5933}.event-panel,.mapping-panel{padding:15px 16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #314a57}.panel-heading h3{font-size:14px;margin:0;line-height:1.5}.panel-heading h3 small{font-size:10px;font-weight:400;color:#a4bdc9;margin-left:5px}.text-button{color:#30dac1;font-size:10px;white-space:nowrap}.overview-log{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.9;height:174px;overflow:auto;color:#b5ccd6;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}.mapping-panel table{background:transparent;font-size:10px}.mapping-panel th{font-size:10px;padding:8px 6px;background:transparent;color:#bdcfd6;border:0}.mapping-panel td{font-size:9px;padding:8px 6px;border-color:#203c49}.mapping-panel td:first-child{padding-left:6px}.mapping-panel tr:nth-child(2n){background:#17313d66}.mapping-panel .pill{font-size:8px;padding:2px 5px}.mapping-scroll{overflow:auto}.table-client{padding:0;background:none;border:0;border-radius:0;color:#dfeaf0;font-size:10px;font-weight:600}.table-client:hover{color:#00e1b9}.table-wrap{border-color:#2e4956}table{background:#112833}th{background:#132d39;color:#a1becb;border-color:#304c5a}td{border-color:#25414e}.note,.notice{background:#0e353c;border-color:#245a60;color:#abd2d6}.note strong,.notice strong{color:#40dfc4}.info-card{background:#122934;border-color:#2b4755}.info-card dd{color:#d8edf0}.flow b{background:#1c414a}.count{background:#24434d;color:#b3d6dd}footer{color:#627e8d;padding:20px 24px}.result{background:#071923;color:#bad5df;border:1px solid #2e4a59}.toast{background:#0c4e48;border:1px solid #227d6b}.toast.bad{background:#682f3a;border-color:#9b4755}dialog{background:#102734;border-color:#3c5a68;box-shadow:0 25px 100px #0007}dialog::backdrop{background:#020d15ac}.tabs{border-color:#35505e}.tab{color:#8eabb9}.tab.active{color:#2febcc;border-color:#00d7b6}.icon-button{color:#98b6c4}input{background:#0b202b;border-color:#375362;color:#e1f0f3}label{color:#acc5ce}.helper{color:#9fbac5}.detail-summary small{color:#91aebd}.detail-summary strong{color:#e3f2f5}.login-brand{background:radial-gradient(ellipse at 50% 45%,#123d43,transparent 70%),#0d202b}.login-form{background:#0d202b}.login-card>p{color:#a4bdc7}.login-card .notice code{background:#071923;border-color:#2b4d5c;color:#cae4ed}.login-brand .node{background:#14323f;border-color:#3e606d;color:#bcd5de}.login-brand .node.center{background:#115149;border-color:#248d7d}.login-brand .brandmark{margin-bottom:20px}.login-brand>span{margin-top:37px}.login-brand>small{color:#678d9b}.login-card .eyebrow{color:#75afa7}.login-card h2{color:#e3f5f3}.secure{color:#698c9e}.error{color:#ff8c9a}.check-label{color:#bdd4de}
@media(min-width:1750px){.page{padding:30px 30px 0}.selected-panel{padding:28px}.selected-heading h2{font-size:31px}.selected-route strong{font-size:25px}.selected-tabs button{font-size:12px}.selected-facts strong{font-size:14px}.selected-facts small{font-size:11px}.selected-actions button{font-size:13px;padding:12px}.selected-credentials{padding:20px}.selected-credentials strong{font-size:14px}.selected-credentials small{font-size:12px}}
@media(max-width:1120px){.control-layout{grid-template-columns:minmax(0,1fr)}.selected-panel{grid-row:2}.event-panel{grid-row:3}.mapping-panel{grid-row:4}.topology-panel{max-width:850px;width:100%;margin:auto}.selected-route strong{font-size:23px}.selected-tabs{justify-content:start;gap:24px}.selected-tabs button{font-size:12px}.selected-footer{font-size:11px}.selected-actions button{font-size:13px}.overview-log{height:150px}.mapping-panel table{font-size:12px}.mapping-panel th,.mapping-panel td{font-size:11px;padding:11px 8px}.table-client{font-size:12px}.mapping-panel .pill{font-size:10px}}
@media(max-width:760px){.app .sidebar{position:fixed;top:auto;inset:auto 0 0;width:100%;border:1px solid #29434f;border-radius:0;padding:5px 16px;background:#0c202bef;z-index:5}.sidebar nav{display:flex;justify-content:space-around;margin:0;gap:7px}.sidebar .nav{width:70px;padding:10px 12px}.sidebar .nav span{font-size:20px}.app main{margin-left:0;padding-top:77px;padding-bottom:64px}.app header{height:77px;padding:0 17px}.header-brand{gap:13px}.header-brand>img:not(.hidden){width:64px}.header-brand>div{padding-left:13px}.header-brand strong{font-size:18px}.header-brand small{font-size:10px}.header-right{gap:10px}.header-server{display:none}.header-right button{font-size:0;padding:8px}.header-right button::before{content:'+';font-size:23px}.header-right .avatar{width:31px;height:31px;font-size:10px}.page{padding:19px 12px 0}.control-layout{gap:13px}.map-heading{padding:0 4px;align-items:start}.map-heading h1{font-size:23px}.map-heading p{font-size:10px}.map-heading .eyebrow{font-size:9px}.summary-pill{font-size:9px;padding:6px 8px}.selected-panel{padding:18px 15px}.selected-heading h2{font-size:24px}.selected-heading p{font-size:9px}.selected-client-icon{width:40px;height:40px}.selected-tabs{gap:0;justify-content:space-between;margin:20px 0}.selected-tabs button{font-size:9px;gap:4px}.selected-tabs .line-icon{width:14px;height:14px}.selected-route strong{font-size:clamp(14px,4.6vw,21px)}.selected-route>div{padding:12px 10px}.selected-route small{font-size:10px}.selected-route{gap:5px;grid-template-columns:1fr 18px 1fr}.selected-facts{padding:13px 10px;gap:7px}.selected-facts strong{font-size:11px}.selected-facts small{font-size:8px}.selected-facts>div+div{padding-left:9px}.selected-actions{gap:7px}.selected-actions button{font-size:10px;padding:10px 9px}.selected-actions .line-icon{width:15px;height:15px}.selected-credentials{padding:13px 10px}.selected-credentials strong{font-size:11px}.selected-credentials small{font-size:9px}.selected-footer{font-size:8px}.map-legend{padding:0 5px 5px;gap:10px;font-size:8px}.map-legend small{font-size:8px}.event-panel,.mapping-panel{padding:13px}.panel-heading h3{font-size:13px}.panel-heading .text-button{font-size:9px}.panel-heading h3 small{font-size:9px}.mapping-panel th,.mapping-panel td{font-size:9px;padding:9px 4px}.table-client{font-size:10px}.mapping-panel .pill{font-size:8px}.overview-log{font-size:9px}.login-form{padding:27px}.header-right{font-size:11px}}
@media(prefers-reduced-motion:reduce){.connection-pulse{display:none}.network-wire{filter:none}}
/* A nova página de entrada continua apenas em proposta. */
.login-wrap{--ink:#17243b;--muted:#6c788b;--line:#e5eaf1;--blue:#2463eb;color:#17243b;color-scheme:light;background:#fff}.login-wrap .login-brand{background:linear-gradient(145deg,#112440,#102039)}.login-wrap .login-form{background:#fff}.login-wrap .login-card h2{color:#17243b}.login-wrap .login-card>p{color:#6c788b}.login-wrap .login-card .eyebrow{color:#71839c}.login-wrap input{background:#fff;color:#17243b;border-color:#dce3ed}.login-wrap label{color:#65768e}.login-wrap .primary{background:#2463eb;color:#fff;box-shadow:0 3px 8px #2463eb1f}.login-wrap .notice{background:#f1f5fc;border-color:#dce5f6;color:#17243b}.login-wrap .notice strong{color:#17243b}.login-wrap .notice code{background:#fff;border-color:#e5eaf1;color:#17243b}.login-wrap .secondary{background:#fff;border-color:#e5eaf1;color:#17243b}.login-wrap .secure{color:#8a99ad}.login-wrap .login-brand .brandmark{margin-bottom:0}.login-wrap .login-brand>span{margin-top:50px}.login-wrap .error{color:#c94747}
/* Página de entrada aprovada, com identidade IB6. */
.brand-login.login-wrap{--ink:#e4f3f5;--muted:#9db8c1;--line:#355b67;--blue:#00ddc1;color:#e4f3f5;color-scheme:dark;min-height:100vh;position:relative;background:radial-gradient(ellipse at 43% 40%,#0d393b5e,transparent 55%),linear-gradient(120deg,#061923,#05262b 65%,#071b25);padding:5vh 4.4vw;gap:3.5vw;align-items:center;overflow:hidden}.brand-login.login-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient(155deg,transparent 63%,#00dab708 63.2%,transparent 63.5%),linear-gradient(20deg,transparent 26%,#00dab709 26.2%,transparent 26.4%);pointer-events:none}.brand-login.login-wrap .login-brand{background:none;width:58%;padding:0;overflow:visible;position:relative}.brand-login .login-brand-top{display:flex;align-items:center;gap:25px;margin:0 0 50px}.brand-login .login-brand-top img{width:155px;height:auto;display:block}.brand-login .login-brand-top>span{font-size:10px;letter-spacing:3px;font-weight:600;border-left:1px solid #3a6874;padding:12px 0 12px 25px;color:#c7e2e5}.brand-login .login-brand h1{font-size:clamp(34px,4vw,62px);font-weight:650;line-height:1.13;letter-spacing:-1.5px;color:#f0f9fa;margin:0 0 22px}.brand-login .login-brand h1 em{font-style:normal;color:#00e0bd}.brand-login .login-brand>p{font-size:14px;line-height:1.6;color:#b6d3d7;max-width:none;margin-bottom:18px}.brand-login .login-brand>small{display:none}.login-map{display:block;width:100%;max-width:800px;height:auto;color:#c6eeeb;margin:18px -8px 0}.login-paths{fill:none;stroke:#00baa6;stroke-width:1.1;opacity:.6}.login-paths ellipse{stroke-width:.7;opacity:.45}.login-hub{fill:#083b3c;stroke:#00d9bd;stroke-width:1.8;filter:drop-shadow(0 0 12px #00ddaf28)}.login-client-nodes>g>rect{fill:#0c2c36;stroke:#3c7e82;stroke-width:1.2}.login-client-nodes>g>circle{fill:#193f49}.login-client-nodes>g>g{stroke:#d1eff0;stroke-width:1.6}.login-client-nodes text{font-size:16px;font-weight:600;fill:#e4f4f5}.login-hub-title{font-size:16px;font-weight:600;fill:#e0f4f1}.login-hub-sub{font-size:12px;fill:#adcece}.brand-login.login-wrap .login-form{width:42%;padding:0;background:none;flex:none;position:relative}.brand-login .login-card{width:100%;max-width:490px;border:1px solid #00cbb2;border-radius:22px;padding:clamp(27px,3.4vw,55px);background:linear-gradient(120deg,#082e35d9,#061e29e8);box-shadow:0 20px 90px #00101555,0 0 30px #00ad9510;backdrop-filter:blur(10px)}.login-card-logo{display:block;width:152px;height:auto;margin:0 0 31px}.brand-login .login-card .eyebrow{display:block;color:#c8dedf;font-size:10px;font-weight:500;letter-spacing:2.8px}.brand-login.login-wrap .login-card h2{color:#ecf8f9;font-size:42px;line-height:1.1;letter-spacing:-1px;margin:18px 0 12px}.brand-login.login-wrap .login-card>p{font-size:13px;color:#bdd4d9;margin-bottom:30px}.brand-login.login-wrap label{color:#d1e4e7;font-size:12px;font-weight:600}.brand-login.login-wrap input{background:#13394377;color:#e3f6f7;border:1px solid #567b88;box-shadow:inset 0 1px 8px #00151b17;height:49px;font-size:14px;padding:12px 14px;margin-top:9px}.brand-login.login-wrap form label{margin-bottom:21px}.brand-login.login-wrap .primary{background:#00dfbe;color:#002e2b;box-shadow:0 4px 20px #00d8b514;padding:15px 18px;font-size:14px;font-weight:650;margin-top:29px!important}.brand-login.login-wrap .secure{display:flex;justify-content:center;align-items:center;gap:10px;color:#bfd7dc;font-size:11px;margin:25px 0 0}.secure svg{width:18px;height:18px}.login-card-footer{border-top:1px solid #2f555f;color:#a0bfc6;text-align:center;font-size:10px;padding-top:25px;margin-top:28px;line-height:1.6}.password-field{position:relative}.password-field input{padding-right:48px!important}.password-field button{position:absolute;right:6px;top:7px;height:37px;width:36px;display:grid;place-items:center;background:none;color:#bcd9df;padding:8px}.password-field button svg{width:19px;height:19px}.brand-login.login-wrap .notice{background:#123e49;color:#d5e9ed;border-color:#3c6876}.brand-login.login-wrap .notice strong{color:#d5f3ee}.brand-login.login-wrap .notice code{background:#0a2630;border-color:#345663;color:#c1e2e6}.brand-login.login-wrap .secondary{background:#194350;color:#e1eff2;border-color:#426371}.brand-login .notice code{font-size:10px}.brand-login .notice p{font-size:11px}.brand-login .notice .secondary{font-size:11px}.brand-login.login-wrap .error{color:#ff9ba7}
@media(min-width:1750px){.brand-login.login-wrap{padding:7vh 6vw}.brand-login .login-card{max-width:560px;padding:55px}.brand-login .login-card h2{font-size:48px!important}.brand-login .login-brand-top img{width:180px}.brand-login .login-brand-top>span{font-size:12px}.brand-login .login-brand>p{font-size:17px}.brand-login .login-card>p{font-size:16px!important}.brand-login.login-wrap input{height:56px}.brand-login.login-wrap .primary{font-size:16px}.brand-login.login-wrap label{font-size:14px}}
@media(max-width:1050px){.brand-login.login-wrap{gap:3vw;padding:5vh 3vw}.brand-login.login-wrap .login-brand{width:53%}.brand-login.login-wrap .login-form{width:47%}.brand-login .login-brand-top{gap:15px;margin-bottom:36px}.brand-login .login-brand-top img{width:120px}.brand-login .login-brand-top>span{font-size:8px;letter-spacing:1.7px;padding-left:15px}.brand-login .login-brand h1{font-size:36px}.brand-login .login-brand>p{font-size:12px}.brand-login .login-card{padding:29px}.brand-login.login-wrap .login-card h2{font-size:35px}.login-card-logo{width:130px;margin-bottom:27px}}
@media(max-width:760px){.brand-login.login-wrap{display:flex;flex-direction:column;padding:30px 18px 35px;gap:24px;justify-content:center}.brand-login.login-wrap .login-brand{display:block;width:100%;text-align:center}.brand-login .login-brand-top{justify-content:center;margin-bottom:22px;gap:15px}.brand-login .login-brand-top img{width:100px}.brand-login .login-brand-top>span{font-size:7px;letter-spacing:1.5px;text-align:left}.brand-login .login-brand h1{font-size:32px;line-height:1.15;margin-bottom:12px;letter-spacing:-.8px}.brand-login .login-brand h1 br{display:none}.brand-login .login-brand h1 em{display:block}.brand-login .login-brand>p{font-size:11px;max-width:310px;margin:0 auto}.brand-login .login-map{display:none}.brand-login.login-wrap .login-form{width:100%;justify-content:center}.brand-login .login-card{max-width:410px;padding:29px 27px}.brand-login .login-card-logo{width:105px;margin-bottom:24px}.brand-login .login-card .eyebrow{font-size:8px;letter-spacing:2px}.brand-login.login-wrap .login-card h2{font-size:32px;margin:15px 0 10px}.brand-login.login-wrap .login-card>p{font-size:12px;margin-bottom:25px}.brand-login.login-wrap input{height:47px}.brand-login.login-wrap .primary{padding:14px 16px;margin-top:23px!important}.brand-login.login-wrap .secure{font-size:10px;margin-top:23px}.login-card-footer{font-size:9px;margin-top:23px;padding-top:20px}}
.header-brand>img:not(.hidden),.login-card-logo{filter:drop-shadow(0 0 .65px #f0ffff)}.network-map image,.login-map image,.login-brand-top>img{filter:brightness(1.6) drop-shadow(0 0 .65px #00d9be66)}

.permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.permission-option{display:flex!important;align-items:center;gap:13px;padding:14px 16px;border:1px solid #31505a;border-radius:10px;background:#102b34;font-size:14px!important;cursor:pointer;margin:0!important;min-height:54px}.permission-option input[type=checkbox]{width:19px!important;height:19px!important;min-width:19px;padding:0!important;margin:0!important;accent-color:#00d7b7;cursor:pointer}.permission-option span{display:block}.permission-option small{display:block;color:#9db8bf;font-size:12px;line-height:1.5;margin-top:4px}.user-error{color:#ff9aaa;min-height:24px;margin:12px 0}#user-editor h2{margin-top:0}#user-editor h3{margin-top:24px}#user-editor .form-grid{margin-bottom:18px}@media(max-width:700px){.permission-list{grid-template-columns:1fr}}
