/* Arctic Core pages (sign-in, security, connection, groups, services, local-*, Meet shell). Self-contained: Core serves no tokens.css.
   Token values mirror web/design/tokens.css (AA table: docs/design/WORKSPACE_VISUAL.md). Legacy names (--panel, --accent) stay: meet.css uses them. */
:root{color-scheme:dark;--bg:#101316;--s1:#151a1e;--panel:#191e23;--s3:#222a31;--line:#303840;--line2:#72808a;--text:#edf0f2;--muted:#9eaab4;--faint:#8996a1;--accent:#bbd7e7;--acc-ink:#10202a;--acc-bg:#1d2f3b;--danger:#f2a19d;--danger-bg:#2a1a1a;--warn:#e6c36e;--ok:#86d4a6;--sh:0 1px 2px rgba(0,0,0,.5),0 12px 32px rgba(0,0,0,.35);--d:120ms;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px}
@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f4f5f4;--s1:#fafbfa;--panel:#fff;--s3:#eceeed;--line:#d2d8db;--line2:#76838c;--text:#182228;--muted:#52646f;--faint:#5c6e79;--accent:#1d5b82;--acc-ink:#fff;--acc-bg:#dcebf4;--danger:#a33838;--danger-bg:#faeded;--warn:#7a5500;--ok:#1d6b3c;--sh:0 1px 2px rgba(20,30,36,.1),0 12px 32px rgba(20,30,36,.1)}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
header,footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 5vw}
header{border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.14em}
.mark,.logo{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--acc-ink);font-size:16px;font-weight:700;letter-spacing:0}
.logo{background:none;display:block}.logo rect{fill:var(--accent)}.logo path{fill:var(--acc-ink)}
.wordmark{font-weight:400;color:var(--muted)}
.channel,.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
main{flex:1;width:100%;max-width:1050px;margin:56px auto 0;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:0 80px;align-content:start}
.eyebrow{grid-column:1}
h1{grid-column:1;font-weight:600;font-size:clamp(34px,4.6vw,56px);letter-spacing:-.045em;line-height:1.08;margin:20px 0}
p{line-height:1.6}
.intro{color:var(--muted);grid-column:1;max-width:360px;margin:0}
section{grid-column:2;grid-row:1/6;border:1px solid var(--line);background:var(--panel);padding:28px;border-radius:14px;box-shadow:var(--sh)}
section[hidden]{display:none}
h2{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 20px}
h3{font-size:14px;font-weight:600;margin:28px 0 8px}
form{display:flex;flex-direction:column;gap:16px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}
input,select,textarea{width:100%;height:40px;padding:0 12px;border-radius:8px;background:var(--bg);color:var(--text);border:1px solid var(--line2);font:inherit;font-size:15px;transition:border-color var(--d),box-shadow var(--d)}
textarea{height:auto;padding:10px 12px}
input::placeholder{color:var(--faint)}
input:hover,select:hover,textarea:hover{border-color:var(--muted)}
input:user-invalid{border-color:var(--danger)}
button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:0 16px;background:var(--accent);color:var(--acc-ink);font:inherit;font-size:14px;font-weight:600;min-height:44px;transition:background-color var(--d),border-color var(--d),transform var(--d),filter var(--d)}
button:hover{filter:brightness(1.07)}
button:active{transform:translateY(1px)}
button:disabled{cursor:wait;opacity:.6;transform:none}
button svg,.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--acc-bg),0 0 0 4px var(--accent)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.secondary{background:transparent;color:var(--text);border-color:var(--line2);font-weight:500}
.secondary:hover{background:var(--s3);filter:none}
.danger{color:var(--danger)}
.hint{font-size:12px;color:var(--muted);margin:20px 0 0}
#notice{grid-column:1;min-height:50px;font-size:14px;overflow-wrap:anywhere;margin:16px 0 0;color:var(--muted)}
#notice:not(:empty){padding:10px 12px;border:1px solid var(--line2);border-left:3px solid var(--accent);border-radius:8px;background:var(--s1);color:var(--text);min-height:0}
#notice[data-k=err]{border-color:var(--danger);background:var(--danger-bg);color:var(--text)}
#notice[data-k=err]::before{content:"Error: ";font-weight:600;color:var(--danger)}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.section-heading button{padding:6px 12px;min-height:32px}
#profile{overflow-wrap:anywhere;color:var(--muted);font-size:14px}
.device{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:14px;align-items:center}
.device p{margin:0;font-size:14px;overflow-wrap:anywhere}.device small{color:var(--muted)}
#revoke-all{margin-top:20px}
details{margin-top:20px;font-size:13px;color:var(--muted)}
summary{cursor:pointer;padding:8px 0;list-style:none;display:flex;align-items:center;gap:8px;font-weight:500;border-radius:4px}
summary::-webkit-details-marker{display:none}
summary::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform var(--d);margin:0 4px 0 2px}
details[open]>summary::before{transform:rotate(45deg)}
summary:hover{color:var(--text)}
dt{color:var(--text);margin-top:14px;font-weight:500}
dd{margin:4px 0;line-height:1.5}
footer{margin-top:72px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
a{color:var(--text);text-underline-offset:3px}
a:hover{color:var(--accent)}
.sk{display:block;height:1em;border-radius:4px;background:var(--s3);color:transparent;user-select:none}
/* centered card layout: sign-in */
body.auth main{display:block;max-width:440px;margin:40px auto 0;padding:0 20px;text-align:center}
body.auth main:has(#account:not([hidden])){max-width:680px;text-align:left}
body.auth .logo{width:44px;height:44px;margin:0 auto 16px}body.auth header .logo{width:28px;height:28px;margin:0}
body.auth h1{font-size:28px;letter-spacing:-.03em;line-height:1.15;margin:0 0 8px}
body.auth .intro{max-width:none;font-size:14px;margin:0 0 24px}
body.auth main:has(#account:not([hidden])) .logo,body.auth main:has(#account:not([hidden])) .intro{display:none}
body.auth main:has(#account:not([hidden])) h1{font-size:22px;margin:0 0 16px}
body.auth section{text-align:left;padding:28px}
body.auth h2{font-size:20px;margin:0 0 20px}
body.auth #notice{margin:0 0 16px;text-align:left}
body.auth .or{display:flex;align-items:center;gap:12px;margin:2px 0;color:var(--faint);font-size:12px}
body.auth .or::before,body.auth .or::after{content:"";flex:1;border-top:1px solid var(--line)}
body.auth form button{width:100%}
body.auth .link{text-align:center;font-size:13px;margin:16px 0 0}
body.auth details{margin-top:16px;border-top:1px solid var(--line);padding-top:8px}
body.auth form details{margin:-4px 0 0;border:0;padding:0}
@media(max-width:760px){header{padding:14px 20px}.wordmark{display:none}main{grid-template-columns:1fr;margin:32px auto 0;gap:0}section{grid-column:1;grid-row:auto;margin-top:18px;padding:22px}h1{font-size:40px}.intro{max-width:100%}#notice{min-height:0}footer{align-items:start}body.auth section{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}
select,textarea{width:100%;padding:10px;border:1px solid var(--line2);border-radius:8px;color:var(--text);background:var(--bg);font:inherit}select{height:40px;padding:0 10px}
.member-row{padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.member-controls{display:flex;flex-wrap:wrap;gap:8px}.member-controls button{font-size:12px;min-height:32px}.pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}#invite-result{margin-top:18px}#invite-result[hidden]{display:none}details form{margin-top:12px}
[hidden]{display:none!important}
.g-ui{border:0;padding:0;margin:0;min-width:0}
body[data-s=none] .g-server,body:not([data-s=setup]) .g-setup,body:not([data-s=locked]) .g-locked,body:not([data-s=open]) .g-open,body:not([data-b]) #cancel,body[data-s=open] #cancel{display:none}
.member-row [data-a]{display:none}
.member-row[data-x~=resume] [data-a=resume],.member-row[data-x~=cancel] [data-a=cancel],.member-row[data-x~=archive] [data-a=archive],body[data-s=open] .member-row[data-x~=rename] [data-a=rename]{display:inline-block}
