/* SCHEME colors sampled from the supplied icon, with neutral text. */
:root{
 --canvas:#fffafd;--surface:#fff;--surface-soft:#fff1f8;--field:#fff;
 --ink:#29252e;--text:#4d4553;--muted:#6f6273;
 --line:#efdeeb;--line-strong:#cfb6cc;
 --brand:#693b78;--brand-hover:#51275f;--brand-soft:#fff0f8;--brand-line:#e99ad6;
 --accent:#fea1d8;--accent-hover:#fc91ce;--accent-edge:#e682c4;
 --lavender:#684477;--lavender-soft:#f6dafa;--focus:#914a9c;
 --sidebar:#fdb2c9;--sidebar-hover:#ffffff80;--sidebar-selected:#fff;--sidebar-ink:#332b39;
 --brand-gradient:linear-gradient(160deg,#fdb2c9 0%,#fea1d8 48%,#eaa0e3 100%);
}


:root{font-family:Meiryo,"Yu Gothic",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:220px 1fr;height:100vh;overflow:hidden}aside{background:var(--sidebar);color:var(--text);padding:32px 18px;display:flex;flex-direction:column;gap:32px}.brand{display:flex;align-items:center;gap:14px;font-size:32px;color:var(--brand);font-weight:bold}.brand strong{font-size:14px;letter-spacing:.1em;color:white}.brand small{display:block;font-size:10px;margin-top:6px;font-weight:normal;opacity:.6}nav{display:grid;gap:8px}button{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:11px 15px;background:white;color:var(--text);cursor:pointer}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}nav button{background:transparent;border:0;color:var(--text);text-align:left;padding:16px}nav button.active{background:var(--sidebar-selected);color:white}#logout{margin-top:auto;background:transparent;color:var(--text);border-color:var(--line-strong)}main{overflow-y:auto;padding:36px clamp(24px,4vw,60px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:.18em}h1{font-size:26px;margin:6px 0}h2{font-size:18px;margin:0 0 18px}article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:32px;margin-top:12px}.toolbar,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar{margin-bottom:18px}.toolbar input{max-width:420px;margin-right:auto}.primary{background:var(--brand);border-color:var(--brand);color:white}.danger{background:#fff4ef;border-color:#e8c8bb;color:#9b4f37}input,select,textarea{border:1px solid var(--line);border-radius:7px;padding:11px;font:inherit;font-size:14px;width:100%;color:var(--ink);background:var(--field)}label{display:grid;gap:8px;font-size:12px;color:var(--text)}form{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted)}td,th{padding:15px 10px;border-bottom:1px solid var(--line)}td small{display:block;margin-top:5px;color:var(--muted)}.pill{display:inline-block;padding:5px 10px;border-radius:100px;background:var(--lavender-soft);font-size:11px;color:var(--lavender)}.pill.off{background:#f7eae4;color:#995b3b}.hint,.lead{color:var(--muted);font-size:12px;line-height:1.8}.lead{font-size:14px}.device{display:flex;justify-content:space-between;gap:16px}.device h3{font-size:15px;margin:0 0 10px}.device .meta{font-size:12px;color:var(--muted);line-height:1.9}.device button{align-self:center}.empty{padding:36px;color:var(--muted);text-align:center}#notice{font-size:13px;color:#995035;line-height:1.6}#notice:empty{display:none}#login{max-width:600px}#connection{font-size:11px;color:var(--muted)}#back{margin-bottom:20px}#current-version{font-size:28px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;width:min(560px,90vw);box-shadow:0 20px 80px #39233d30;color:var(--ink)}dialog::backdrop{background:#23192b60}dialog p{font-size:13px;line-height:1.8}#issued-code{margin:8px 0}#create-error{color:#a94d35;margin:0}#create-error:empty{display:none}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:850px){body{grid-template-columns:170px 1fr}main{padding:24px}.form-grid,.stats{grid-template-columns:1fr}}

aside{border-right:1px solid var(--line)}
.brand{font-size:15px;color:var(--ink);gap:12px}
.brand-mark{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--brand-gradient);color:#5f335e;font-size:26px;font-weight:900}
.brand strong{color:var(--ink)}
.brand small{color:var(--muted);opacity:1}
nav button:hover{background:var(--sidebar-hover);color:var(--sidebar-ink);filter:none}
nav button.active{background:var(--sidebar-selected);color:var(--sidebar-ink);font-weight:700;box-shadow:inset 3px 0 0 var(--brand)}
.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);filter:none}
input[type="checkbox"]{accent-color:var(--brand)}
article{box-shadow:0 4px 24px #4b27480a}


/* Shared bright SCHEME treatment. */
aside{background:var(--brand-gradient);border-right-color:#efb0d9}
.brand-mark{background:#fff;color:var(--ink)}
nav button.active{box-shadow:none;color:var(--ink)}
.primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
#logout{background:#ffffff70;border-color:#ffffff80;color:var(--ink)}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{justify-content:flex-end;margin-bottom:18px}
header:has(#connection:empty){display:none}

.google-login{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:24px;border:1px solid #d8d3dc;border-radius:9px;background:#fff;color:#24222a;text-decoration:none;font-weight:600}.google-login:hover{background:#faf7fb;border-color:#a894ad}.google-login[hidden]{display:none}.google-mark{font-family:Arial,sans-serif;color:#4285f4;font-size:24px;font-weight:700}
