@font-face{font-family:Manrope;src:url('/assets/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--purple:#8438E8;--deep:#140E22;--lilac:#C7A4FF;--bg:#F5F2FA;--surface:#fff;--soft:#FAF8FD;--line:#E8E1F0;--ink:#30263D;--muted:#6D617C;--accent:#6C26C8;--hover:#F1EAFB;--input:#fff;--success:#18794E;--success-bg:#E9F6EF;--danger:#B42336;--danger-bg:#FDEFF1;--warning:#805313;--warning-bg:#FFF6E3;--shadow:0 5px 22px #140e2206}
:root[data-wth-theme=dark]{color-scheme:dark;--bg:#14101D;--surface:#211A2D;--soft:#282034;--line:#3C304E;--ink:#F0EAF8;--muted:#B7A9C8;--accent:#C7A4FF;--hover:#322443;--input:#1B1525;--success:#76D6AA;--success-bg:#18372D;--danger:#FFACB8;--danger-bg:#402432;--warning:#EBC381;--warning-bg:#3D3021;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--purple);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;letter-spacing:-.025em}h2{font-size:21px;font-weight:800}h3{font-size:17px;font-weight:750}p{margin-bottom:12px}small{font-size:12px}code,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}code{color:var(--accent);background:var(--hover);padding:3px 6px;border-radius:5px}.muted,small{color:var(--muted)}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:9px;border:1px solid transparent;background:var(--purple);color:#fff;font-weight:700;line-height:1.3;white-space:nowrap}.btn:hover{background:#7029CB}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--hover)}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--line)}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);flex:none}.icon-button:hover{background:var(--hover)}.icon-button svg{width:21px;height:21px}.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
/* Estrutura Presença: navegação profunda, cabeçalho roxo, superfícies de leitura. */
.sidebar{position:fixed;inset:0 auto 0 0;width:292px;z-index:30;background:var(--deep);color:#fff;display:flex;flex-direction:column;padding:26px 16px 18px;overflow:auto;box-shadow:5px 0 25px #140e2210;transition:width .2s,transform .2s}.brand{display:block;margin-bottom:32px;padding:10px 0}.brand img{display:block;width:260px;height:auto}.brand .compact-logo{display:none}.product-label{color:var(--lilac);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin:0 12px 12px;font-weight:750}.nav-button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;min-height:48px;margin:4px 0;border:0;border-radius:9px;background:transparent;color:#DDD0EE;text-align:left;font-weight:650}.nav-button:hover{background:#342044;color:#fff}.nav-button.active{background:var(--purple);color:#fff}.sidebar-footer{margin-top:auto;padding:30px 12px 0;font-size:12px;color:#B9A4CD}.sidebar-footer a{color:#C7A4FF;display:block;margin-top:7px}.workspace{margin-left:292px;min-width:0;transition:margin-left .2s}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar-start,.topbar-actions{display:flex;align-items:center;gap:13px}.product-title{font-size:18px;font-weight:800}.role-pill{font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:30px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:26px 28px 40px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;background:linear-gradient(110deg,#140E22,#2D1949);border-radius:18px;color:#fff;margin-bottom:24px}.hero h1{font-size:28px;margin:0 0 7px}.hero p{color:#C7A4FF;margin:0;font-size:13px}.hero .btn{border-color:#A666FA}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:650}.stat-icon{display:grid;place-items:center;background:var(--hover);color:var(--accent);width:36px;height:36px;border-radius:9px}.stat strong{display:block;font-size:30px;font-weight:800;color:var(--accent);line-height:1.2;margin-top:12px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.section-header h2{margin:0 0 4px}.section-header p{margin:0;font-size:12px;color:var(--muted)}.search{position:relative;min-width:220px;width:300px;max-width:100%}.search svg{position:absolute;left:13px;top:13px;color:var(--muted);width:18px;height:18px}.search input{padding-left:39px}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--input);color:var(--ink)}input::placeholder{color:var(--muted);opacity:.8}input:disabled,select:disabled{background:var(--soft)}label{display:block;font-weight:650;margin-bottom:16px}label>span{display:block;margin-bottom:7px;font-size:13px}label small{display:block;font-weight:400;line-height:1.5;margin-top:6px}.check{display:flex;align-items:center;gap:10px;font-size:13px}.check input{width:17px;height:17px;min-height:0;accent-color:var(--purple);margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-head{display:flex;align-items:flex-start;gap:13px;padding:22px 22px 16px}.connection-icon{display:grid;place-items:center;background:var(--hover);color:var(--accent);width:44px;height:44px;border-radius:11px;flex:none}.card-heading{flex:1;min-width:0}.card h3{margin:0 0 4px;overflow-wrap:anywhere}.card-domain{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.status-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:0 22px 18px}.badge{display:inline-flex;gap:6px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;background:var(--soft);color:var(--muted);border-radius:30px;line-height:1.4}.badge:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.card-data{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px;padding:18px 22px;background:var(--soft);border-block:1px solid var(--line);font-size:13px}.data-label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.card-data .full{grid-column:1/-1}.endpoint{font-size:12px;overflow-wrap:anywhere}.capacity{display:flex;align-items:center;gap:8px}.capacity-meter{height:5px;background:var(--line);border-radius:4px;flex:1;overflow:hidden}.capacity-meter span{display:block;height:100%;background:var(--purple)}.card-actions{padding:16px 22px;display:flex;flex-wrap:wrap;gap:8px}.card-actions .btn{font-size:12px;padding:9px 12px;min-height:36px}.card-actions .danger{margin-left:auto}.card-details{margin:0 22px 18px;font-size:12px}.card-details summary{cursor:pointer;color:var(--muted)}.card-details p{margin:9px 0 0;overflow-wrap:anywhere}.empty{grid-column:1/-1;padding:36px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.empty h3{color:var(--ink);margin-top:12px}.empty svg{width:34px;height:34px}.history-section{margin-top:30px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);scrollbar-width:thin;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);color:var(--muted);font-size:11px;font-weight:750}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--soft)}td.result{white-space:normal;min-width:180px;max-width:350px}.call-direction{color:var(--accent);font-weight:700}.table-empty{padding:30px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-size:12px}.pagination .btn{min-height:35px;font-size:12px;padding:7px 12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;flex-wrap:wrap}#message{display:none;padding:14px 18px;border-radius:11px;border:1px solid var(--line);background:var(--hover);color:var(--ink);margin-bottom:20px;white-space:pre-wrap;font-size:13px}.menu-overlay{display:none}
/* Modais e formulários. */
dialog{width:min(760px,calc(100vw - 28px));max-height:90dvh;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);padding:0;box-shadow:0 24px 80px #140e2233;overflow:auto}dialog::backdrop{background:#140e2299;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 26px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:21px}.dialog-body{padding:24px 26px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--line);background:var(--soft);flex-wrap:wrap}fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 10px;margin:0 0 20px;min-width:0}fieldset:last-child{border:0;margin-bottom:0}legend{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;padding:0}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}.input-action{display:flex;gap:8px}.input-action .btn{min-height:44px}.qr{display:block;background:white;padding:14px;border-radius:12px;width:280px;max-width:100%;margin:22px auto}.qr-help{padding:14px 18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:13px}.qr-help ol{margin:0;padding-left:20px}.qr-help li{padding:3px 0}.qr-state{text-align:center;margin:12px 0;color:var(--accent)}.credentials{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:18px;margin:0;font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}.reveal-input{position:relative}.reveal-input input{padding-right:50px}.reveal-input button{position:absolute;right:4px;top:3px;width:38px;height:38px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}
:root[data-menu=compact] .sidebar{width:84px}:root[data-menu=compact] .workspace{margin-left:84px}:root[data-menu=compact] .brand img{display:none}:root[data-menu=compact] .brand .compact-logo{display:block;width:48px;margin:auto}:root[data-menu=compact] .sidebar .nav-label,:root[data-menu=compact] .product-label,:root[data-menu=compact] .sidebar-footer{display:none}:root[data-menu=compact] .nav-button{justify-content:center;padding:13px 0}
@media(min-width:901px) and (max-width:1180px){.stats{grid-template-columns:repeat(2,1fr)}.topbar,main{padding-left:22px;padding-right:22px}}
@media(max-width:900px){.sidebar,:root[data-menu=compact] .sidebar{width:292px;transform:translateX(-100%)}.workspace,:root[data-menu=compact] .workspace{margin-left:0}.sidebar .brand img,:root[data-menu=compact] .brand img{display:block;width:260px}.sidebar .brand .compact-logo,:root[data-menu=compact] .brand .compact-logo{display:none}:root[data-menu=compact] .sidebar .nav-label,:root[data-menu=compact] .product-label,:root[data-menu=compact] .sidebar-footer{display:block}:root[data-menu=compact] .nav-button{justify-content:flex-start;padding:13px 15px}:root[data-menu-open=true] .sidebar{transform:translateX(0)}:root[data-menu-open=true] .menu-overlay{display:block;position:fixed;inset:0;z-index:25;background:#140e2299;border:0}.topbar{padding:14px 20px}.stats{grid-template-columns:repeat(2,1fr)}main{padding:22px 20px 32px}.hero{padding:22px}.hero h1{font-size:25px}}
@media(max-width:600px){.topbar{padding:12px 14px;gap:8px}.topbar-start,.topbar-actions{gap:8px}.topbar .role-pill{display:none}.topbar .logout-label{display:none}.topbar .logout-button{width:40px;padding:8px}.product-title{font-size:16px}main{padding:18px 14px 28px}.hero{align-items:flex-start;padding:20px;gap:14px;flex-direction:column;margin-bottom:18px}.hero h1{font-size:24px}.hero .btn{width:100%}.stats{gap:10px;margin-bottom:22px}.stat{padding:15px}.stat strong{font-size:25px}.stat-top{font-size:10px}.stat-icon{width:29px;height:29px}.section-header{gap:12px}.section-header h2{font-size:20px}.search{width:100%;min-width:0}.cards{gap:14px}.card-head{padding:18px 18px 14px}.status-line{padding:0 18px 15px}.card-data{padding:16px 18px}.card-actions{padding:14px 18px}.card-details{margin-inline:18px}.card-actions .danger{margin-left:0}.dialog-header{padding:18px}.dialog-body{padding:20px 18px}.dialog-footer{padding:16px 18px}.grid{grid-template-columns:1fr}.dialog-header h2{font-size:19px}.pagination{align-items:flex-start;flex-direction:column}.history-section{margin-top:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Login independente do espaçamento do painel. Altura natural e grade sem largura mínima implícita. */
.login-page{display:block;margin:0;padding:0;min-height:100svh;background:var(--bg)}
main.login-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:none;min-height:100svh;margin:0;padding:0;border:0;border-radius:0;background:var(--bg);box-shadow:none;overflow:visible}
.login-hero{position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(28px,4vw,64px);background:radial-gradient(ellipse at 85% 15%,#662EB5 0%,transparent 55%),linear-gradient(145deg,#140E22,#2F164D);color:#fff;overflow:hidden}
.login-hero:after{content:'';position:absolute;right:-190px;bottom:-240px;width:450px;height:650px;border:1px solid #8438E850;transform:rotate(27deg);pointer-events:none}
.login-hero .logo{position:relative;display:block;width:260px;max-width:100%;height:auto;flex:none;z-index:1}
.login-hero .hero-content{position:relative;z-index:1;margin:auto 0;padding:48px 0;max-width:580px}
.login-hero .eyebrow{color:#C7A4FF;font-size:11px;letter-spacing:.13em}
.login-hero h1{color:#fff;font-size:clamp(32px,3.6vw,56px);font-weight:800;line-height:1.12;letter-spacing:-.045em;margin:0 0 20px;overflow-wrap:break-word}
.login-hero p{color:#DDD0EE;font-size:clamp(13px,1.1vw,16px);line-height:1.8;margin:0;max-width:450px}
.login-hero>div:last-child{position:relative;z-index:1;padding-top:12px;flex:none}
.login-hero .product-tag{color:#C7A4FF;font-size:13px;font-weight:700;margin-bottom:4px}.login-hero .hero-bottom{font-size:11px;color:#B9A4CD}
.login-access{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:72px clamp(24px,4vw,64px) 40px;background:var(--bg)}
.login-access .theme-control{position:absolute;right:24px;top:20px;border:0;background:transparent}
.login-access h2,.login-access .intro,.login-access .eyebrow,.login-access form,.login-support,.login-error{width:100%;max-width:410px}
.login-access h2{font-size:clamp(23px,2.1vw,30px);font-weight:800;line-height:1.25;margin:0 0 10px;overflow-wrap:break-word}
.login-access .intro{font-size:13px;color:var(--muted);margin:0 0 24px}
.login-access form{margin:0;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:0}
.login-access label{margin-bottom:18px}.login-access input{min-width:0}.login-access .btn-submit{width:100%;min-height:46px;margin-top:3px}
.login-support{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-top:18px;min-height:46px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--accent);font-size:13px;font-weight:700}
.login-support:hover{background:var(--hover)}.login-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:18px}.login-error{padding:12px 14px;margin-bottom:18px;border:1px solid var(--line);border-radius:9px;background:var(--danger-bg);color:var(--danger);font-size:13px}
@media(min-width:821px) and (max-height:700px){.login-hero{padding:24px 36px}.login-hero .logo{width:220px}.login-hero .hero-content{padding:24px 0}.login-hero h1{font-size:clamp(30px,3.2vw,44px)}.login-access{padding:52px 32px 24px}.login-access .intro{margin-bottom:18px}.login-access form{padding:20px}.login-access label{margin-bottom:14px}.login-support{margin-top:12px}.login-foot{margin-top:12px}}
@media(max-width:820px){main.login-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.login-hero{padding:22px 24px;min-height:0}.login-hero .logo{width:230px}.login-hero .hero-content,.login-hero .hero-bottom{display:none}.login-hero>div:last-child{padding-top:10px}.login-hero .product-tag{font-size:12px;margin:0}.login-access{padding:62px 24px 28px;justify-content:flex-start}.login-access h2{font-size:26px}.login-access .theme-control{right:20px;top:14px}.login-access .intro{margin-bottom:20px}}
@media(max-width:380px){.login-hero{padding:18px 20px}.login-hero .logo{width:210px}.login-access{padding-inline:18px}.login-access form{padding:18px}.login-access h2{font-size:24px}}
