:root{--c-text: #1a202c;--c-muted: #4a5568;--c-border: #718096;--c-primary: #2b6cb0;--c-primary-dark: #2c5282;--c-danger: #c53030;--c-ok: #276749;--c-bg-soft: #f7fafc;--c-focus: #b7791f}body{margin:0;color:var(--c-text);background:#fff;font-family:system-ui,sans-serif}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.field{display:flex;flex-direction:column;gap:.25rem}.field label{font-size:.9rem;font-weight:600}.field input,.field select{padding:.55rem;border:1px solid var(--c-border);border-radius:6px;font:inherit;min-height:2.5rem;box-sizing:border-box}.hint{color:var(--c-muted);font-size:.85rem;margin:0}.btn{padding:.6rem 1rem;border:1px solid var(--c-primary);background:var(--c-primary);color:#fff;border-radius:6px;cursor:pointer;font:inherit;min-height:2.5rem}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--c-primary-dark)}.btn.secondary{background:#fff;color:var(--c-primary)}.btn.secondary:hover:not(:disabled){background:#ebf4ff}.btn.danger{background:#fff;color:var(--c-danger);border-color:var(--c-danger)}.btn.danger.solid{background:var(--c-danger);color:#fff}.btn.danger:hover:not(:disabled):not([aria-disabled=true]){background:#fff5f5}.btn.danger.solid:hover:not(:disabled):not([aria-disabled=true]){background:#9b2c2c;border-color:#9b2c2c}.btn.small{padding:.3rem .6rem;min-height:2rem;font-size:.85rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn[aria-disabled=true],.link-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.field input[aria-invalid=true]{border-color:var(--c-danger);border-width:2px}[tabindex="-1"]:focus{outline:none}.link-btn{background:none;border:none;padding:.25rem 0;color:var(--c-primary);text-decoration:underline;cursor:pointer;font:inherit;min-height:1.5rem;text-align:left}.notice{margin:0;padding:.6rem .75rem;border-radius:6px;background:#f0fff4;color:var(--c-ok);border:1px solid #9ae6b4}.error{margin:0;padding:.6rem .75rem;border-radius:6px;background:#fff5f5;color:var(--c-danger);border:1px solid #feb2b2}.notice:empty,.error:empty{display:none}.auth-card{max-width:380px;margin:3rem auto;display:flex;flex-direction:column;gap:.9rem;padding:0 1rem}.auth-card h1{margin:0;font-size:1.4rem}.auth-card fieldset{border:1px solid #cbd5e0;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;margin:0}.auth-card legend{padding:0 .3rem;font-weight:600}.divider{text-align:center;color:var(--c-muted);font-size:.85rem}.row{display:flex;gap:.5rem;flex-wrap:wrap}
