:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f5f7fb;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}.app-shell{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:16px}.auth-shell{display:grid;place-items:center}.auth-card{width:min(100%,440px)}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.eyebrow{color:#3156a3;font-weight:700;margin:0}.screen,.confirmation-card{background:#fff;border:1px solid #d8dfec;border-radius:14px;padding:20px;box-shadow:0 4px 16px #1c305414}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:6px;font-weight:600}input,select{min-height:44px;width:100%;border:1px solid #8a98af;border-radius:8px;padding:8px 10px;background:#fff;color:#172033}fieldset{display:grid;gap:12px;border:1px solid #c8d1e2;border-radius:10px;padding:14px}.primary-button,.secondary-button,.link-button,.plan-navigation button{min-height:44px;border-radius:8px;cursor:pointer}.primary-button{border:1px solid #153f85;background:#174ea6;color:#fff;padding:10px 16px;font-weight:700}.secondary-button{border:1px solid #536581;background:#fff;color:#1d3456;padding:10px 16px}.link-button{border:0;background:transparent;color:#174ea6;padding:8px;text-decoration:underline}button:disabled{cursor:wait;opacity:.65}.form-error{border-left:4px solid #b42318;color:#7a1b15;padding-left:10px}.form-notice{border-left:4px solid #174ea6;color:#14315e;padding-left:10px}.status-line{min-height:1.5em;margin:0}.plan-navigation{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}.plan-navigation button{border:1px solid #aebbd0;background:#fff;color:#172033}.plan-navigation button[aria-current=page]{border-color:#174ea6;background:#e9f0ff;font-weight:700}.block-list{display:grid;gap:10px;padding:0;list-style:none}.block-card{display:grid;gap:4px;border:1px solid #d8dfec;border-radius:10px;padding:14px}.block-card h2,.block-card p{margin:0}.confirmation-card{position:sticky;bottom:12px;margin-top:16px}.modal-open .app-content{pointer-events:none;-webkit-user-select:none;user-select:none}.button-row{display:flex;gap:10px;flex-wrap:wrap}@media(min-width:640px){.app-shell{padding:32px}.screen,.confirmation-card{padding:28px}}
