:root{--n-0:#05070E;--n-50:#0A0E1B;--n-100:#0F1424;--n-200:#151B2E;--n-300:#1E2740;--n-400:#2A3552;--n-500:#3B486A;--n-600:#5D6884;--n-700:#8A93A8;--n-800:#C2C9D6;--n-900:#F2F5FB;--bg:var(--n-0);--surface:var(--n-100);--surface-2:var(--n-200);--border:rgba(255,255,255,.09);--border-strong:rgba(255,255,255,.16);--text:var(--n-900);--text-muted:var(--n-700);--text-faint:var(--n-600);--accent:#3D6BFF;--accent-strong:#2E5AF0;--accent-soft:rgba(61,107,255,.14);--accent-contrast:#FFFFFF;--success:#25B67A;--success-soft:rgba(37,182,122,.14);--warning:#E0A73B;--warning-soft:rgba(224,167,59,.14);--danger:#E5645A;--danger-soft:rgba(229,100,90,.14);--info:#4FB6E0;--info-soft:rgba(79,182,224,.14);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-xs:12px;--fs-sm:13.5px;--fs-base:15px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--lh-tight:1.2;--lh:1.5;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;--e1:0 1px 2px rgba(0,0,0,.28);--e2:0 1px 2px rgba(0,0,0,.24),0 8px 24px rgba(0,0,0,.32);--e3:0 1px 2px rgba(0,0,0,.28),0 18px 44px rgba(0,0,0,.45);--ease:cubic-bezier(.2,.7,.3,1);--dur-fast:.14s;--dur-base:.24s;--z-nav:80;--z-dropdown:100;--z-drawer:200;--z-modal:300;--z-toast:400}@media(prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s}}:root{--bg:#0B0F1A;--card:#121826;--line:#232B40;--ink:#F2F5FB;--mut:#8C97AE;--accent:#2E7BFF;--accent-2:#5B9BFF;--danger:#E0645A;--field:#0E1420;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(90% 60% at 50% -10%,rgba(46,123,255,.18),transparent 60%),var(--bg);color:var(--ink);min-height:100dvh;-webkit-font-smoothing:antialiased}a{color:var(--accent-2);text-decoration:none}button{font:inherit}.auth{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:28px 20px calc(28px + env(safe-area-inset-bottom));max-width:420px;margin:0 auto}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.01em;margin-bottom:26px}.brand .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:#fff;font-size:15px}h1{font-size:1.6rem;letter-spacing:-.02em;margin-bottom:6px}.sub{color:var(--mut);font-size:.95rem;margin-bottom:26px}form{display:flex;flex-direction:column;gap:14px}label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;color:var(--mut);font-weight:600}input{width:100%;font-size:16px;padding:14px 15px;border-radius:12px;border:1px solid var(--line);background:var(--field);color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #2e7bff33}input::placeholder{color:#4e586f}.btn{width:100%;padding:15px;border:0;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#fff;box-shadow:0 8px 22px #2e7bff52;transition:transform .12s,box-shadow .2s;margin-top:4px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.erro{background:#e0645a1f;border:1px solid rgba(224,100,90,.35);color:#f3b3ac;padding:11px 13px;border-radius:11px;font-size:.9rem}.foot{margin-top:22px;color:var(--mut);font-size:.92rem;text-align:center}.shell{min-height:100dvh;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#0b0f1ab3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.top .who{font-size:.85rem;color:var(--mut);text-align:right;line-height:1.3;min-width:0}.top .who b{display:block;color:var(--ink);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sair{padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:600;font-size:.88rem;cursor:pointer}.sair:active{background:var(--card)}.painel{flex:1;display:grid;place-items:center;text-align:center;padding:40px 22px;color:var(--mut)}.painel .big{font-size:1.15rem;color:var(--ink);font-weight:700;margin-bottom:6px}.center{min-height:100dvh;display:grid;place-items:center;color:var(--mut)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--fs-md);font-weight:700;line-height:1;padding:14px 18px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;min-height:44px;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast);text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--e1)}.btn-primary:not(:disabled):hover{background:var(--accent-strong)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.btn-subtle{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-subtle:not(:disabled):hover{border-color:var(--border-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#e5645a66}.btn-block{width:100%}.btn-sm{min-height:38px;padding:10px 14px;font-size:var(--fs-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--e1)}.card-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-h h3{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em}.card-h .sub{color:var(--text-muted);font-size:var(--fs-sm)}.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;padding:5px 10px;border-radius:var(--r-full);white-space:nowrap;line-height:1}.status svg{flex:none}.status-connected{background:var(--success-soft);color:var(--success)}.status-attention{background:var(--warning-soft);color:var(--warning)}.status-disconnected{background:var(--danger-soft);color:var(--danger)}.status-unconfigured{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border)}.status-pending{background:var(--info-soft);color:var(--info)}.empty{text-align:center;padding:var(--sp-10) var(--sp-4);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.empty .ico{width:52px;height:52px;border-radius:var(--r-md);background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);margin-bottom:var(--sp-1)}.empty h3{font-size:var(--fs-lg);font-weight:700}.empty p{color:var(--text-muted);font-size:var(--fs-base);max-width:38ch;line-height:var(--lh)}.empty .act{margin-top:var(--sp-3)}.spin{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation-duration:1.6s}}.shell{min-height:100dvh;background:var(--bg);color:var(--text)}.appbar{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:12px 16px;background:#05070eb8;border-bottom:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.appbar .ws{min-width:0}.appbar .ws b{display:block;font-size:var(--fs-md);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar .ws span{font-size:var(--fs-xs);color:var(--text-faint)}.avatar{width:36px;height:36px;border-radius:var(--r-full);background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:var(--fs-sm);flex:none;border:0;cursor:pointer}.content{max-width:1100px;margin:0 auto;padding:var(--sp-5) var(--sp-4) calc(var(--sp-12) + 64px)}.page-h{margin-bottom:var(--sp-5)}.page-h h1{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em}.page-h p{color:var(--text-muted);margin-top:4px;font-size:var(--fs-base)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:flex;background:#0a0e1beb;border-top:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;color:var(--text-faint);font-size:10.5px;font-weight:600;text-decoration:none;min-height:52px;justify-content:center}.tabbar a.on{color:var(--accent)}.tabbar a svg{width:22px;height:22px}.sidebar{display:none}@media(min-width:900px){.tabbar{display:none}.withnav{display:grid;grid-template-columns:240px 1fr}.sidebar{display:flex;flex-direction:column;gap:2px;padding:16px 12px;border-right:1px solid var(--border);position:sticky;top:0;height:100dvh}.sidebar .brand{font-weight:800;font-size:var(--fs-lg);padding:8px 12px 16px}.sidebar a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--r-md);color:var(--text-muted);text-decoration:none;font-weight:600;font-size:var(--fs-base)}.sidebar a:hover{background:var(--surface)}.sidebar a.on{background:var(--accent-soft);color:var(--accent)}.sidebar a svg{width:20px;height:20px;flex:none}.content{padding:var(--sp-8) var(--sp-8) var(--sp-12)}}.row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row .ic{width:42px;height:42px;border-radius:var(--r-md);background:var(--surface-2);display:grid;place-items:center;flex:none;color:var(--text-muted);font-weight:800}.row .main{flex:1;min-width:0}.row .main b{display:block;font-size:var(--fs-base);font-weight:650}.row .main span{font-size:var(--fs-sm);color:var(--text-faint)}
