.auth-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:680px;margin:0 auto;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:0 24px 70px rgba(38,59,52,.09)}
.auth-story{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:42px;background:linear-gradient(150deg,#243d35 0%,#355b4c 62%,#7f6850 145%);color:#fbf8ef}.auth-story-brand{width:max-content;font-family:var(--heading);font-size:25px;font-weight:700;letter-spacing:3px}.auth-story-brand small{display:block;margin-top:4px;font:10px Georgia,serif;letter-spacing:2px;font-weight:400;opacity:.76}.auth-story>div{max-width:430px}.auth-kicker{font-size:10px;letter-spacing:3px;color:#d9d7bd}.auth-story h1{margin:18px 0;font-size:39px;line-height:1.3;color:inherit}.auth-story p{font-size:16px;line-height:1.9;color:rgba(255,255,255,.78)}.auth-story blockquote{margin:0;border-left:1px solid rgba(255,255,255,.35);padding-left:18px;font-family:var(--heading);font-size:17px}
.auth-card{display:flex;flex-direction:column;justify-content:center;max-width:600px;width:100%;margin:auto;padding:48px 64px}.auth-card-head{position:relative;margin-bottom:28px}.auth-card-head h2{margin:30px 0 8px;font-size:31px}.auth-card-head p{margin:0;color:var(--muted)}.auth-back{font-size:13px;color:var(--muted)}.auth-back:hover,.auth-form a,.auth-switch a{color:var(--accent)}.auth-step{float:right;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}
.auth-form{display:grid;gap:19px}.auth-field{display:grid;gap:8px}.auth-field>span:first-child{font-size:13px;font-weight:650}.auth-field>input,.auth-input-wrap input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:0 14px;outline:0}.auth-field input:focus{border-color:#6c8178;box-shadow:0 0 0 3px rgba(82,123,102,.12)}.auth-input-wrap{position:relative;display:block}.auth-input-wrap input{padding-right:62px}.auth-reveal{position:absolute;top:50%;right:7px;transform:translateY(-50%);min-height:36px;border:0;background:transparent;color:var(--muted);padding:6px 9px;font-size:12px}.auth-reveal:hover{background:var(--soft);color:var(--ink)}
.auth-form-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.auth-check{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:13px}.auth-check input{width:16px;height:16px;margin-top:2px;accent-color:var(--ink)}.auth-check button{display:inline;border:0;background:none;color:var(--ink);padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.auth-primary,.auth-secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:6px;font-weight:650}.auth-primary{background:var(--ink);color:var(--paper)}.auth-secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.auth-secondary:hover{border-color:var(--ink);background:var(--soft)}
.auth-divider{display:flex;align-items:center;gap:14px;margin:23px 0;color:var(--muted);font-size:12px}.auth-divider::before,.auth-divider::after{content:'';height:1px;flex:1;background:var(--line)}.auth-switch{text-align:center;color:var(--muted);font-size:13px}.auth-preview-note{margin:25px 0 0;padding:12px 14px;border-left:3px solid #bd9255;background:rgba(189,146,85,.1);color:var(--muted);font-size:12px;line-height:1.7}.auth-preview-note b{color:var(--ink)}
.auth-status:empty{display:none}.auth-status{margin:0;padding:10px 12px;border-radius:5px;background:rgba(164,75,56,.1);color:var(--accent);font-size:13px}.auth-status[data-type=preview]{background:rgba(80,105,138,.11);color:#4d6788}.auth-password-rules{display:flex;gap:8px;flex-wrap:wrap}.auth-password-rules span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.auth-password-rules span::before{content:'○ '}.auth-password-rules span.passed{border-color:rgba(82,123,102,.35);background:rgba(82,123,102,.08);color:var(--green)}.auth-password-rules span.passed::before{content:'✓ '}[data-account-page] [hidden]{display:none!important}
.auth-otp{display:flex;gap:9px;margin:0;padding:0;border:0}.auth-otp legend{width:100%;margin-bottom:8px;font-size:13px;font-weight:650}.auth-otp input{width:48px;height:56px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-align:center;font-size:24px;font-variant-numeric:tabular-nums;outline:0}.auth-otp input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(82,123,102,.12)}.auth-text-button{border:0;background:none;color:var(--muted);padding:0;font-size:13px}.auth-hint{color:var(--muted);font-size:12px}.account.active{border-color:var(--ink);background:var(--soft)}html[data-mode=dark] .auth-story{background:linear-gradient(150deg,#17231f,#2b443b 70%,#5d4b3c)}html[data-mode=dark] .auth-status[data-type=preview]{color:#aac4e3}
@media(max-width:850px){.auth-shell{grid-template-columns:1fr;min-height:0}.auth-story{min-height:250px;padding:30px}.auth-story>div{margin:50px 0}.auth-story h1{font-size:31px}.auth-story blockquote{display:none}.auth-card{max-width:none;padding:38px 28px}}
@media(max-width:520px){body:has(.auth-shell) main#app{padding:18px 12px 80px}.auth-shell{border-radius:9px}.auth-story{min-height:180px;padding:24px}.auth-story>div{margin:28px 0 0}.auth-story h1{font-size:26px;margin:12px 0}.auth-story p{display:none}.auth-card{padding:30px 20px}.auth-card-head h2{font-size:27px}.auth-otp{gap:6px}.auth-otp input{min-width:0;width:calc((100% - 30px)/6);height:52px}.auth-form-row{align-items:flex-start}.auth-step{display:none}}
.account-nav{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:18px 0 24px}.account-nav a.active{border-bottom:2px solid var(--ink)}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.account-watch{margin-top:24px}.admin-reauth{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--soft);padding:16px}.admin-reauth input,.admin-fields input:not([type=checkbox]),.admin-fields select,[data-change-email] input,[data-confirm-email] input{border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;padding:8px}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.admin-table small,.admin-fields small{display:block;color:var(--muted)}.admin-table button{padding:6px 10px;margin:3px;font-size:12px}.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.admin-fields label{display:grid;gap:6px;font-size:14px}.admin-fields>button{align-self:end}.admin-reauth small{font-size:12px;color:var(--muted)}[data-admin-status]{color:var(--accent);white-space:pre-wrap}.auth-card{min-width:0}.auth-field input{min-width:0}.auth-form details{font-size:13px;color:var(--muted)}@media(max-width:700px){.account-grid,.admin-fields{grid-template-columns:1fr}.admin-table table,.admin-table thead,.admin-table tbody{display:table;width:100%}.admin-table thead{display:table-header-group}.admin-table tbody{display:table-row-group}.admin-table tr{display:table-row}.admin-table td{display:table-cell}.admin-table td::before{content:none!important}}

.admin-fields .admin-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;align-self:center}.admin-fields .admin-toggle input{width:auto;margin:0}
.ai-result pre,.ai-run-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--soft);padding:12px;border-radius:var(--radius)}.ai-history{display:grid;gap:12px}
.ai-run-history{margin:20px 0;min-width:0}.ai-run-history summary{cursor:pointer;min-height:44px;padding:10px 0}.ai-run-history .card{margin-top:12px;overflow-wrap:anywhere}.ai-run-history details p{white-space:pre-wrap}
.feature-gate{max-width:760px;margin:30px auto;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:22px}.feature-gate h1{margin-top:8px}.feature-gate p{line-height:1.8}.account-entitlements{margin:24px 0}.entitlement-list{display:grid;gap:12px}.entitlement-list article{padding:18px;border:1px solid var(--line);border-radius:14px;min-width:0}.entitlement-list article>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.entitlement-list h3{font-size:18px;margin:0}.entitlement-list p{font-size:14px;margin:10px 0}.entitlement-list small{display:block;color:var(--muted);font-size:13px}.entitlement-state{font-size:12px;white-space:nowrap;background:var(--soft);padding:4px 9px;border-radius:6px}.entitlement-state[data-state=active]{color:var(--positive)}.admin-users-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.admin-user-card{min-width:0;overflow-wrap:anywhere;margin:0}.admin-user-heading{display:flex;justify-content:space-between;gap:12px}.admin-user-heading h3{margin:0}.admin-user-card small{display:block;color:var(--muted);font-size:12px}.admin-grant-summary p{display:grid;grid-template-columns:1fr auto;gap:4px 10px;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.admin-grant-summary small{grid-column:1/-1}.admin-user-card .account-nav{gap:8px;margin-bottom:0}.admin-user-card button{font-size:14px;padding:8px 12px}.registration-setting{padding:16px;background:var(--soft);border-radius:12px;margin:16px 0}.registration-setting p{font-size:13px;line-height:1.7;margin:10px 0 0}.registration-toggle,.entitlement-choice{display:flex;align-items:flex-start;gap:10px}.registration-toggle input,.entitlement-choice input{width:18px;height:18px;flex:0 0 auto;margin-top:3px}.entitlement-choice{padding:14px;border:1px solid var(--line);border-radius:12px}.entitlement-choice small{margin-top:6px}.entitlement-panel .admin-fields{align-items:end}.entitlement-panel input:not([type=checkbox]),.entitlement-panel select{width:100%;min-width:0}.grant-history article{border-top:1px solid var(--line);padding:10px 0;font-size:13px;overflow-wrap:anywhere}.grant-history summary{cursor:pointer;padding:12px 0}.grant-history{margin-top:18px}[data-user-detail]{scroll-margin-top:110px}.admin-fields label{min-width:0}.admin-fields input{min-width:0}
@media(max-width:700px){.admin-users-grid{grid-template-columns:1fr}.feature-gate{padding:22px;margin:16px 0}.entitlement-panel .admin-fields{gap:12px}.admin-user-card .account-nav button{flex:1}.entitlement-list article>div{align-items:flex-start}.entitlement-list h3{font-size:17px}}

/* Keep real contact details and pending edits readable on small screens. */
[data-account-page],.account-grid>.card,[data-user-detail]>.card{min-width:0;overflow-wrap:anywhere}.account-grid input{min-width:0}
.admin-fields[data-about]>h3{grid-column:1/-1;margin:16px 0 0}
