/* AO r45: additive, opt-in visual profiles. No authentication, permission or document changes. */
.assr-experience-admin,.assr-experience-admin input,.assr-experience-admin select,.assr-experience-admin button{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
.assr-experience-admin .assr-experience-card{padding:24px!important;margin:0 0 22px!important;box-sizing:border-box}
.assr-experience-admin .assr-experience-card>h3{font-size:19px;margin:0 0 8px}
.assr-experience-admin .assr-experience-config{border:1px solid #e5e7eb;border-radius:12px;padding:18px;min-width:0}
.assr-experience-admin .assr-experience-config h4{margin:0 0 14px;font-size:16px}
.assr-experience-admin .assr-experience-config .assr-field{margin-bottom:14px}
.assr-experience-admin .assr-experience-config select{max-width:100%;width:100%}
.assr-experience-admin .assr-experience-preview-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 20px}
.assr-experience-admin .assr-experience-preview-controls label{display:grid;gap:5px;font-weight:600}
.assr-experience-admin .assr-experience-preview-controls select{width:100%}
.assr-exp-preview-frame{background:#eef0f3;border:1px solid #d9dfe5;border-radius:16px;padding:22px;display:flex;justify-content:center;transition:background .2s ease;min-height:230px}
.assr-exp-preview-shell{width:100%;display:grid;grid-template-columns:165px minmax(0,1fr);background:#fff;box-shadow:0 8px 24px #172b4220;border-radius:14px;overflow:hidden;transition:max-width .2s ease;max-width:800px}
.assr-exp-preview-nav{background:#233349;color:#fff;padding:22px 15px;font-weight:700;display:grid;align-content:start;gap:16px;min-height:200px}
.assr-exp-preview-nav small{display:block;color:#d9e1ec;font-weight:400;line-height:1.8}
.assr-exp-preview-content{padding:20px;min-width:0}
.assr-exp-preview-content h4{font-size:18px;margin:0 0 16px!important;color:#1d2939}
.assr-exp-preview-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.assr-exp-preview-blocks>div{padding:18px 9px;border:1px solid #e2e7ed;border-radius:10px;color:#29384b;font-size:12px;min-width:0}
.assr-exp-preview-blocks strong{display:block;font-size:12px;margin-top:8px}
.assr-exp-preview-frame[data-device=tablet] .assr-exp-preview-shell{max-width:570px;grid-template-columns:125px minmax(0,1fr)}
.assr-exp-preview-frame[data-device=tablet] .assr-exp-preview-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}
.assr-exp-preview-frame[data-device=mobile] .assr-exp-preview-shell{max-width:335px;display:block}
.assr-exp-preview-frame[data-device=mobile] .assr-exp-preview-nav{min-height:0;padding:15px;display:block}
.assr-exp-preview-frame[data-device=mobile] .assr-exp-preview-nav small{display:none}
.assr-exp-preview-frame[data-device=mobile] .assr-exp-preview-blocks{grid-template-columns:1fr}
.assr-exp-preview-frame[data-profile=app] .assr-exp-preview-blocks>div{border-radius:17px;background:#f6f9fb}
.assr-exp-preview-frame[data-profile=classic] .assr-exp-preview-blocks>div{border-radius:5px}
.assr-exp-preview-frame[data-profile=modern] .assr-exp-preview-blocks>div{box-shadow:0 3px 12px #0d22350c}
.assr-exp-preview-frame[data-theme=vivid_emerald] .assr-exp-preview-nav{background:#087d46}
.assr-exp-preview-frame[data-theme=vivid_emerald] .assr-exp-preview-blocks>div{border-top:3px solid #00c853}
.assr-exp-preview-frame[data-theme=evergreen] .assr-exp-preview-nav{background:#176b52}
.assr-exp-preview-frame[data-theme=horizon_blue] .assr-exp-preview-nav{background:#245db4}
.assr-exp-preview-frame[data-theme=amethyst] .assr-exp-preview-nav{background:#6848b5}
.assr-exp-preview-frame[data-theme=chrome] .assr-exp-preview-nav{background:linear-gradient(145deg,#667384,#293545)}
.assr-exp-preview-frame[data-theme=lagoon] .assr-exp-preview-nav{background:#087f83}
.assr-exp-preview-frame[data-theme=graphite] .assr-exp-preview-nav{background:#374151}
.assr-exp-allowlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;margin:18px 0}
.assr-exp-swatch-option{display:flex;align-items:center;gap:10px;border:1px solid #e3e7ec;border-radius:10px;padding:10px 12px;font-weight:500}
.assr-exp-swatch-option span{width:20px;height:20px;border:1px solid #3332;border-radius:50%;flex:none}
.assr-exp-confirm{padding:12px 14px!important;background:#f1f5f9;border-radius:10px;line-height:1.5}
.assr-exp-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 2px!important;min-width:0}
.assr-exp-form-footer span{color:#5d6675;flex:1;line-height:1.6}
.assr-exp-form-footer button{flex-shrink:0;min-height:42px}
/* Administrator Login footer normalization: hard edges were caused by nested .assr-form defaults. */
.assr-admin-login-workspace .assr-admin-login-card{padding:22px 24px!important;box-sizing:border-box}
.assr-admin-login-workspace .assr-admin-login-card>.assr-form{padding:0!important;margin:0!important}
.assr-admin-login-workspace .assr-login-url-preview{margin:15px 0!important;max-width:100%;box-sizing:border-box}
.assr-admin-login-workspace .assr-login-card-footer{margin:24px 0 0!important;padding:18px 0 0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;flex-wrap:wrap!important;min-width:0;border-top:1px solid #e5e7eb}
.assr-admin-login-workspace .assr-login-card-footer .assr-login-footnote{flex:1 1 230px;padding:0!important;margin:0!important;line-height:1.55}
.assr-admin-login-workspace .assr-login-card-footer .assr-btn{flex:0 0 auto!important;margin:0!important;min-height:42px;padding:9px 18px!important;position:static!important}
.assr-admin-login-workspace .assr-login-activation-actions{padding:18px 0 0!important;margin:8px 0 0!important;gap:12px!important;display:flex!important;flex-wrap:wrap!important;align-items:center}
.assr-admin-login-workspace .assr-login-activation-actions .assr-btn{margin:0!important;min-height:42px;white-space:normal}
/* Layout profiles are shells only. Existing portal business markup, handlers, permissions remain authoritative. */
.assr-portal-dashboard[data-assr-exp-profile]:not([data-assr-exp-profile=legacy]),
.assr-staff-portal-host[data-assr-exp-profile]:not([data-assr-exp-profile=legacy]){font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--assr-exp-radius:14px;--assr-exp-gap:20px}
.assr-portal-dashboard[data-assr-exp-profile]:not([data-assr-exp-profile=legacy]) :is(button,input,select,textarea),
.assr-staff-portal-host[data-assr-exp-profile]:not([data-assr-exp-profile=legacy]) :is(button,input,select,textarea){font-family:inherit}
.assr-portal-dashboard[data-assr-exp-profile=classic] :is(.assr-portal-card,.assr-settings-card),
.assr-staff-portal-host[data-assr-exp-profile=classic] .assr-card{border-radius:7px!important}
.assr-portal-dashboard[data-assr-exp-profile=modern] :is(.assr-portal-card,.assr-settings-card),
.assr-staff-portal-host[data-assr-exp-profile=modern] .assr-card{border-radius:16px!important;box-shadow:0 5px 22px rgba(20,39,65,.06)!important}
.assr-portal-dashboard[data-assr-exp-profile=app] :is(.assr-portal-card,.assr-settings-card),
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-card{border-radius:22px!important;box-shadow:0 3px 16px rgba(20,39,65,.05)!important}
.assr-portal-dashboard[data-assr-exp-profile=modern] .assr-portal-main,
.assr-portal-dashboard[data-assr-exp-profile=app] .assr-portal-main{padding-block:clamp(16px,3vw,36px)}
.assr-portal-dashboard[data-assr-exp-profile=app] :is(.assr-portal-main button,.assr-portal-sidebar button){min-height:42px}
.assr-portal-dashboard[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]){--assr-portal-accent:var(--assr-exp-primary);--assr-accent:var(--assr-exp-primary)}
.assr-portal-dashboard[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]) :is(.assr-portal-primary,.assr-portal-submit,.assr-btn.primary){background:var(--assr-exp-primary)!important;border-color:var(--assr-exp-primary)!important;color:var(--assr-exp-on-primary)!important}
.assr-portal-dashboard[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]) :is(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible){outline:3px solid var(--assr-exp-primary)!important;outline-offset:2px}
.assr-staff-portal-host[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]){--assr-admin-primary:var(--assr-exp-primary);--assr-admin-accent:var(--assr-exp-primary)}
.assr-staff-portal-host[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]) .assr-btn.button-primary{background:var(--assr-exp-primary)!important;border-color:var(--assr-exp-primary)!important;color:var(--assr-exp-on-primary)!important}
.assr-staff-portal-host[data-assr-exp-theme=chrome] .assr-nav-item.active{background:linear-gradient(100deg,#617081,#293545)!important}
.assr-exp-customer-select{margin:14px 0;padding:12px 0;border-top:1px solid #ffffff28}
.assr-exp-customer-select>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.assr-exp-customer-select form{display:grid;gap:9px}
.assr-exp-customer-select select,.assr-exp-customer-select button{width:100%;min-height:42px;max-width:100%;border-radius:8px}
/* Branded auth opt-in: one login visual vocabulary, separate authentication engines. */
.login.assr-experience-auth,.assr-experience-auth{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important}
.login.assr-experience-auth{background:#f1f4f7!important}
.login.assr-experience-auth #login{width:min(420px,calc(100% - 32px));padding:7vh 0 28px}
.login.assr-experience-auth #loginform,.login.assr-experience-auth #lostpasswordform,.login.assr-experience-auth #resetpassform,.login.assr-experience-auth #registerform{background:#fff;border:1px solid #e1e6ec;border-radius:18px;box-shadow:0 16px 50px rgba(20,40,60,.08);padding:30px;max-width:100%;box-sizing:border-box}
.login.assr-experience-auth input:not([type=checkbox]):not([type=submit]){min-height:47px;border-radius:9px;font-family:inherit}
.login.assr-experience-auth .button-primary{background:#176b52!important;border-color:#176b52!important;border-radius:9px!important;min-height:43px;padding:6px 19px}
.login.assr-experience-auth #nav,.login.assr-experience-auth #backtoblog{padding-left:0;text-align:center}
.assr-experience-auth :is(.assr-staff-login-card,.assr-portal-shell-auth,.assr-mfa-standalone-card){border-radius:20px!important;padding:clamp(24px,4vw,42px)!important;box-sizing:border-box;max-width:480px;margin-inline:auto}
.assr-experience-auth :is(.assr-staff-login-heading,.assr-portal-heading){margin-bottom:26px!important}
.assr-experience-auth :is(.assr-staff-login-heading h1,.assr-portal-heading h2){line-height:1.25!important;letter-spacing:-.025em}
.assr-experience-auth :is(.assr-staff-login-form,.assr-portal-form){display:grid;gap:14px!important;margin:18px 0!important}
.assr-experience-auth :is(input:not([type=checkbox]),select){min-height:47px;border-radius:10px}
.assr-experience-auth :is(.assr-mfa-error,.assr-portal-alert.error){margin-block:16px!important;padding:14px 16px!important;border-radius:10px}
.assr-experience-auth :is(.assr-staff-login-submit,.assr-portal-form button){min-height:46px!important;border-radius:10px;font-weight:700}
@media(max-width:950px){.assr-experience-admin .assr-experience-preview-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.assr-portal-dashboard[data-assr-exp-profile=app] :is(.assr-portal-card,.assr-settings-card){padding:clamp(16px,3vw,26px)}}
@media(max-width:680px){.assr-experience-admin .assr-experience-preview-controls{grid-template-columns:1fr}.assr-experience-admin .assr-experience-card{padding:18px!important}.assr-exp-form-footer{flex-direction:column;align-items:stretch}.assr-exp-form-footer button{width:100%}.assr-admin-login-workspace .assr-login-card-footer{flex-direction:column!important;align-items:stretch!important}.assr-admin-login-workspace .assr-login-card-footer .assr-btn{width:100%}.assr-exp-preview-frame{padding:10px}.assr-admin-login-workspace .assr-admin-login-card{padding:16px!important}}
@media(prefers-reduced-motion:reduce){.assr-exp-preview-frame,.assr-exp-preview-shell{transition:none}}
.assr-exp-login-heading{font-size:13px;font-weight:700;letter-spacing:.025em;text-align:center;margin:4px auto 20px;color:#64748b}
.login.assr-experience-auth .assr-exp-login-heading{font-size:17px;color:#28384d;margin:12px auto 20px}
.login.assr-experience-auth .button-primary{background:var(--assr-exp-primary,#176b52)!important;border-color:var(--assr-exp-primary,#176b52)!important;color:var(--assr-exp-on-primary,#fff)!important}
.assr-experience-auth :is(.assr-staff-login-submit,.assr-portal-form button){font-family:inherit}
.assr-exp-apply-buttons{display:flex;flex-wrap:wrap;gap:9px}
.assr-exp-apply-buttons .button{min-height:42px;margin:0!important}
@media(max-width:680px){.assr-exp-apply-buttons{width:100%;display:grid}.assr-exp-apply-buttons .button{width:100%}}
/* Distinct profile compositions on a shared DOM; tables, forms and actions are not cloned. */
.assr-portal-dashboard[data-assr-exp-profile=classic] .assr-portal-main{max-width:none}
.assr-portal-dashboard[data-assr-exp-profile=classic] :is(.assr-portal-card,.assr-settings-card){box-shadow:none!important}
.assr-portal-dashboard[data-assr-exp-profile=modern] .assr-portal-main{max-width:1440px;margin-inline:auto}
.assr-portal-dashboard[data-assr-exp-profile=modern] :is(.assr-portal-card,.assr-settings-card){padding:clamp(18px,2.2vw,30px);border:1px solid #e2e8f0}
.assr-portal-dashboard[data-assr-exp-profile=app] .assr-portal-main{max-width:1080px;margin-inline:auto}
.assr-portal-dashboard[data-assr-exp-profile=app] :is(.assr-portal-card,.assr-settings-card){padding:clamp(20px,3vw,34px);margin-bottom:22px}
.assr-portal-dashboard[data-assr-exp-theme]:not([data-assr-exp-theme=legacy]) .assr-portal-sidebar :is(a.is-active,button[aria-expanded=true]){background:var(--assr-exp-primary)!important;color:var(--assr-exp-on-primary)!important}
.assr-portal-dashboard[data-assr-exp-theme=vivid_emerald] .assr-portal-main :is(.assr-portal-card,.assr-settings-card){border-top:3px solid var(--assr-exp-highlight)}
.assr-portal-dashboard[data-assr-exp-theme=chrome] .assr-portal-main :is(.assr-portal-card,.assr-settings-card){border-top:3px solid #84909e}
.assr-staff-portal-host[data-assr-exp-profile=classic] .assr-workspace{max-width:none}
.assr-staff-portal-host[data-assr-exp-profile=classic] :is(.assr-card,.assr-table-wrap){box-shadow:none!important}
.assr-staff-portal-host[data-assr-exp-profile=modern] .assr-workspace{padding-inline:clamp(18px,2.4vw,38px)}
.assr-staff-portal-host[data-assr-exp-profile=modern] .assr-card{padding:clamp(18px,2vw,30px)}
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-workspace{max-width:1360px;margin-inline:auto;padding:clamp(15px,2.6vw,34px)}
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-card{padding:clamp(18px,2.5vw,32px);margin-bottom:22px}
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-btn{min-height:42px;border-radius:10px}
.assr-staff-portal-host[data-assr-exp-theme=vivid_emerald] .assr-nav-item.active{background:linear-gradient(90deg,#087d46,#00a449)!important}
@media(min-width:681px) and (max-width:1024px){
.assr-portal-dashboard[data-assr-exp-profile=modern] .assr-portal-main,
.assr-portal-dashboard[data-assr-exp-profile=app] .assr-portal-main{padding:22px}
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-workspace{padding:20px}
}
@media(max-width:680px){
.assr-portal-dashboard[data-assr-exp-profile=modern] .assr-portal-main,
.assr-portal-dashboard[data-assr-exp-profile=app] .assr-portal-main{width:100%;padding:16px!important}
.assr-portal-dashboard[data-assr-exp-profile=app] :is(.assr-portal-card,.assr-settings-card){border-radius:18px!important;padding:19px;margin:0 0 16px}
.assr-portal-dashboard[data-assr-exp-profile=classic] :is(.assr-portal-card,.assr-settings-card){padding:14px}
.assr-staff-portal-host[data-assr-exp-profile=modern] .assr-workspace,
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-workspace{padding:14px!important}
.assr-staff-portal-host[data-assr-exp-profile=app] .assr-card{padding:17px!important;margin-bottom:14px}
/* Preserve existing responsive table wrappers: don't hide columns or change any action endpoints. */
.assr-portal-dashboard[data-assr-exp-profile]:not([data-assr-exp-profile=legacy]) :is(input,select,textarea,button){max-width:100%}
}

/* AO r46 staging: consistent select inset and settings form alignment. */
.assr-experience-admin :is(select,input[type=text],input[type=email],input[type=number]){box-sizing:border-box;min-height:40px;padding-inline:13px;line-height:1.4}
.assr-experience-admin .assr-field>label{display:block;margin:0 0 7px;font-weight:600}
.assr-experience-admin .assr-check-row{display:flex;align-items:flex-start;gap:11px;line-height:1.55;min-height:24px}
.assr-experience-admin .assr-check-row input[type=checkbox]{flex:none;margin:3px 0 0}
.assr-experience-admin .assr-check-row+.description{margin:4px 0 14px 28px;line-height:1.55;max-width:86ch}
.assr-experience-admin .assr-exp-confirm{margin-top:14px;align-items:flex-start}
.assr-experience-admin .assr-exp-form-footer{flex-wrap:wrap;gap:14px}
.assr-experience-admin .assr-exp-apply-buttons{display:flex;flex-wrap:wrap;gap:10px}
.assr-experience-admin .assr-exp-swatch-option{min-height:44px;box-sizing:border-box}
.assr-experience-admin :is(select,input,textarea):focus-visible{outline:2px solid #6848b5;outline-offset:2px}
.assr-portal-dashboard select{padding-inline:12px;box-sizing:border-box;min-height:38px}
@media(max-width:680px){.assr-experience-admin .assr-experience-card{padding:16px!important}.assr-experience-admin .assr-exp-apply-buttons{width:100%}.assr-experience-admin .assr-exp-apply-buttons>.button{flex:1;min-width:160px}.assr-exp-allowlist{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
