.auth{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth .box{gap:14px;width:100%;max-width:420px;padding:28px 28px 24px;display:grid}.auth .wordmark{letter-spacing:-.02em;font-size:20px;font-weight:700}.auth h1{letter-spacing:-.01em;font-size:20px;font-weight:600}.auth .sub{color:var(--muted);margin-top:-8px;font-size:13px}.form{gap:12px;display:grid}.form label{color:var(--muted);gap:5px;font-size:12px;display:grid}.form label b{color:var(--ink);font-size:13px;font-weight:600}.form input,.form select,.form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:9px;outline:none;width:100%;padding:9px 11px;font-size:14px}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form input[aria-invalid=true]{border-color:var(--danger)}.form .two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form .three{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.form .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form .row .grow{flex:1}.form .hint{color:var(--muted);font-size:12px}.form .hint.ok{color:var(--ok)}.form .hint.bad{color:var(--danger)}.form .btn{justify-content:center}.form .btn.wide{width:100%}.form .err{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-soft);border-radius:9px;padding:8px 10px;font-size:13px}.form .ok-note{color:var(--ok);background:var(--ok-soft);border:1px solid #abefc6;border-radius:9px;padding:8px 10px;font-size:13px}.form .days{flex-wrap:wrap;gap:6px;display:flex}.form .days button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.form .days button.on{background:var(--accent);border-color:var(--accent);color:#fff}.or{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.btn.google{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);justify-content:center;align-items:center;gap:10px;display:inline-flex}.btn.google svg{width:18px;height:18px}.auth .switch{color:var(--muted);text-align:center;font-size:13px}.auth .switch button{color:var(--accent);font:inherit;background:0 0;border:0;padding:0 2px;font-weight:600}.acct{gap:16px;max-width:760px;display:grid}.acct .card{padding:20px 22px}.acct h2{margin-bottom:12px;font-size:16px;font-weight:600}.acct .avatar{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:inline-flex;overflow:hidden}.acct .avatar img{object-fit:cover;width:100%;height:100%}.acct .head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.acct .head b{letter-spacing:-.01em;font-size:20px;display:block}.acct .head small{color:var(--muted);font-size:13px}.acct .kv{grid-template-columns:1fr auto;gap:6px 16px;font-size:13px;display:grid}.acct .kv span:nth-child(odd){color:var(--muted)}.acct-menu{margin-left:10px;position:relative}.acct-menu>button{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex;overflow:hidden}.acct-menu>button img{object-fit:cover;width:100%;height:100%}.acct-menu .menu{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:2px;min-width:200px;padding:6px;display:grid;position:absolute;top:40px;right:0;box-shadow:0 12px 32px #1011141f}.acct-menu .menu .who{color:var(--muted);border-bottom:1px solid var(--line-2);margin-bottom:4px;padding:6px 10px 8px;font-size:12px}.acct-menu .menu .who b{color:var(--ink);font-size:13px;display:block}.acct-menu .menu a,.acct-menu .menu button{text-align:left;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;display:block}.acct-menu .menu a:hover,.acct-menu .menu button:hover{background:var(--surface-2)}.admin{max-width:1000px}.admin .tbl td,.admin .tbl th{white-space:nowrap}.app-loading{background:var(--bg);min-height:100vh}@media (max-width:640px){.form .two,.form .three{grid-template-columns:1fr}}
