:root{--ink:#2f221d;--paper:#fffdf9;--muted:#75665c;--line:#e7dcd0;--gold:#e7c19a;--tan:#d7a47c;--soft:#f8f1e8;--sans:'Manrope',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-underline-offset:4px}
:focus-visible{outline:2px solid #956443;outline-offset:4px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:10;padding:10px 18px;background:var(--ink);color:#fff}.skip-link:focus{top:10px}
.login-header{display:flex;justify-content:space-between;align-items:center;gap:24px;width:min(1160px,calc(100% - 64px));margin:0 auto;padding:23px 0}
.login-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.login-brand .dinelumen-name{font-size:25px;font-weight:800;letter-spacing:-1px}.login-brand img{display:block}
.login-back{font-size:13px;text-decoration:none;color:var(--muted);padding:10px 0}.login-back span{margin-right:7px}.login-back:hover{text-decoration:underline}
.login-main{width:min(544px,calc(100% - 40px));margin:auto;padding:30px 0 45px;flex:1}.login-main:focus{outline:none}
.account-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:32px 36px;box-shadow:0 8px 35px #60432405}
.account-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:var(--soft);border:1px solid #eee1d3;border-radius:9px}
.account-role-tabs button{min-height:43px;padding:10px 12px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:14px;font-weight:600;color:var(--muted)}
.account-role-tabs button[aria-selected=true]{background:#fff;border-color:#e4d5c5;box-shadow:0 1px 3px #62482e08;color:var(--ink);font-weight:800}
.account-heading{margin:28px 0 23px}.account-heading h1{font:500 35px/1.15 var(--serif);letter-spacing:-.035em;margin:0}.account-heading p{font-size:14px;line-height:1.65;color:var(--muted);margin:11px 0 0}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-bottom:1px solid var(--line);margin-bottom:25px}
.auth-tabs button{min-height:45px;margin-bottom:-1px;padding:6px 5px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:600}
.auth-tabs button[aria-selected=true]{border-bottom-color:var(--tan);color:var(--ink);font-weight:800}
form,.signup-step{display:grid;gap:18px}
label{display:grid;gap:7px;min-width:0;font-size:13px;font-weight:600}
input,select,textarea{width:100%;min-width:0;min-height:47px;border:1px solid #dcccbb;border-radius:6px;background:var(--paper);padding:11px 12px;font-size:16px;font-weight:400;line-height:1.5}
input::placeholder,textarea::placeholder{color:#94857a;font-size:14px;opacity:1}
input:focus,select:focus,textarea:focus{outline:2px solid #e7c19a;outline-offset:1px;border-color:#ba8c65}
textarea{resize:vertical}
.app-button,.secondary-button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--paper);padding:11px 16px;font-size:13px;font-weight:700;text-decoration:none}
.app-button:hover{background:#4b362c}.app-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait}.secondary-button{background:transparent;border-color:#dcccbb;color:var(--ink)}
.text-button{border:0;padding:0;background:transparent;font-size:12px;color:#80624f;text-decoration:underline;text-underline-offset:4px}.forgot-password{justify-self:end;margin-top:-4px}.recovery-back{margin-top:23px}.recovery-back span{display:inline-block;margin-right:5px}
.auth-message{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:0}.auth-message:empty{display:none}.auth-message[data-state=error]{padding:10px 12px;background:#fff4f0;border:1px solid #eed4c8;border-radius:6px;color:#8d3f35}.auth-message[data-state=success],.auth-message[data-state=pending]{color:#4e6447}
.signup-progress{display:flex;justify-content:space-between;gap:8px;list-style:none;margin:0 0 18px;padding:0;color:var(--muted);font-size:12px}.signup-progress li{padding-bottom:6px}.signup-progress li[aria-current=step]{color:var(--ink);font-weight:800;border-bottom:2px solid var(--tan)}.signup-progress li.is-complete{color:#56694e}
.signup-plan-note{font-size:12px;line-height:1.75;color:var(--muted);background:var(--soft);border-radius:7px;padding:12px 14px;margin:0 0 24px}
.signup-step{min-width:0;padding:0;margin:0;border:0}.signup-step legend{font-size:15px;font-weight:800;padding:0;margin-bottom:17px}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.signup-field-help{font-size:12px;font-weight:400;line-height:1.75;color:var(--muted);margin:0}.signup-review-summary{border-left:2px solid var(--tan);padding:9px 13px;font-size:13px;overflow-wrap:anywhere}.signup-review-summary:empty{display:none}.signup-review-summary strong,.signup-review-summary span{display:block}.signup-review-summary span{font-size:12px;color:var(--muted);margin-top:4px}
.auth-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.7;color:var(--muted)}.auth-consent input{width:17px;min-height:17px;height:17px;flex:0 0 17px;margin:3px 0 0;padding:0;accent-color:var(--ink)}.auth-consent a{color:var(--ink)}
.hidden-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.signup-navigation{display:flex;gap:12px}.signup-navigation .app-button{flex:1}.signup-navigation .secondary-button{flex:0 0 80px}
.signup-confirmation{display:grid;gap:20px}.signup-confirmation h2,#recovery-title{font:500 28px/1.2 var(--serif);letter-spacing:-.025em;margin:0}.signup-confirmation>p{margin:0}.confirmation-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8c1a6;border-radius:50%;background:var(--soft);color:#6b7855;font-size:20px}
.recovery-copy{font-size:14px;color:var(--muted);line-height:1.75;margin:12px 0 24px}#new-password-fields{display:grid;gap:18px}#recovery-message:not(:empty){margin-top:18px}
.account-help{text-align:center;font-size:12px;color:var(--muted);margin:21px 0 0}.account-help a{color:var(--ink)}
.login-footer{width:min(1160px,calc(100% - 64px));margin:0 auto;padding:20px 0 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.login-footer nav{display:flex;gap:22px}.login-footer a{text-decoration:none}.login-footer a:hover{text-decoration:underline}
@media(max-width:600px){.login-header,.login-footer{width:calc(100% - 36px)}.login-header{padding:18px 0}.login-brand img{width:33px;height:33px}.login-brand .dinelumen-name{font-size:23px}.login-main{width:calc(100% - 28px);padding:14px 0 30px}.account-card{padding:25px 22px;border-radius:12px}.account-heading{margin:24px 0 21px}.account-heading h1{font-size:32px}.account-heading p{font-size:13px}.auth-form-grid{grid-template-columns:1fr}.signup-progress{font-size:11px;gap:5px}.login-footer{flex-direction:column;gap:8px;padding:18px 0}.login-footer nav{gap:18px}}
