.auth-page{min-height:100vh;display:flex;flex-direction:column;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.auth-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 36px}
.back-link{font-size:12px;color:var(--muted)}
.auth-shell{flex:1;display:grid;place-items:center;padding:35px 22px 70px}
.auth-container{width:100%;max-width:420px}
.auth-brand{font-size:18px;margin-bottom:24px}
.auth-card{padding:30px;background:var(--white);border:1px solid #e4dfd8;border-radius:10px;box-shadow:0 8px 30px #34291c04}
.auth-card h1{font-size:24px;font-weight:500;letter-spacing:-.025em;line-height:1.25;margin-bottom:10px;overflow-wrap:anywhere}
.auth-card h1:focus{outline:none}
.auth-card .eyebrow{font-size:9px;margin-bottom:12px}
.auth-intro{font-size:13px;line-height:1.65;margin-bottom:24px}
.auth-intro strong{color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.field-label{display:block;font-size:12px;font-weight:500;margin-bottom:7px;color:var(--ink)}
.form-input{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:42px;padding:10px 12px;border:1px solid #cfc8bf;border-radius:6px;background:var(--white);color:var(--ink);font:13px/1.5 var(--sans);caret-color:var(--pink);outline:none}
.form-input::placeholder{color:#9a938b}
.form-input:hover{border-color:#b8b0a6}
.form-input:focus-visible{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #f5eaf2}
.form-input[aria-invalid="true"]{border-color:#a13e39}
.form-input[aria-invalid="true"]:focus-visible{box-shadow:0 0 0 3px #f9eeed}
.form-input[readonly],.form-input:disabled{background:#f7f5f2;color:var(--muted)}
.form-input:disabled{cursor:not-allowed;opacity:.65}
.field-error{font-size:12px;color:#a13e39;margin-top:7px}
.field-help{font-size:11px;margin-top:7px}
.auth-button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;border:1px solid transparent;border-radius:6px;padding:10px 13px;font:500 12px/1.4 var(--sans);text-align:center;text-decoration:none}
.auth-button:focus-visible,.plain-button:focus-visible,.state-links button:focus-visible,.preview-tools summary:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.auth-button.primary:hover{background:var(--pink-dark);color:white}
.auth-button.secondary{background:var(--white);border-color:#cfc8bf;color:var(--ink)}
.auth-button.secondary:hover{background:#f7f5f2;border-color:#b8b0a6}
.auth-button:disabled{background:#f1eee9;border-color:#e4dfd8;color:#8c847a;cursor:not-allowed}
.auth-button.full-width{width:100%;margin-top:16px;justify-content:space-between}
.plain-button{appearance:none;border:0;border-radius:4px;padding:9px 3px;background:none;color:var(--pink);font:500 12px/1.4 var(--sans)}
.plain-button:hover{color:var(--pink-dark);text-decoration:underline}
.plain-button.spaced{display:block;margin:12px auto 0}
.auth-assurance{display:flex;align-items:center;gap:8px;border-top:1px solid #ede9e3;margin-top:24px;padding-top:17px;color:var(--muted);font-size:11px}
.assurance-mark{color:var(--pink)}
.auth-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.detail-note{padding:12px 14px;background:#f8f6f3;border:1px solid #ede9e3;border-radius:6px;color:var(--muted);font-size:12px;line-height:1.6;margin-top:18px}.detail-note+form{margin-top:18px}
.state-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #e8d8e2;border-radius:10px;background:#f7edf4;color:var(--pink);font-size:22px;margin-bottom:22px}
.state-icon.warning{background:#faf3e8;color:#946e33;border-color:#eaddc8}
.state-icon.success{background:var(--green-bg);color:var(--green);border-color:#dbe7de}
.status-note{font-size:11px;margin-top:10px;min-height:17px}
.preview-action{margin-top:22px;padding-top:20px;border-top:1px dashed #d6cec4}
.preview-action .eyebrow{color:var(--muted);margin-bottom:6px}
.preview-action p:not(.eyebrow){font-size:12px}
.preview-disclosure{display:flex;align-items:flex-start;gap:9px;margin-top:20px;font-size:11px;line-height:1.65;color:var(--muted)}
.preview-disclosure .dot{margin-top:6px}
.preview-tools{border-top:1px solid #e4dfd8;margin-top:22px;padding-top:15px;color:var(--muted);font-size:11px}
.preview-tools summary{cursor:pointer;width:fit-content;border-radius:3px}
.state-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.state-links button{padding:7px 9px;background:transparent;border:1px solid #ded8d0;border-radius:5px;color:var(--muted);font:11px var(--sans);min-height:34px}
.state-links button:hover{background:#ede9e3;color:var(--ink)}
.access-details{margin:0 0 22px;padding:0;border-block:1px solid #ede9e3}
.access-details>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #f1eee9;font-size:12px}
.access-details>div:last-child{border:0}
.access-details dt{color:var(--muted)}
.access-details dd{margin:0;text-align:right;font-weight:500}
.auth-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 36px;font-size:11px;color:var(--muted)}
@media(max-width:480px){.auth-header{padding:20px}.auth-shell{padding:25px 20px 45px;align-items:start}.auth-card{padding:25px 22px}.auth-card h1{font-size:23px}.form-input{font-size:16px}.auth-footer{padding:20px;font-size:10px}.auth-actions{gap:8px}.auth-brand{margin-bottom:20px}}
@media(forced-colors:active){.form-input:focus-visible{outline:2px solid Highlight;outline-offset:2px}.form-input[aria-invalid="true"]{border:2px dashed CanvasText}}
