:root{color-scheme:dark;--bg:#0b1017;--panel:#121a25;--line:#25303e;--muted:#92a1b4;--mint:#73e6bc;--text:#eef4fb;font-family:Inter,'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#0e151f;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:10}.wordmark{display:flex;align-items:center;gap:12px;color:var(--text);font-size:21px;font-weight:800;letter-spacing:.1em;padding:0 8px}.wordmark:hover{text-decoration:none}.wordmark img{border-radius:12px}.wordmark small{display:block;font-size:9px;letter-spacing:.15em;margin-top:3px;color:var(--muted)}.nav-label{color:#607084;letter-spacing:.14em;font-size:10px;font-weight:700;margin:46px 14px 12px}nav{display:grid;gap:7px}nav a{padding:13px 15px;display:flex;align-items:center;gap:12px;border-radius:9px;color:#a6b3c4;font-size:13px;font-weight:600;transition:background .15s,color .15s}nav a span{font-size:19px;width:20px}nav a:hover{background:#192432;color:#fff;text-decoration:none}nav a[aria-current=page]{color:var(--mint);background:#17332e;box-shadow:inset 2px 0 var(--mint)}.sidebar-foot{margin-top:auto;padding:20px 10px 0;color:#bcc7d5;font-size:12px}.sidebar-foot small{display:block;color:#64748a;margin-top:10px;font-size:11px}.brand-dot{display:inline-block;background:var(--mint);width:6px;height:6px;border-radius:50%;margin-right:7px}
main{margin-left:230px;padding:44px clamp(24px,4vw,64px);max-width:1900px;min-height:100vh}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#718399;margin:0 0 12px}h1{font-size:clamp(32px,3.3vw,48px);font-weight:650;letter-spacing:-.05em;margin:0 0 10px}h1 span{color:var(--mint)}h2{font-size:19px;letter-spacing:-.025em;font-weight:650;margin:0 0 12px}p{color:var(--muted);line-height:1.7;font-size:13px}.hero p:last-child{margin:0}.owner-badge{border:1px solid #2b3f3b;background:#14251f;color:#8bd9bc;padding:9px 12px;border-radius:7px;font-size:9px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
main>[data-online-members]{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:8px 13px!important;margin:0 0 26px!important;background:#101822;font-size:11px!important}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:4px 0 28px}.stats article{padding:24px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(130deg,#162130,#101821)}.stats article>span{font-size:10px;letter-spacing:.13em;font-weight:700;color:#98a8bb}.stats strong{display:block;font-size:39px;font-weight:600;letter-spacing:-.05em;margin:12px 0 6px;line-height:1}.stats article:nth-child(2) strong{color:var(--mint)}.stats small{font-size:11px;color:#75869b}
section{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:26px;margin:22px 0;box-shadow:0 5px 20px #0000000c}section>p{max-width:780px}section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}section>header h2{margin-bottom:0}section>header>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide{grid-column:1/-1}label{display:block;color:#bac6d6;font-size:12px;font-weight:500;margin:0 0 9px}input,select,button{font:inherit;font-size:12px;border-radius:8px;padding:12px 14px;border:1px solid #304052;transition:border-color .15s,background .15s,box-shadow .15s}input,select{width:100%;background:#0d1520;color:var(--text);min-height:43px}input::placeholder{color:#65758b}input:focus,select:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px #73e6bc12}button{background:var(--mint);border-color:var(--mint);color:#0b201b;font-weight:650;cursor:pointer;white-space:nowrap}button:hover{background:#96efcf}button.secondary,td button{background:#1d2a3b;border-color:#324256;color:#d9e4f0}button.secondary:hover,td button:hover{background:#2b3b50}button.danger{background:#341f2b;border-color:#613044;color:#ffabc0}button.danger:hover{background:#4e283a}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.muted,small{color:var(--muted)}.actions .muted{font-size:11px}
.table-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin:24px 0 16px}.table-toolbar p{margin:0 0 5px}.directory-search{width:290px;max-width:100%}.directory-search label{font-size:10px;color:var(--muted)}.table-wrap{overflow:auto;scrollbar-color:#34465b transparent;border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:#0e1722;font-size:9px;font-weight:650;letter-spacing:.09em;color:#8295ac;white-space:nowrap}td,th{padding:17px 16px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover{background:#1a2736}td{color:#bfcbda;vertical-align:middle}td strong{color:#f0f5fc;font-weight:600;display:block;margin-bottom:6px}td button{font-size:10px;padding:8px 10px}.hwid{font-family:'Cascadia Code',Consolas,monospace;font-size:10px;line-height:1.7;overflow-wrap:anywhere;max-width:270px;color:#8396ad}.ok{color:var(--mint)}.off{color:#f4c581}.request-countdown{font-variant-numeric:tabular-nums;color:#e5bf7d}#request-count{font-size:13px;color:var(--mint)}#message:not(:empty),#sender-message:not(:empty){color:#f4cc91;background:#2b2319;border:1px solid #51432c;border-radius:9px;padding:14px 18px;font-size:12px}#message:empty{margin:0}main>small{display:block;font-size:10px;margin:26px 0;color:#697c93}#login{max-width:510px;margin:24px auto 60px;padding:36px}#login h2{font-size:26px}#login label{margin-top:25px}#login button{min-width:120px}#session-loading{padding:24px;border:1px solid var(--line);border-radius:12px}#email-setup{background:#101822}summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:15px;font-weight:600;list-style:none}summary:after{content:'+';color:var(--mint);font-size:24px}details[open] summary:after{content:'−'}summary small{font-size:11px;font-weight:400;margin-left:auto}.settings-content{padding-top:22px}.settings-content ol{font-size:12px}.empty-search{border:1px dashed #34465b;padding:18px;text-align:center;border-radius:8px}#log-form .fields{grid-template-columns:repeat(4,minmax(0,1fr))}#log-form .actions{align-self:end;margin:0}#sender-status{color:var(--mint);font-size:12px}
@media(min-width:1600px){#device-form .fields{grid-template-columns:1fr 2fr 1.3fr 1fr}}@media(max-width:1000px){.sidebar{width:190px;padding:28px 12px}main{margin-left:190px;padding:32px 22px}.stats article{padding:19px}.hero h1{font-size:35px}.owner-badge{display:none}section>header{flex-wrap:wrap}#log-form .fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.wordmark{font-size:17px}.wordmark img{width:32px;height:32px}.nav-label,.sidebar-foot{display:none}nav{display:flex;gap:4px;margin-top:16px;overflow:auto}nav a{padding:10px;font-size:11px;white-space:nowrap}nav a span{font-size:15px;width:auto}main{margin:0;padding:26px 16px}.hero{margin-bottom:20px}.hero h1{font-size:34px}.stats{gap:8px}.stats article{padding:15px 12px}.stats article>span{font-size:8px;letter-spacing:.05em}.stats strong{font-size:30px}.stats small{font-size:9px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}section{padding:20px 16px}.table-toolbar{align-items:stretch;flex-direction:column;gap:10px}.directory-search{width:100%}#log-form .fields{grid-template-columns:1fr}#log-form .fields>div{grid-column:auto!important}summary{flex-wrap:wrap}summary small{margin-left:0}#login{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Lock the whole workspace before the first paint and until server verification. */
html[data-owner-locked] .sidebar{display:none!important}html[data-owner-locked] main{margin:0 auto;max-width:650px;padding:clamp(24px,8vh,90px) 24px}html[data-owner-locked] main>:not(#login):not(#message):not(#session-loading){display:none!important}html[data-owner-locked] #login{margin:24px auto}html[data-owner-locked] #message{max-width:510px;margin:16px auto}
