:root{font-family:"Segoe UI",Arial,sans-serif;color:#172033;background:#f4f7fb;font-size:16px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:#1e40af}header{height:64px;padding:0 32px;display:flex;align-items:center;gap:12px;font-weight:600}header svg{color:#2563eb;flex-shrink:0}header span{font-weight:400;color:#526078;margin-left:auto;font-size:14px}
/* Frame = 228px rail + remaining sheet; 8px inset. Form max 400px keeps each field readable. */
.frame{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:calc(100svh - 64px);padding:0 8px 8px 0}.context{padding:32px 24px;color:#526078;font-size:14px}.context strong{display:block;color:#172033;font-size:16px;margin-bottom:12px}.context p{margin:0 0 24px}.context ol{padding-left:20px;line-height:2}.sheet{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:48px 24px}.form-wrap{width:100%;max-width:400px}h1{font-size:28px;line-height:1.2;margin:0 0 12px;font-weight:600}p{color:#526078;margin:0 0 24px}.field{margin-bottom:20px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input{width:100%;min-width:0;height:46px;padding:10px 12px;border:1px solid #a8b2c0;border-radius:8px;color:#172033;background:#fff}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #93b4f8;outline-offset:3px}.password{display:flex;align-items:center;gap:8px}.password input{flex:1}.toggle{background:white;border:1px solid #a8b2c0;border-radius:8px;padding:0 12px;height:46px;font-size:14px;color:#334155;cursor:pointer}.primary{width:100%;min-height:46px;border:0;border-radius:8px;background:#172033;color:white;font-weight:600;cursor:pointer}.primary:hover{background:#2b3952}button:disabled{background:#dbe2eb;color:#334155;cursor:wait}.hint{font-size:14px;margin:24px 0 0}.notice{color:#b91c1c;margin:16px 0;min-height:24px;font-size:14px}.success{color:#166534}.links{display:flex;justify-content:space-between;gap:16px;margin-top:24px;font-size:14px}.link-button{padding:0;background:none;border:0;text-decoration:underline;color:#1e40af;font-size:14px;cursor:pointer;min-height:44px}.links a{align-self:center}[hidden]{display:none!important}
@media(max-width:760px){header{padding:0 20px;font-size:14px}header span{display:none}.frame{display:block;padding:0;min-height:calc(100svh - 64px)}.context{display:none}.sheet{border:0;border-radius:0;min-height:calc(100svh - 64px);padding:36px 20px;align-items:flex-start}.form-wrap{margin:auto}h1{font-size:26px}}
