
.stepup-dialog{width:380px;max-width:calc(100vw - 32px);border:1px solid var(--border);border-radius:6px;padding:24px;color:var(--text);background:var(--surface);font:14px/1.5 system-ui,sans-serif}.stepup-dialog::backdrop{background:rgb(16 33 63 / 35%)}.stepup-dialog h2{font-size:20px;margin:0 0 12px}.stepup-dialog p{margin:0 0 16px}.stepup-dialog label{display:block;margin-bottom:6px}.stepup-dialog input{width:100%;padding:10px;border:1px solid var(--border);border-radius:4px;font:inherit;box-sizing:border-box}.stepup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.stepup-error{color:var(--danger);margin-top:10px!important}

:root {
 --primary: #3155E7; --primary-hover: #2445C7; --primary-soft: #EEF2FF; --primary-text: #FFFFFF;
 --background: #F7F8FC; --surface: #FFFFFF;
 --text: #10213F; --muted-text: #667085;
 --border: #E6EAF2; --border-strong: #828DA0;
 --success: #39B98A; --success-text: #18704F;
 --warning: #F5B942; --warning-text: #775519;
 --danger: #B42336; --danger-surface: #FFF3F3;
 --focus: #3155E7;
}

*{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--text);font:15px/1.5 system-ui,sans-serif}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:var(--surface);padding:8px 12px;z-index:2}
header{display:flex;align-items:center;gap:16px;min-height:64px;padding:0 max(16px,calc((100vw - 960px)/2));background:var(--surface);border-bottom:1px solid var(--border)}
.brand{font-size:22px;letter-spacing:.12em;font-weight:800;text-decoration:none;color:var(--primary)}.site-label{color:var(--muted-text);font-size:13px}
nav{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted-text)}
main{max-width:960px;margin:32px auto;padding:0 16px}h1{font-size:28px;line-height:1.2;margin:0 0 4px;letter-spacing:-.02em}h2{font-size:18px;margin:0 0 12px}
.muted{color:var(--muted-text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px;margin:16px 0}
.narrow{max-width:460px;margin:0 auto}label{display:block;font-weight:600;font-size:13px;margin:16px 0 6px}
input{display:block;width:100%;padding:10px 12px;font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:4px}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;margin-top:16px;font:600 14px system-ui,sans-serif;color:var(--primary-text);background:var(--primary);border:1px solid var(--primary);border-radius:4px;cursor:pointer}
button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:progress}
button.secondary{background:var(--surface);color:var(--primary)}button.danger{background:var(--danger);border-color:var(--danger)}button.link{margin:0;min-height:0;padding:0;border:0;background:none;color:var(--primary);font-weight:500}
.error{color:var(--danger);background:var(--danger-surface);border:1px solid var(--border);padding:12px 14px;border-radius:4px;margin:16px 0}
.notice{background:var(--primary-soft);border:1px solid var(--border);padding:12px 14px;border-radius:4px;margin:16px 0}
.registers{display:grid;gap:12px;margin-top:24px}
.register{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px}
.register h2{font-size:16px;margin:0}.register p{margin:2px 0 0;font-size:13px}.register button{margin:0}
.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border-strong)}
.status.READY::before{background:var(--success)}.status.BUSY::before{background:var(--warning)}.status.ATTENTION::before{background:var(--danger)}.status.OFFLINE::before{background:var(--border-strong)}
.qr{max-width:200px;background:#fff;margin:16px 0}.qr svg{display:block;width:100%;height:auto}.codes{font:14px/1.7 monospace;columns:2}
dialog{max-width:min(440px,calc(100vw - 32px));border:1px solid var(--border);border-radius:8px;padding:24px;color:var(--text);background:var(--surface)}dialog::backdrop{background:rgba(16,33,63,.45)}
.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){.register{grid-template-columns:1fr}.register button{justify-self:start}h1{font-size:24px}}
@media(prefers-color-scheme:dark){:root{--background:#0E1526;--surface:#162038;--text:#EEF2FA;--muted-text:#A6B0C3;--border:#26324D;--border-strong:#5B6782;--primary-soft:#1D2B52;--danger-surface:#3A1820}}
