:root{--text:#1a1a1a;--muted:#6b7280;--glass-b:rgba(0,0,0,.06);--cream:#faf8f4;--lavender:#E2D8F2;--mint:#B7E8C4;--honey:#FFE2A8;--pink:#FBC0CF;--white:#fff}
*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Inter,sans-serif;background:var(--cream)}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--text);outline-offset:4px}button{border-radius:8px}.login-layout{min-height:100svh;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(480px,1.08fr)}.login-brand{background:var(--text);color:var(--white);padding:44px clamp(32px,5vw,88px);display:flex;flex-direction:column;min-height:100svh}.wordmark{font-family:Oswald,sans-serif;font-weight:600;font-size:31px;letter-spacing:3px;text-decoration:none;line-height:1.2;display:block;width:max-content}.wordmark span{display:block;font-family:Inter,sans-serif;font-weight:500;font-size:10px;letter-spacing:3px;color:#F5E1A4;margin-top:9px}.brand-story{margin:auto 0;padding:70px 0;max-width:480px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#F5E1A4;font-weight:600}.brand-story h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;line-height:.98;font-size:clamp(48px,6vw,90px);letter-spacing:.5px;margin:10px 0 25px}.brand-story p{font-size:16px;line-height:1.8;max-width:330px;color:var(--cream)}.brand-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.brand-tags span{border-radius:50px;padding:9px 14px;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text);background:var(--lavender)}.brand-tags span:nth-child(2){background:var(--honey)}.brand-tags span:nth-child(3){background:var(--mint)}.brand-foot{font-size:12px;opacity:.7}.login-workspace{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 48px;min-width:0;position:relative}.login-card{width:100%;max-width:420px}.section-tag{display:inline-block;padding:7px 12px;background:var(--lavender);border-radius:50px;font-size:10px;font-weight:700;letter-spacing:1.4px}.login-card h2{font-family:'Barlow Condensed',sans-serif;font-size:48px;line-height:1.05;margin:23px 0 13px;font-weight:700}.login-card>p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 26px}.login-tabs{display:grid;grid-template-columns:1fr 1.25fr;gap:4px;padding:5px;background:var(--white);border:1px solid var(--glass-b);border-radius:10px;margin:25px 0}.login-tabs button{border:0;background:transparent;padding:11px 6px;font-size:12px;font-weight:600;color:var(--muted)}.login-tabs button.selected{background:var(--lavender);color:var(--text)}#access-form label{display:block;font-size:12px;font-weight:600;margin:19px 0 0}#access-form input{display:block;width:100%;height:48px;margin-top:8px;padding:12px 14px;border:1px solid var(--glass-b);border-radius:8px;background:var(--white);font-size:14px;color:var(--text);min-width:0}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:65px!important}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;border:0;background:transparent;font-size:11px;font-weight:600;padding:8px 12px}.primary-button{display:block;width:100%;border:0;background:var(--text);color:#F5E1A4;padding:15px 20px;min-height:48px;border-radius:8px;text-align:center;text-decoration:none;font-size:13px;font-weight:600;margin-top:26px}.primary-button:hover{background:var(--text);color:var(--white)}.secondary-button{border:1px solid var(--glass-b);background:var(--white);padding:12px 16px;font-size:12px;font-weight:600;min-height:44px}.text-button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:14px 0;text-decoration:underline;text-underline-offset:3px}#forgot-password{display:block;margin:auto}.field-help{font-size:11px;color:var(--muted);line-height:1.6}.approval-note{display:flex;gap:13px;align-items:flex-start;margin-top:32px;border-top:1px solid var(--glass-b);padding-top:24px}.approval-note p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.lock-icon{width:25px;height:25px;background:var(--mint);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:12px}.login-footer{font-size:11px;color:var(--muted);padding-top:45px}.login-footer a{font-weight:600}.access-message{background:var(--honey);border-radius:10px;padding:14px 16px;font-size:13px!important;line-height:1.6!important;color:var(--text)!important;margin:18px 0!important}.access-message.error{background:var(--pink)}#signed-in-actions .secondary-button{margin-top:18px}#signed-in-actions .text-button{margin-left:20px}
.access-admin{max-width:1160px;margin:0 auto;padding:42px 32px}.admin-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:38px}.admin-topline .wordmark{font-size:22px}.admin-topline .wordmark span{color:var(--text);font-size:9px}.access-admin h1{font-family:'Barlow Condensed',sans-serif;font-size:48px;line-height:1.05;letter-spacing:.5px;margin:14px 0}.admin-intro{color:var(--muted);font-size:14px;line-height:1.7;max-width:660px}.access-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.access-stat{padding:22px 24px;border-radius:12px;background:var(--lavender)}.access-stat:nth-child(2){background:var(--mint)}.access-stat:nth-child(3){background:var(--honey)}.access-stat strong{font-family:'Barlow Condensed',sans-serif;font-size:40px;display:block}.access-stat span{font-size:12px;font-weight:600}.access-panel{background:var(--white);border:1px solid var(--glass-b);border-radius:12px;padding:25px;margin-top:18px}.access-panel h2{font:700 19px Oswald,sans-serif;letter-spacing:.5px;text-transform:uppercase;margin:0 0 15px}.share-login{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.share-login input{min-width:200px;flex:1;border:1px solid var(--glass-b);border-radius:8px;padding:12px;font-size:13px;color:var(--text);background:var(--cream)}.access-panel p{font-size:13px;color:var(--muted);line-height:1.7}.access-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.access-table th{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:15px 10px;border-bottom:1px solid var(--glass-b)}.access-table td{padding:19px 10px;border-bottom:1px solid var(--glass-b);vertical-align:middle}.access-table td small{display:block;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.access-table button{margin:3px;padding:10px 13px;font-size:11px;border:1px solid var(--glass-b);background:var(--cream)}.access-table button.approve{background:var(--mint)}.status-chip{display:inline-block;border-radius:50px;padding:7px 11px;background:var(--honey);font-size:10px;font-weight:600}.status-chip.approved{background:var(--mint)}.status-chip.suspended{background:var(--pink)}.table-scroll{overflow:auto}.empty-users{text-align:center;padding:34px 15px!important}.access-dialog{max-width:430px;width:calc(100% - 32px);border:1px solid var(--glass-b);border-radius:12px;padding:28px;color:var(--text);background:var(--white)}.access-dialog::backdrop{background:rgba(26,26,26,.45)}.access-dialog h2{font:700 26px 'Barlow Condensed',sans-serif;margin:0 0 12px}.access-dialog p{font-size:13px;line-height:1.7;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.dialog-actions .primary-button{width:auto;margin:0;background:var(--pink);color:var(--text)}
@media(max-width:900px){.login-layout{grid-template-columns:1fr 1.15fr}.login-brand{padding:35px 28px}.login-workspace{padding:42px 30px}.brand-story h1{font-size:62px}}
@media(max-width:660px){.login-layout{display:block}.login-brand{min-height:auto;padding:25px 26px}.wordmark{font-size:24px}.wordmark span{font-size:9px}.brand-story,.brand-foot{display:none}.login-workspace{padding:38px 24px;min-height:calc(100svh - 108px);justify-content:flex-start}.login-card h2{font-size:43px}.login-footer{padding-top:32px}.access-admin{padding:26px 18px}.access-admin h1{font-size:39px}.admin-topline{margin-bottom:27px}.access-stats{gap:8px}.access-stat{padding:16px 13px}.access-stat strong{font-size:32px}.access-stat span{font-size:10px}.access-panel{padding:18px}.access-table{min-width:580px}.share-login input{width:100%;min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.login-logo{display:block;width:170px;text-decoration:none}
.brand-logo{display:block;width:100%;height:auto;overflow:hidden}
.login-card h2{margin:0 0 28px}
.login-tabs{display:flex;justify-content:center;border:0;background:none;padding:0;margin:0}
.login-tabs button{padding:10px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.login-tabs button.selected{display:none}
.approval-note{display:block;border:0;padding:0;margin:28px 0 0!important;text-align:center;font-size:11px!important;color:var(--muted)}
.login-footer{padding-top:24px}
@media(max-width:660px){.login-logo{width:108px}.login-brand{padding:22px 26px}.login-workspace{min-height:calc(100svh - 111px)}}

#captcha-field{margin-top:22px;min-height:78px}#agency-captcha{min-height:78px}

/* Compact account forms on phones and narrow windows. */
@media(max-width:760px){
 .login-layout{display:flex;flex-direction:column;min-height:100svh}
 .login-brand{min-height:0;padding:16px max(22px,env(safe-area-inset-left));flex:none}
 .login-logo{width:82px}
 .brand-story,.brand-foot{display:none}
 .login-workspace{flex:1;width:100%;min-height:0;justify-content:flex-start;padding:28px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 .login-card{max-width:480px}
 .login-card h2{font-size:clamp(32px,7.5vw,40px);line-height:1.06;margin:0 0 18px;text-wrap:balance}
 .login-card>p{font-size:14px;line-height:1.6;margin-bottom:20px}
 #access-form label{font-size:13px;margin-top:16px}
 #access-form input{font-size:16px;height:50px}
 .password-wrap{margin-top:8px}
 .password-wrap input{margin-top:0!important}
 .password-toggle{top:3px;bottom:3px;min-height:44px;min-width:58px;font-size:12px}
 .primary-button{min-height:50px;font-size:14px;margin-top:22px}
 .text-button,.login-tabs button{min-height:44px;font-size:13px}
 .access-message{padding:13px 14px;margin:16px 0!important;overflow-wrap:anywhere}
 .field-help{font-size:12px;line-height:1.5}
 .approval-note{font-size:12px!important;margin-top:24px!important}
 .login-footer{font-size:12px;padding-top:20px;text-align:center}
 #signed-in-actions .secondary-button{display:block;width:100%;min-height:48px}
 #signed-in-actions .text-button{display:block;margin:6px auto 0}
}

/* Owner-created accounts */
.person-form{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;align-items:end}
.person-form label{display:grid;gap:8px;font-size:13px;font-weight:600}
.person-form input,.person-form select,.access-table select{width:100%;min-height:46px;border:1px solid #ddd9df;border-radius:8px;background:white;padding:12px;font:inherit;color:#1a1a1a}
.person-form .field-help{grid-column:1/3;margin:0;align-self:center}
.person-form .primary-button{width:100%}.access-table td:last-child{min-width:220px}.access-table button{margin:3px}
@media(max-width:700px){.person-form{grid-template-columns:1fr}.person-form .field-help{grid-column:auto}.person-form input,.person-form select,.access-table select{font-size:16px}}

@media(max-width:700px){
.access-table,.access-table tbody,.access-table tr,.access-table td{display:block;width:100%;min-width:0!important;box-sizing:border-box}
.access-table thead{display:none}.access-table tr{padding:18px 0;border-bottom:1px solid #eee}.access-table td{border:0;padding:7px 0}.access-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#677086;margin-bottom:7px}
.access-table td:last-child{display:flex;gap:8px;flex-wrap:wrap}.access-table select{width:100%;min-width:160px}.table-scroll{overflow:visible}
}

.account-password-field .field-help{margin:0}.password-visibility{display:flex!important;align-items:center;gap:8px;font-size:12px!important}.password-visibility input{width:16px!important;min-height:16px!important;accent-color:#1a1a1a}.access-dialog #set-password-fields input[type=password],.access-dialog #set-password-fields input[type=text]{display:block;width:100%;min-height:46px;border:1px solid #ddd;border-radius:8px;padding:12px;font:inherit;margin:10px 0}.access-dialog{max-height:90svh;overflow:auto}
