@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--bg:#050a12;--surface:#0b1522;--surface-2:#0e1c2b;--line:rgba(122,181,225,.14);--muted:#8298aa;--text:#ecf7ff;--blue:#37aef7;--cyan:#65e5ff;--purple:#7f75ff;--green:#27dfc4;--warn:#ffbf69;--danger:#ff648a;color-scheme:dark;font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 90% 60% at 62% -5%,#0f3650 0%,#081522 42%,#050a12 78%);font-size:14px;letter-spacing:-.01em}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(95,205,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(95,205,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 78%)}
a{color:var(--cyan)}.layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.workspace{min-width:0}.sidebar{position:sticky;top:0;height:100vh;padding:25px 18px 18px;background:rgba(5,12,20,.9);border-right:1px solid var(--line);backdrop-filter:blur(24px);z-index:3;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:3px 10px 26px}.brand-mark{width:30px;height:30px;border:1px solid var(--blue);border-radius:50%;position:relative;box-shadow:0 0 25px rgba(55,174,247,.35),inset 0 0 12px rgba(55,174,247,.2)}.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan)}.brand-mark:before{width:6px;height:6px;left:11px;top:3px}.brand-mark:after{width:4px;height:4px;left:5px;bottom:6px}.brand strong{display:block;font-size:14px;letter-spacing:.02em}.brand small,.user-box small{display:block;color:var(--muted);font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;margin-top:3px}.sidebar nav{display:grid;gap:3px}.sidebar nav a{color:#92a9ba;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:650;transition:.2s;border:1px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(55,174,247,.14),rgba(55,174,247,.025));border-color:rgba(55,174,247,.08);box-shadow:inset 2px 0 var(--blue)}.user-box{margin-top:auto;padding:14px 10px 0;border-top:1px solid var(--line)}.user-box form{margin:10px 0 0}.user-box .button{width:100%}
.topbar{height:72px;padding:15px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:rgba(5,12,20,.46);backdrop-filter:blur(18px);position:sticky;top:0;z-index:2}.global-search{display:flex;width:min(520px,55vw);background:rgba(4,12,20,.72);border:1px solid var(--line);border-radius:10px;overflow:hidden}.global-search input{flex:1;border:0;background:transparent;margin:0;padding:10px 13px}.global-search button{border:0;border-left:1px solid var(--line);background:rgba(55,174,247,.08);color:var(--cyan);padding:0 15px;cursor:pointer}.environment{font:9px 'DM Mono',monospace;letter-spacing:.12em;color:var(--green);border:1px solid rgba(39,223,196,.22);background:rgba(39,223,196,.06);padding:6px 9px;border-radius:99px}.environment:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:6px;box-shadow:0 0 8px var(--green)}
.content{padding:32px 38px 70px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{font-size:28px;line-height:1.08;letter-spacing:-.045em;margin:5px 0 6px}.page-head p{margin:0;color:var(--muted)}.eyebrow{font:9px 'DM Mono',monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.actions{display:flex;gap:9px;align-items:center}.inline{display:inline-flex;margin:0}
.button{display:inline-flex;width:auto;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:10px 14px;text-decoration:none;font:700 12px Manrope,sans-serif;cursor:pointer;margin:0;transition:.18s}.button.primary{background:linear-gradient(135deg,#178ed0,#4bc9ff);color:#02111b;box-shadow:0 8px 25px rgba(38,175,244,.2)}.button.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.ghost{background:rgba(255,255,255,.035);color:#b8cedc;border-color:var(--line)}.button.ghost:hover{color:#fff;border-color:rgba(55,174,247,.4)}.button.danger{background:rgba(255,100,138,.08);color:#ff9bb3;border-color:rgba(255,100,138,.22)}.button.small{padding:6px 9px;font-size:10px}
.panel,.metric,.login-card{background:linear-gradient(145deg,rgba(15,32,47,.88),rgba(7,17,27,.84));border:1px solid var(--line);box-shadow:0 20px 55px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(18px);border-radius:15px}.panel{padding:22px;margin-bottom:16px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#a8c1d1;margin:0 0 17px}.panel>small{color:var(--muted)}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.section-title h2{margin:4px 0 0}.section-title a{font-size:11px;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:11px;margin-bottom:16px}.metric{padding:18px;position:relative;overflow:hidden}.metric:before{content:"";height:2px;position:absolute;top:0;left:17px;right:17px;background:linear-gradient(90deg,transparent,var(--blue),transparent);opacity:.6}.metric.risk:before{background:linear-gradient(90deg,transparent,var(--danger),transparent)}.metric span{display:block;font:9px 'DM Mono',monospace;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.metric strong{display:block;font-size:31px;line-height:1;margin:11px 0 7px}.metric small{color:#73899a;font-size:10px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:16px}.network-panel{padding:0;overflow:hidden}.network-panel>.section-title{padding:21px 22px 0}.legend{display:flex;gap:12px;font:9px 'DM Mono',monospace;color:var(--muted)}.legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.legend .profile-dot:before{background:var(--blue)}.legend .bm-dot:before{background:var(--purple)}.legend .account-dot:before{background:var(--green)}.legend .backup-line:before{height:1px;border-radius:0;background:var(--warn)}.graph-toolbar{display:flex;align-items:end;gap:10px;padding:0 22px 14px;border-bottom:1px solid var(--line)}.graph-toolbar>div{display:flex;gap:6px;margin-right:auto}.graph-toolbar label{font:9px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase}.graph-toolbar select,.graph-toolbar input{width:145px;margin:5px 0 0;padding:7px 9px;font-size:11px}.network-wrap{display:grid;grid-template-columns:minmax(0,1fr) 205px;min-height:520px}.network{min-height:520px;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 50%,rgba(39,152,208,.12),transparent 38%)}.network:active{cursor:grabbing}.network svg{display:block;width:100%;height:520px}.graph-detail{border-left:1px solid var(--line);padding:22px;background:rgba(4,12,20,.42)}.graph-detail h3{font-size:17px;margin:10px 0}.graph-detail p{color:var(--muted);font-size:12px;line-height:1.6}.graph-loading,.graph-empty{height:520px;display:grid;place-items:center;color:var(--muted);font:11px 'DM Mono',monospace}.graph-edge{fill:none;stroke:rgba(101,176,219,.25);stroke-width:1.3}.graph-edge.is-backup{stroke:var(--warn);stroke-dasharray:5 5}.graph-node{cursor:pointer;transition:opacity .2s}.graph-node text{fill:#dceefa;text-anchor:middle;font:10px 'DM Mono',monospace;pointer-events:none}.graph-node .node-type-label{fill:#668398;font-size:7px;text-transform:uppercase}.node-core{filter:drop-shadow(0 0 9px rgba(55,174,247,.6));stroke:#c7f2ff;stroke-width:1}.node-halo{fill:transparent;stroke:rgba(105,213,255,.18);stroke-width:1}.graph-node:hover .node-halo{stroke:var(--cyan);stroke-width:2}.graph-node.is-muted,.graph-edge.is-muted{opacity:.12}.activity-panel{min-height:300px}.mini-activity{display:grid}.mini-activity>div{padding:13px 0;border-bottom:1px solid var(--line)}.mini-activity>div:last-child{border:0}.mini-activity span{display:block;color:#627c8f;font:8px 'DM Mono',monospace}.mini-activity strong{display:block;font-size:11px;margin:4px 0}.mini-activity small{color:var(--muted)}
input,select,textarea{font:500 13px Manrope,sans-serif;width:100%;padding:11px 12px;margin:7px 0 16px;background:rgba(3,11,18,.7);color:#eaf8ff;border:1px solid rgba(111,181,220,.19);border-radius:9px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(55,174,247,.11)}textarea{min-height:95px;resize:vertical}label{font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#91abba}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;max-width:900px}.form-actions{grid-column:1/-1;padding-top:6px}.form-row{display:flex;gap:9px;align-items:center;margin:0}.form-row input,.form-row select{margin:0;min-width:125px}.form-row .button{flex:none}.check-inline{display:flex;align-items:center;gap:8px;white-space:nowrap;text-transform:none}.check-inline input{width:auto;margin:0}.check-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.check-row input{width:16px;margin:0}.check-row span{color:#bed1de}.progress{height:5px;background:rgba(255,255,255,.05);border-radius:9px;overflow:hidden;margin-bottom:10px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green))}
.table-panel{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);white-space:nowrap}th{font:9px 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:#7793a6;background:rgba(4,12,20,.46)}td{color:#c6d8e3}tbody tr:hover{background:rgba(55,174,247,.025)}tbody tr:last-child td{border:0}.status{display:inline-block;padding:4px 8px;border-radius:99px;font:8px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan);border:1px solid rgba(55,174,247,.23);background:rgba(55,174,247,.07)}.status-operational,.status-active,.status-complete,.status-protected{color:#65ebca;border-color:rgba(39,223,196,.22);background:rgba(39,223,196,.06)}.status-blocked,.status-lost,.status-critical{color:#ff88a5;border-color:rgba(255,100,138,.25);background:rgba(255,100,138,.07)}.status-high,.status-warning,.status-at_risk,.status-restricted{color:#ffd08d;border-color:rgba(255,191,105,.25);background:rgba(255,191,105,.07)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-grid>.panel{margin:0}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.details div{min-width:0}.details dt{font:8px 'DM Mono',monospace;text-transform:uppercase;color:#718c9f;margin-bottom:5px}.details dd{margin:0;color:#d5e5ee;overflow-wrap:anywhere}.timeline{position:relative;padding-left:14px}.timeline:before{content:"";position:absolute;top:5px;bottom:5px;left:3px;width:1px;background:var(--line)}.timeline>div{position:relative;padding:0 0 18px 15px}.timeline i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue);left:-14px;top:4px;box-shadow:0 0 10px var(--blue)}.timeline span{display:block;font:8px 'DM Mono',monospace;color:#678296}.timeline strong{display:block;margin:4px 0;font-size:11px}.timeline small{color:var(--muted)}.credential-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.credential-row strong,.credential-row small{display:block}.credential-row small{color:var(--muted);font-size:9px}.secret-panel{max-width:700px}.secret-panel code{display:block;padding:18px;background:#030a10;border:1px solid var(--line);color:var(--cyan);border-radius:10px;margin:18px 0;overflow:auto}
.search-results{display:grid;padding:7px}.search-result{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;text-decoration:none;padding:13px;border-bottom:1px solid var(--line)}.search-result:last-child{border:0}.search-result>span{font:8px 'DM Mono',monospace;text-transform:uppercase;color:var(--muted)}.search-result strong{color:#d9e9f2}.empty-state{padding:35px;text-align:center;color:var(--muted)}.notice{padding:11px 14px;border-radius:9px;border:1px solid rgba(39,223,196,.2);background:rgba(39,223,196,.07);color:#9df3df;margin-bottom:18px}.notice.error{border-color:rgba(255,100,138,.24);background:rgba(255,100,138,.07);color:#ffafc2}.login-card{width:min(420px,calc(100vw - 32px));padding:34px;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%)}.login-card .brand{padding:0 0 18px}.login-card .large strong{font-size:19px}.login-card p{color:var(--muted);margin:0 0 22px}.login-card form{margin:0}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.activity-panel{min-height:0}.network-wrap{grid-template-columns:1fr}.graph-detail{border-left:0;border-top:1px solid var(--line)}.detail-grid{grid-template-columns:1fr}}
@media(max-width:780px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:14px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.brand{padding:3px 5px 12px}.user-box{display:none}.topbar{position:relative;height:auto;padding:12px 16px}.global-search{width:100%}.environment{display:none}.content{padding:24px 16px 50px}.page-head{display:block}.page-head .actions{margin-top:15px}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-row{align-items:stretch;flex-direction:column}.network-panel>.section-title{display:block}.legend{margin-top:13px;flex-wrap:wrap}.graph-toolbar{align-items:stretch;flex-direction:column}.graph-toolbar>div{margin:0}.graph-toolbar label,.graph-toolbar select,.graph-toolbar input{width:100%}.network,.network svg{height:410px;min-height:410px}.details{grid-template-columns:1fr}.table-panel table,.table-panel thead,.table-panel tbody,.table-panel th,.table-panel td,.table-panel tr{display:block}.table-panel thead{display:none}.table-panel tr{padding:10px;border-bottom:1px solid var(--line)}.table-panel td{white-space:normal;border:0;padding:6px 8px}.table-panel td:before{content:attr(data-label);display:block;color:#6f8b9d;font:8px 'DM Mono',monospace;text-transform:uppercase;margin-bottom:3px}.search-result{grid-template-columns:1fr}.login-card{position:relative;margin:45px auto;left:auto;top:auto;transform:none}}

/* Dashboard radial: o mapa ocupa a primeira dobra e os indicadores viram uma torre lateral. */
.dashboard-head{align-items:center;margin-bottom:14px}.dashboard-head h1{font-size:25px}.dashboard-grid{grid-template-columns:minmax(0,4fr) minmax(245px,1fr);align-items:start}.dashboard-side{display:grid;gap:12px;min-width:0}.dashboard-side .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.dashboard-side .metric{padding:13px}.dashboard-side .metric strong{font-size:25px;margin:8px 0 4px}.dashboard-side .metric small{font-size:8px}.dashboard-side .activity-panel{margin:0;min-height:0}.network-wrap,.network,.network svg{height:clamp(450px,calc(100vh - 275px),680px);min-height:450px}.network{background:radial-gradient(circle at 50% 50%,rgba(55,174,247,.16),transparent 18%),radial-gradient(circle at 50% 50%,rgba(127,117,255,.07),transparent 46%)}
.graph-ring{fill:none;stroke:rgba(93,190,239,.075);stroke-width:.8;stroke-dasharray:2 10}.graph-ring-1{stroke:rgba(127,117,255,.16)}.graph-ring-2{stroke:rgba(55,174,247,.1)}.graph-ring-3,.graph-ring-4,.graph-ring-5{stroke:rgba(39,223,196,.07)}.graph-core circle:first-child{fill:rgba(55,174,247,.025);stroke:rgba(101,229,255,.2);stroke-width:.8;filter:drop-shadow(0 0 12px rgba(55,174,247,.22));animation:core-breathe 5.8s ease-in-out infinite}.graph-core circle:last-child{fill:var(--cyan);filter:drop-shadow(0 0 8px rgba(101,229,255,.65))}
.graph-edge-base{stroke:rgba(105,194,235,.1);stroke-width:.8}.graph-edge-flow{stroke:rgba(101,229,255,.68);stroke-width:1.15;stroke-linecap:round;stroke-dasharray:1.5 24;animation:neural-flow 6.2s linear infinite;filter:drop-shadow(0 0 2px rgba(101,229,255,.4))}.graph-edge-flow.is-backup{stroke:rgba(255,191,105,.72);stroke-dasharray:1.5 20;animation-duration:7.2s;filter:drop-shadow(0 0 2px rgba(255,191,105,.35))}.graph-edge-base.is-backup{stroke:rgba(255,191,105,.18);stroke-dasharray:4 7}.graph-node .node-halo{animation:node-breathe 5.6s ease-in-out infinite;transform-origin:center}.graph-node:nth-of-type(3n) .node-halo{animation-delay:-1.8s}.graph-node:nth-of-type(3n+1) .node-halo{animation-delay:-3.6s}.graph-node .node-label{opacity:0;font-size:9px;paint-order:stroke;stroke:#06111c;stroke-width:4px;stroke-linejoin:round;transition:opacity .2s}.graph-node:hover .node-label,.graph-node:focus .node-label,.graph-node.is-selected .node-label,.graph-node.is-search-match .node-label{opacity:1}.graph-node.is-muted .node-label{opacity:0}.graph-node.node-ad_account .node-core{stroke-width:.6;filter:drop-shadow(0 0 5px rgba(39,223,196,.38))}.graph-node.node-business_manager .node-core{filter:drop-shadow(0 0 7px rgba(127,117,255,.48))}
@keyframes neural-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes core-breathe{0%,100%{opacity:.3;transform:scale(.94);transform-origin:600px 380px}50%{opacity:.72;transform:scale(1.06);transform-origin:600px 380px}}@keyframes node-breathe{0%,100%{opacity:.25}50%{opacity:.58}}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1.25fr}.dashboard-side .metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.network-wrap,.network,.network svg{height:520px;min-height:520px}}
@media(max-width:780px){.dashboard-head{display:flex}.dashboard-head p{display:none}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr}.dashboard-side .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.network-wrap,.network,.network svg{height:430px;min-height:430px}.graph-detail{display:none}}
@media(prefers-reduced-motion:reduce){.graph-edge-flow,.graph-core circle,.graph-node .node-halo{animation:none}.graph-edge-flow{stroke-dasharray:4 12}}
