/* Pan design system (PAN ADS): Hanken Grotesk + JetBrains Mono, azul #3B5BDB, superfícies planas */
:root{--bg:#F5F6F8;--surface:#FFFFFF;--surface-2:#F8F9FB;--surface-3:#F1F2F5;--border:#E8EAED;--border-strong:#DDE0E5;--text:#131A24;--text-2:#59616E;--text-muted:#98A0AE;--accent:#3B5BDB;--accent-hover:#2F4BC7;--accent-soft:rgba(59,91,219,.10);--bad:#C0392B;--ok:#1F9D6C;--warn:#C98A06;--shadow:0 10px 40px rgba(0,0,0,.08);color-scheme:light}
[data-theme="dark"]{--bg:#0E1116;--surface:#161B22;--surface-2:#1C222B;--surface-3:#242B35;--border:#2A313B;--border-strong:#3A424E;--text:#E6EAF0;--text-2:#AAB2BF;--text-muted:#7B838F;--accent:#3B5BDB;--accent-hover:#4C6BEF;--accent-soft:rgba(76,107,239,.16);--bad:#F1685A;--ok:#34D399;--warn:#FBBF24;--shadow:0 10px 40px rgba(0,0,0,.45);color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
body{min-height:100vh}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
button{font-family:inherit;cursor:pointer}
input,select{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;transition:border-color .15s;min-width:0}
input:focus,select:focus{outline:none;border-color:var(--accent)}
label.f{display:block;font-size:11.5px;font-weight:600;color:var(--text-2);margin:14px 0 5px}
.btn{font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:10px;border:1px solid transparent;background:var(--accent);color:#fff;transition:background .15s,border-color .15s}
.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:default}
.btn.block{width:100%;margin-top:20px;padding:12px;font-size:14px}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-3)}
.btn.sm{font-size:12px;padding:7px 11px;border-radius:8px}
.btn.danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.btn.danger:hover{background:color-mix(in srgb,var(--bad) 10%,transparent)}
.link{background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;text-decoration:underline;padding:0}
[data-theme="dark"] .link{color:#8FA4FF}
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px;box-shadow:var(--shadow)}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth{width:100%;max-width:400px}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px}
.mark{width:52px;height:52px;border-radius:14px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px;margin-bottom:12px}
.brand h1{font-size:18px;font-weight:700}.brand p{font-size:12.5px;color:var(--text-muted);margin-top:3px}
.msg{font-size:12.5px;font-weight:500;margin-top:14px;text-align:center;min-height:16px;color:var(--bad)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}
.eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}
.theme-toggle{position:fixed;top:18px;right:18px;width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;z-index:5}
.theme-toggle svg{width:17px;height:17px}.theme-toggle .sun{display:none}[data-theme="dark"] .theme-toggle .sun{display:block}[data-theme="dark"] .theme-toggle .moon{display:none}
/* painel */
.wrap{max-width:1040px;margin:0 auto;padding:32px 20px 80px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
[data-theme="dark"] .chip{color:#8FA4FF}
h1.t{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:10px 0 4px}
.sub{font-size:13.5px;color:var(--text-muted);margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:16px;align-items:start}
.ws{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}
.ws-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.ws-n{font-size:16px;font-weight:700}.ws-n .code{font-size:11px;font-weight:700;color:var(--accent);margin-right:8px}
[data-theme="dark"] .ws-n .code{color:#8FA4FF}
.ws-id{font-size:10px;color:var(--text-muted);margin-top:3px;word-break:break-all}
.pill{font-size:10.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}
[data-theme="dark"] .pill{color:#8FA4FF}
.status{font-size:10.5px;font-weight:700;text-transform:uppercase;border-radius:999px;padding:5px 9px;background:var(--surface-2);border:1px solid var(--border)}
.box{background:var(--surface-2);border-radius:10px;padding:11px 13px;font-size:12px;margin-bottom:10px}
.box .r1{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600}
.box .meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--text-muted)}
.mem{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-2);border-radius:10px;padding:8px 12px;font-size:12px;margin-bottom:6px}
.mem span.em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mem .act{display:flex;align-items:center;gap:6px;flex-shrink:0}
.role{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
[data-theme="dark"] .role{color:#8FA4FF}
.row{display:flex;flex-wrap:wrap;gap:8px}.row input{flex:1;min-width:150px}
.temp{margin-top:10px;border:1px solid var(--accent);background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:12px}
.temp code{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;padding:4px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);color:var(--accent);margin:0 8px}
[data-theme="dark"] .temp code{color:#8FA4FF}
.temp .hint{color:var(--text-muted);margin-top:8px}
.sec{margin-top:36px}.sec h2{font-size:16px;font-weight:700;margin-bottom:12px}
.empty{color:var(--text-muted);font-size:13px;padding:8px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.on{opacity:1}
.hide{display:none!important}
@media(max-width:520px){.card{padding:24px}.mem{flex-wrap:wrap}}
