﻿:root{--ink:#16202a;--muted:#67727e;--paper:#f6f3ed;--white:#fff;--accent:#8b2346;--line:#d8d3ca;--dark:#111820;--gold:#b99052}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0}a{color:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(246,243,237,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.02em}.brand-mark{width:42px;height:42px;border:1px solid var(--ink);display:grid;place-items:center;font-family:Georgia,serif}.site-header nav{display:flex;gap:22px;align-items:center}.site-header nav a{text-decoration:none;font-size:.94rem}.button{display:inline-block;border:0;background:var(--accent);color:white!important;text-decoration:none;padding:13px 20px;font-weight:700;cursor:pointer}.button.secondary{background:transparent;color:var(--ink)!important;border:1px solid var(--ink)}.button.small{padding:9px 13px}.hero{min-height:650px;padding:9vw 7vw 7vw;display:grid;grid-template-columns:1.5fr .8fr;gap:7vw;align-items:center;background:linear-gradient(120deg,#f6f3ed,#ebe4d8)}.hero h1,.page-head h1{font-family:Georgia,serif;font-weight:500;line-height:.98;font-size:clamp(3rem,6vw,6.7rem);margin:.15em 0}.hero p,.page-head p{max-width:780px;font-size:1.2rem;line-height:1.65;color:var(--muted)}.eyebrow,.mini-label,.product-type{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--accent)}.actions{display:flex;gap:12px;margin-top:28px}.hero-card{background:var(--dark);color:white;padding:42px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end}.hero-card h2{font-family:Georgia,serif;font-size:2.4rem;margin:.4em 0}.hero-card p{color:#c6ced5;font-size:1rem}.hero-card a{color:white}.section{padding:75px 7vw}.section.dark{background:var(--dark);color:white}.section.dark p{color:#bcc5ce}.section-heading{display:flex;gap:16px;align-items:center;margin-bottom:28px}.section-heading span{color:var(--accent);font-weight:800}.section-heading h2{font-family:Georgia,serif;font-size:2.7rem;margin:0}.grid{display:grid;gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);padding:30px;min-height:220px}.card h2,.card h3{font-family:Georgia,serif;font-weight:500}.product-footer{margin-top:30px;display:flex;justify-content:space-between}.page-head{padding:100px 7vw 45px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(3rem,5vw,5.7rem)}.product-detail{padding:90px 7vw;display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:8vw}.cover-placeholder{aspect-ratio:2/3;background:var(--dark);color:white;display:grid;place-items:center;text-align:center;font-family:Georgia,serif;font-size:2.2rem;letter-spacing:.05em}.product-detail h1{font-family:Georgia,serif;font-size:4rem;font-weight:500}.price{font-size:2rem;font-weight:800;margin:25px 0}.product-detail form{display:flex;align-items:end;gap:16px}.product-detail input,.assessment-form input,.assessment-form textarea{width:100%;padding:11px;border:1px solid var(--line);background:white}.assessment-form label{display:grid;gap:8px;margin-bottom:18px;font-weight:700}.data-table{width:100%;border-collapse:collapse;background:white}.data-table th,.data-table td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}.metric{background:white;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;gap:8px}.metric span{font-weight:800;color:var(--accent)}.metric strong{font-family:Georgia,serif;font-size:2.6rem}.fineprint{font-size:.86rem;color:var(--muted)}.notes{white-space:pre-wrap;background:white;border:1px solid var(--line);padding:20px}.notice{background:white;border:1px solid var(--line);padding:18px;margin-bottom:12px;display:flex;justify-content:space-between;gap:20px}.notice p{margin:.4rem 0;color:var(--muted)}footer{padding:48px 7vw;background:#0c1117;color:#e7edf2;display:grid;gap:8px}.footer-links{display:flex;gap:18px;margin-top:12px;font-size:.9rem}@media(max-width:850px){.site-header{height:auto;min-height:78px;align-items:flex-start;padding-top:18px;padding-bottom:18px}.site-header nav{flex-wrap:wrap;justify-content:flex-end}.hero,.product-detail{grid-template-columns:1fr}.grid.three{grid-template-columns:1fr}.hero{padding-top:80px}.hero h1{font-size:3.5rem}}

/* ===== CARMEN-OFFICIAL-BRANDING ===== */
.brand-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
}

.brand-icon {
    width: 46px;
    height: 46px;
    object-fit: contain;
    flex: 0 0 auto;
}

.brand-name {
    font-weight: 700;
    letter-spacing: 0.015em;
    line-height: 1.1;
}

.footer-brand {
    margin-bottom: 0.65rem;
}

.footer-brand-logo {
    display: block;
    width: min(260px, 72vw);
    height: auto;
    object-fit: contain;
}

@media (max-width: 700px) {
    .brand-icon {
        width: 40px;
        height: 40px;
    }

    .brand-name {
        font-size: 0.95rem;
    }

    .footer-brand-logo {
        width: min(220px, 78vw);
    }
}
/* ===== END CARMEN-OFFICIAL-BRANDING ===== */

/* ===== CARMEN IDENTITY FOUNDATION R1 ===== */
.nav-logout{display:inline;margin:0}.nav-logout button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.nav-logout button:hover{text-decoration:underline}

.account-hero{padding:84px 7vw 58px;background:linear-gradient(135deg,#0f1822,#182d40);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.account-hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5.4rem);font-weight:500;margin:.12em 0}
.account-lede{max-width:780px;color:#cbd6df;font-size:1.12rem;line-height:1.65}
.account-security-summary{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.status-chip,.role-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.22);padding:8px 11px;font-size:.82rem;font-weight:800;letter-spacing:.02em}
.status-chip.good{background:rgba(44,135,87,.25)}.status-chip.warn{background:rgba(185,144,55,.22)}

.dashboard-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;min-height:680px;background:#f3f5f7}
.dashboard-sidebar{padding:36px 24px;background:#fff;border-right:1px solid #dfe4e8}
.dashboard-profile{display:flex;align-items:center;gap:13px;padding-bottom:25px;border-bottom:1px solid #e5e8eb}
.dashboard-profile strong,.dashboard-profile small{display:block}.dashboard-profile small{margin-top:3px;color:#72808c;overflow-wrap:anywhere}
.avatar-monogram{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#162a3a;color:#fff;font-family:Georgia,serif;font-size:1.4rem}
.dashboard-nav{display:grid;gap:3px;margin-top:22px}.dashboard-nav a{text-decoration:none;padding:11px 12px;color:#465460;border-left:3px solid transparent}.dashboard-nav a:hover,.dashboard-nav a.active{background:#f3f6f8;color:#111820;border-left-color:#8b2346}
.dashboard-content{padding:38px 4vw 70px;min-width:0}
.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.dashboard-metric-card,.dashboard-panel{background:#fff;border:1px solid #dfe4e8;box-shadow:0 10px 32px rgba(25,38,50,.04)}
.dashboard-metric-card{padding:24px}.dashboard-metric-card span,.dashboard-metric-card small{display:block;color:#72808c}.dashboard-metric-card strong{display:block;font-family:Georgia,serif;font-size:2.4rem;font-weight:500;margin:9px 0}
.dashboard-panel{padding:28px;margin-bottom:20px}.dashboard-panel h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:.3rem 0 1rem}.dashboard-panel p{color:#66737e;line-height:1.65}
.dashboard-panel-accent{border-top:4px solid #8b2346}
.dashboard-panel-heading{display:flex;justify-content:space-between;align-items:center}
.role-cloud{display:flex;gap:9px;flex-wrap:wrap}.role-chip{border-color:#ccd4da;background:#f4f6f8}.role-chip.muted{color:#78838d}
.dashboard-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workspace-grid>div{background:#f6f7f8;padding:18px;border:1px solid #e0e5e8}.workspace-grid strong,.workspace-grid span{display:block}.workspace-grid span{margin-top:6px;color:#687681;line-height:1.45}
.account-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.account-facts>div{padding:13px 0;border-bottom:1px solid #e6e9eb}.account-facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#7a8792;font-weight:800}.account-facts dd{margin:5px 0 0;font-weight:700}

.identity-shell{min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,620px);gap:6vw;padding:76px 7vw;background:linear-gradient(135deg,#edf1f4,#f7f3ec);align-items:center}
.identity-shell-single{grid-template-columns:minmax(0,780px);justify-content:center}
.identity-intro h1,.identity-card h1{font-family:Georgia,serif;font-size:clamp(3rem,5.2vw,5.8rem);font-weight:500;line-height:1;margin:.18em 0}.identity-intro>p{font-size:1.15rem;line-height:1.7;color:#60707d;max-width:680px}
.identity-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}.identity-assurance>div{padding:18px;border-top:2px solid #8b2346}.identity-assurance strong,.identity-assurance span{display:block}.identity-assurance strong{font-family:Georgia,serif;font-size:1.7rem}.identity-assurance span{color:#697783;margin-top:4px;font-size:.88rem}
.identity-card{background:#fff;border:1px solid #d9dfe4;padding:36px;box-shadow:0 24px 70px rgba(21,34,45,.09)}.identity-card-wide{padding:46px}
.identity-card h2{font-family:Georgia,serif;font-size:2.25rem;font-weight:500;margin-top:0}.identity-card form{display:grid;gap:8px}.identity-card label{font-size:.9rem;font-weight:800;margin-top:8px}.identity-card input[type=text],.identity-card input[type=email],.identity-card input[type=password]{width:100%;border:1px solid #cbd3da;background:#fff;padding:12px 13px;font:inherit}.identity-card input:focus{outline:3px solid rgba(63,111,150,.18);border-color:#315f83}.identity-card [data-valmsg-for]{font-size:.82rem;color:#a32843;min-height:1em}.validation-summary{color:#a32843}.check-row{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:500!important;line-height:1.45}.check-row input{margin-top:3px}.identity-submit{width:100%;margin-top:16px}.identity-foot{padding-top:20px;margin-top:20px;border-top:1px solid #e4e8eb;color:#66737e}.dev-confirmation{padding:20px;background:#fff6dc;border:1px solid #e2ca80;margin:24px 0}

@media(max-width:980px){
  .dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{border-right:0;border-bottom:1px solid #dfe4e8}.dashboard-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashboard-metrics,.dashboard-two-column,.workspace-grid{grid-template-columns:1fr}
  .identity-shell{grid-template-columns:1fr}.account-hero{align-items:flex-start;flex-direction:column}.account-security-summary{justify-content:flex-start}
}
@media(max-width:650px){
  .dashboard-nav{grid-template-columns:1fr}.dashboard-content{padding:26px 18px 55px}.account-facts{grid-template-columns:1fr}.identity-shell{padding:48px 18px}.identity-card{padding:24px}.identity-assurance{grid-template-columns:1fr}
}
/* ===== END CARMEN IDENTITY FOUNDATION R1 ===== */


/* ===== CARMEN IDENTITY SECURITY R2A ===== */
.identity-link-stack{display:grid;gap:8px}.identity-link-stack a{width:max-content;max-width:100%}
.identity-card select{width:100%;border:1px solid #cbd3da;background:#fff;padding:12px 13px;font:inherit}
.identity-card select:focus{outline:3px solid rgba(63,111,150,.18);border-color:#315f83}
.identity-notice{padding:13px 15px;border:1px solid #cfd9df;margin-bottom:16px}.identity-notice.success{background:#eef8f1;border-color:#abd0b7;color:#215c35}
.mfa-send-actions{display:grid;gap:10px;padding-top:20px;margin-top:20px;border-top:1px solid #e4e8eb}.mfa-send-actions form{display:inline-block;margin:0}
/* ===== END CARMEN IDENTITY SECURITY R2A ===== */


/* ===== CARMEN IDENTITY / ADMIN R2C BEGIN ===== */
.admin-users-shell,.admin-user-detail{padding:38px 6vw 72px;background:#f3f5f7}
.admin-users-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.admin-search label{display:block;font-weight:800;margin-bottom:7px}
.admin-search>div{display:flex;gap:8px}.admin-search input{min-width:min(420px,62vw);border:1px solid #cbd3da;padding:11px 12px;font:inherit;background:#fff}
.admin-users-table-wrap{overflow-x:auto;background:#fff;border:1px solid #dfe4e8;box-shadow:0 10px 32px rgba(25,38,50,.04)}
.admin-users-table{width:100%;border-collapse:collapse;min-width:900px}.admin-users-table th,.admin-users-table td{text-align:left;padding:15px 16px;border-bottom:1px solid #e4e8eb;vertical-align:top}
.admin-users-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#6d7a85;background:#f7f9fa}
.admin-users-table td small{display:block;color:#75818b;margin-top:4px}.role-cloud.compact .role-chip{font-size:.72rem;padding:5px 7px}
.admin-footnote{color:#75818b;font-size:.85rem;margin-top:14px}
.admin-notice{padding:14px 16px;margin-bottom:18px;border:1px solid}.admin-notice.success{background:#eef8f1;border-color:#9bc5a7}.admin-notice.error{background:#fff0f2;border-color:#d49aa5}
.admin-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.admin-role-option{display:flex;align-items:center;gap:9px;background:#f7f8f9;border:1px solid #dce2e6;padding:12px;font-weight:700}
.admin-identity-hero{min-height:260px}
@media(max-width:850px){.admin-users-toolbar{align-items:stretch;flex-direction:column}.admin-role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.admin-role-grid{grid-template-columns:1fr}.admin-search>div{flex-direction:column}.admin-search input{min-width:0;width:100%}}
/* ===== CARMEN IDENTITY / ADMIN R2C END ===== */

/* ===== CARMEN REGISTRATION EXPERIENCE R2D UX BEGIN ===== */
.register-experience{position:relative;min-height:calc(100vh - 82px);overflow:hidden;background:radial-gradient(circle at 10% 12%,rgba(73,128,169,.18),transparent 32rem),radial-gradient(circle at 91% 90%,rgba(139,35,70,.14),transparent 34rem),linear-gradient(135deg,#0c1721 0%,#132634 48%,#0e1d29 100%);padding:clamp(34px,5vw,76px) clamp(18px,5vw,76px)}
.register-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}.register-orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}.register-orbit-one{width:620px;height:620px;left:-260px;top:-300px}.register-orbit-two{width:760px;height:760px;right:-420px;bottom:-430px}.register-grid-glow{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 94%)}
.register-shell{position:relative;z-index:1;width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(470px,.78fr);min-height:720px;border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 100px rgba(0,0,0,.30);background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.register-story{position:relative;display:flex;flex-direction:column;padding:clamp(34px,4vw,62px);color:#fff;background:linear-gradient(160deg,rgba(14,32,45,.74),rgba(16,37,51,.45)),radial-gradient(circle at 92% 10%,rgba(72,128,170,.20),transparent 24rem)}
.register-brand{display:inline-flex;align-items:center;width:max-content;text-decoration:none}.register-brand img{width:min(270px,72%);height:auto;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22))}
.register-story-copy{margin:auto 0 48px;max-width:610px}.register-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:900;color:#9fc4df}.register-kicker-dark{color:#6f3750}
.register-story h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(3rem,5vw,5.6rem);line-height:.98;letter-spacing:-.035em;margin:18px 0 24px}.register-story-copy>p{margin:0;max-width:580px;color:#cbd8e1;font-size:1.08rem;line-height:1.72}
.register-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.register-step{display:flex;gap:11px;padding:18px 12px;color:#9caeb9}.register-step:first-child{padding-left:0}.register-step span{font-family:Georgia,serif;font-size:1.35rem;color:#6f8798}.register-step strong,.register-step small{display:block}.register-step strong{font-size:.86rem;color:#d8e2e8}.register-step small{margin-top:3px;font-size:.74rem;line-height:1.35}.register-step.is-current span,.register-step.is-current strong{color:#fff}
.register-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.register-assurance>div{padding:14px 0}.register-assurance strong,.register-assurance span{display:block}.register-assurance strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;color:#fff}.register-assurance span{margin-top:4px;font-size:.74rem;color:#9fb0bc}
.register-panel{display:flex;flex-direction:column;justify-content:center;background:#f7f7f5;padding:clamp(34px,4.2vw,64px)}.register-panel-heading{margin-bottom:24px}.register-panel-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,3.6vw,3.8rem);font-weight:500;letter-spacing:-.025em;line-height:1.04;margin:11px 0 12px;color:#17232c}.register-panel-heading p{margin:0;color:#697782;line-height:1.55}
.register-form{display:grid;gap:16px}.register-validation-summary:empty{display:none}.register-validation-summary{padding:12px 14px;background:#fff0f2;border:1px solid #e0a8b3;color:#93213e;font-size:.86rem}.register-field{display:grid;gap:7px}.register-field>label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#34444f}
.register-input-wrap{position:relative;display:flex;align-items:center}.register-input-icon{position:absolute;left:15px;z-index:1;width:25px;color:#7e8d97;font-family:Georgia,serif;font-size:.84rem;font-weight:700;text-align:center;pointer-events:none}.register-input{width:100%;min-height:50px;border:1px solid #cbd3d8!important;border-radius:0;background:#fff!important;padding:12px 14px 12px 53px!important;font:inherit;color:#18232b;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.register-input::placeholder{color:#98a2aa}.register-input:focus{outline:none!important;border-color:#476f8d!important;box-shadow:0 0 0 4px rgba(67,111,145,.12)!important;background:#fff!important}
.register-field [data-valmsg-for]{font-size:.78rem;color:#a32843;min-height:1em}.register-field-note,.register-password-rule{font-size:.75rem;color:#79858e;line-height:1.4}.register-password-rule{padding:9px 11px;background:#eef2f4;border-left:3px solid #718fa6}
.register-consent-box{margin-top:2px;padding:15px 16px;border:1px solid #d9dee2;background:#fff}.register-check-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:.83rem;line-height:1.5;color:#465660}.register-check-row input{margin-top:3px}.register-check-row a{font-weight:800}.register-check-row-secondary{margin-top:11px;padding-top:11px;border-top:1px solid #edf0f2;color:#64727c}.register-consent-box [data-valmsg-for]{display:block;margin-top:5px;font-size:.78rem;color:#a32843}
.register-submit{min-height:54px;margin-top:2px;display:flex!important;align-items:center;justify-content:space-between;width:100%;padding:0 20px!important;border-radius:0!important;font-size:.92rem;letter-spacing:.015em;box-shadow:0 12px 30px rgba(79,24,48,.18)}.register-submit span:last-child{font-size:1.25rem}
.register-security-note{display:flex;align-items:center;justify-content:center;gap:8px;color:#7b8790;font-size:.74rem}.register-security-dot{width:7px;height:7px;border-radius:50%;background:#3d855b;box-shadow:0 0 0 4px rgba(61,133,91,.11)}
.register-signin{display:flex;justify-content:space-between;gap:20px;padding-top:22px;margin-top:23px;border-top:1px solid #dfe3e6;color:#66747d;font-size:.88rem}.register-signin a{font-weight:900;color:#6f2341}
@media(max-width:1020px){.register-experience{padding:24px}.register-shell{grid-template-columns:1fr;max-width:760px}.register-story{min-height:auto}.register-story-copy{margin:58px 0 40px}.register-story h1{font-size:clamp(3rem,10vw,5rem)}}
@media(max-width:620px){.register-experience{padding:0;background:#f7f7f5}.register-shell{border:0;box-shadow:none}.register-story{padding:30px 22px 34px}.register-panel{padding:34px 22px 44px}.register-journey{grid-template-columns:1fr}.register-step{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.register-step:last-child{border-bottom:0}.register-assurance{grid-template-columns:1fr 1fr 1fr}.register-assurance span{font-size:.68rem}.register-signin{flex-direction:column;gap:7px}}
/* ===== CARMEN REGISTRATION EXPERIENCE R2D UX END ===== */


/* CARMEN IDENTITY ACCOUNT SHELL R3 BEGIN */
/* Custom CarMen Identity experiences own the full canvas; do not double-constrain them. */
.identity-main:has(> .identity-shell),
.identity-main:has(> .register-experience),
.identity-main:has(> .account-recovery-shell){width:100%;max-width:none;margin:0;padding:0;min-height:0}
.identity-main > .identity-shell,.identity-main > .register-experience,.identity-main > .account-recovery-shell{width:100%;max-width:none;margin:0}

/* Framework/RCL fallback only. These rules intentionally exclude CarMen custom shells. */
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)){width:min(900px,calc(100% - 48px));margin:0 auto;padding:48px 0 64px;min-height:420px}
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > h1,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > h2,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > h3,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > p,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > hr,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > .row,
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > form{width:min(720px,100%);margin-left:auto;margin-right:auto}
.identity-main:not(:has(> .identity-shell)):not(:has(> .register-experience)):not(:has(> .account-recovery-shell)) > .row{padding:30px;background:#fff;border:1px solid #dce4ec;box-shadow:0 18px 48px rgba(15,35,60,.08)}

.account-recovery-shell{min-height:calc(100vh - 78px);padding:clamp(46px,7vw,92px) 24px;background:radial-gradient(circle at 12% 10%,rgba(72,128,170,.13),transparent 30rem),linear-gradient(135deg,#edf1f4,#f7f3ec);display:grid;place-items:center}
.account-recovery-card{width:min(660px,100%);background:#fff;border:1px solid #d9dfe4;padding:clamp(28px,5vw,48px);box-shadow:0 24px 70px rgba(21,34,45,.10)}
.account-recovery-kicker{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:#8b2346}
.account-recovery-card h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,5vw,4.1rem);font-weight:500;line-height:1.02;margin:.25em 0 .3em;color:#17232c}
.account-recovery-card>p{color:#61717e;line-height:1.65;margin:0 0 24px}
.account-recovery-form{display:grid;gap:14px}.account-recovery-field{display:grid;gap:7px}.account-recovery-field label{font-size:.82rem;font-weight:800;color:#2b3f52}
.account-recovery-field input{width:100%;min-height:52px;border:1px solid #cbd3da;background:#fff;padding:12px 14px;font:inherit;color:#18232b}
.account-recovery-field input:focus{outline:3px solid rgba(63,111,150,.18);border-color:#315f83}
.account-recovery-submit{width:100%;min-height:52px;margin-top:4px;border:0;background:#153f70;color:#fff;font:inherit;font-weight:800;cursor:pointer}.account-recovery-submit:hover{background:#0f3159}
.account-recovery-links{display:flex;flex-wrap:wrap;gap:14px 20px;padding-top:20px;margin-top:22px;border-top:1px solid #e4e8eb;font-size:.9rem}.account-recovery-links a{color:#1e568d}
.account-recovery-note{padding:14px 16px;background:#eef3f7;border-left:3px solid #718fa6;color:#536675;font-size:.88rem;line-height:1.55}
.account-recovery-validation{color:#a32843;font-size:.86rem}.account-recovery-validation:empty{display:none}
@media(max-width:620px){.identity-main:has(> .identity-shell),.identity-main:has(> .register-experience),.identity-main:has(> .account-recovery-shell){width:100%}.account-recovery-shell{padding:28px 16px}.account-recovery-card{padding:28px 22px}}
/* CARMEN IDENTITY ACCOUNT SHELL R3 END */

/* CARMEN LOGOUT R4 BEGIN */
.site-header nav .nav-logout-form{display:inline-flex;align-items:center;margin:0;padding:0}
.site-header nav .nav-logout-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;padding:0;cursor:pointer;text-decoration:none}
.site-header nav .nav-logout-button:hover,.site-header nav .nav-logout-button:focus-visible{text-decoration:underline}
.logout-safety-shell{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:48px 24px;background:linear-gradient(135deg,#edf1f4,#f8f5ef)}
.logout-safety-card{width:min(620px,100%);background:#fff;border:1px solid #d9e0e5;padding:clamp(30px,5vw,48px);box-shadow:0 24px 70px rgba(21,34,45,.10)}
.logout-safety-kicker{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:#8b2346}
.logout-safety-card h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,3.7rem);font-weight:500;line-height:1.04;margin:.28em 0 .32em;color:#17232c}
.logout-safety-card p{color:#61717e;line-height:1.65;margin:0 0 24px}
.logout-safety-form{margin:0}.logout-safety-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;background:#153f70;color:#fff;padding:0 24px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
.logout-safety-button:hover{background:#0f3159;color:#fff}.logout-safety-link{margin-right:14px}.logout-safety-cancel{display:inline-block;margin-top:18px;color:#1e568d;text-decoration:none}.logout-safety-cancel:hover{text-decoration:underline}
@media(max-width:620px){.logout-safety-shell{padding:28px 16px}.logout-safety-card{padding:28px 22px}.site-header nav .nav-logout-form{width:auto}}
/* CARMEN LOGOUT R4 END */
/* CARMEN PAGE NORMALIZATION R5-R5 BEGIN */
.carmen-route-shell {
    width: 100%;
    min-width: 0;
}

.carmen-route-shell--standard,
.carmen-route-shell--prose,
.carmen-route-shell--status {
    box-sizing: border-box;
    margin: clamp(1.5rem, 3.5vw, 3.5rem) auto;
    width: min(calc(100% - 2rem), 1120px);
    border: 1px solid rgba(18, 42, 69, .12);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 50px rgba(18, 42, 69, .08);
    padding: clamp(1.5rem, 4vw, 3.75rem);
}

.carmen-route-shell--standard {
    min-height: 320px;
}

.carmen-route-shell--prose {
    width: min(calc(100% - 2rem), 900px);
    line-height: 1.72;
}

.carmen-route-shell--prose > h1,
.carmen-route-shell--standard > h1,
.carmen-route-shell--status > h1 {
    margin-top: 0;
    color: #122a45;
    letter-spacing: -.025em;
}

.carmen-route-shell--standard > p,
.carmen-route-shell--prose > p,
.carmen-route-shell--status > p {
    max-width: 72ch;
    color: #4b5f73;
}

.carmen-route-shell--standard > h2,
.carmen-route-shell--prose > h2 {
    color: #173a5e;
    margin-top: 2rem;
    margin-bottom: .6rem;
}

.carmen-route-shell--standard a:not(.button),
.carmen-route-shell--prose a:not(.button),
.carmen-route-shell--status a:not(.button) {
    text-underline-offset: .18em;
}

.carmen-route-shell--status {
    width: min(calc(100% - 2rem), 760px);
    min-height: 280px;
}

.carmen-route-shell--status form {
    max-width: 560px;
}

.carmen-route-shell--status input[type="email"],
.carmen-route-shell--status input[type="password"],
.carmen-route-shell--status input[type="text"] {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #c9d5e1;
    border-radius: 12px;
    padding: .85rem 1rem;
    font: inherit;
}

.carmen-route-shell--status button,
.carmen-route-shell--standard button {
    border: 0;
    border-radius: 12px;
    padding: .8rem 1.1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 720px) {
    .carmen-route-shell--standard,
    .carmen-route-shell--prose,
    .carmen-route-shell--status {
        width: min(calc(100% - 1rem), 100%);
        margin: 1rem auto;
        border-radius: 18px;
        padding: 1.25rem;
        box-shadow: 0 10px 28px rgba(18, 42, 69, .07);
    }
}
/* CARMEN PAGE NORMALIZATION R5-R5 END */
/* CARMEN_IDENTITY_AUTH_CLARITY_R5_BEGIN
   CarMen Scientific Press authentication clarity corrective.
   Presentation only: no authentication, registration, validation, authorization,
   database, payment, role, endpoint, or account workflow behavior is changed. */

:root {
    --carmen-auth-navy: #102638;
    --carmen-auth-blue: #1a5279;
    --carmen-auth-blue-hover: #123e5e;
    --carmen-auth-burgundy: #8f1f45;
    --carmen-auth-ink: #172330;
    --carmen-auth-muted: #647383;
    --carmen-auth-line: #d7e0e7;
    --carmen-auth-soft: #f4f7f9;
    --carmen-auth-paper: #ffffff;
    --carmen-auth-danger: #9a2744;
}

/* Global auth canvas: quiet, flat, and non-layered. */
body.identity-page,
body:has(.register-experience),
body:has(.identity-shell) {
    min-height: 100vh !important;
    margin: 0 !important;
    background: #f5f7f8 !important;
    color: var(--carmen-auth-ink) !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

/* Use the approved full CarMen Scientific Press logo on Identity pages. */
body.identity-page .site-header {
    position: relative !important;
    inset: auto !important;
    z-index: 10 !important;
    width: 100% !important;
    min-height: 82px !important;
    height: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--carmen-auth-line) !important;
    box-shadow: none !important;
}
body.identity-page .site-header .brand,
body.identity-page .site-header .brand-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}
body.identity-page .site-header .brand-icon {
    content: url('/images/branding/carmen-scientific-press-logo.png') !important;
    display: block !important;
    width: min(238px, 62vw) !important;
    max-width: 238px !important;
    height: 56px !important;
    max-height: 56px !important;
    flex: none !important;
    object-fit: contain !important;
}
body.identity-page .site-header .brand-name,
body.identity-page .site-header nav {
    display: none !important;
}

body.identity-page main,
body.identity-page main.identity-main,
body.identity-page .carmen-route-shell,
body:has(.register-experience) main,
body:has(.identity-shell) main {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* REGISTER: strip all legacy split-screen/decorative layers. */
.register-experience,
body.identity-page .register-experience {
    position: relative !important;
    inset: auto !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: calc(100vh - 82px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: clamp(32px, 5vw, 64px) 18px 72px !important;
    overflow: visible !important;
    background: #f5f7f8 !important;
    color: var(--carmen-auth-ink) !important;
}
.register-experience::before,
.register-experience::after,
.register-atmosphere,
.register-story,
.register-journey,
.register-assurance,
.register-orbit,
.register-decor,
.register-background,
body.identity-page .register-atmosphere,
body.identity-page .register-story,
body.identity-page .register-journey,
body.identity-page .register-assurance {
    display: none !important;
    content: none !important;
}
.register-shell,
body.identity-page .register-shell {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    transform: none !important;
    box-sizing: border-box !important;
    display: block !important;
    grid-template-columns: none !important;
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.register-panel,
body.identity-page .register-panel {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: clamp(30px, 5vw, 48px) !important;
    overflow: visible !important;
    background: #ffffff !important;
    border: 1px solid var(--carmen-auth-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px rgba(16,38,56,.08) !important;
}
.register-panel img,
.register-shell > img,
.register-panel-heading img {
    display: block !important;
    width: min(240px, 72%) !important;
    max-width: 240px !important;
    height: auto !important;
    max-height: 96px !important;
    margin: 0 auto 24px !important;
    object-fit: contain !important;
}
.register-panel-heading,
body.identity-page .register-panel-heading {
    position: static !important;
    display: block !important;
    margin: 0 0 28px !important;
    padding: 0 0 22px !important;
    border: 0 !important;
    border-bottom: 1px solid #e9eef2 !important;
    background: transparent !important;
}
.register-kicker,
.register-kicker-dark {
    position: static !important;
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--carmen-auth-burgundy) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}
.register-panel-heading h1,
.register-panel-heading h2,
.register-panel-heading h3 {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--carmen-auth-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(32px, 5vw, 42px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
}
.register-panel-heading p {
    position: static !important;
    width: auto !important;
    max-width: 52ch !important;
    margin: 0 !important;
    color: var(--carmen-auth-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.register-form,
body.identity-page .register-form {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
.register-field,
body.identity-page .register-field {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.register-field label {
    position: static !important;
    margin: 0 !important;
    color: #34495c !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}
.register-input-wrap {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
}
.register-input-icon {
    display: none !important;
}
.register-form input[type='text'],
.register-form input[type='email'],
.register-form input[type='password'],
.register-form input[type='tel'],
.register-form select,
.register-form textarea,
.register-input {
    position: static !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #c7d2db !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--carmen-auth-ink) !important;
    font: inherit !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
    transform: none !important;
}
.register-form input:focus,
.register-form select:focus,
.register-form textarea:focus {
    outline: none !important;
    border-color: #2e6f9a !important;
    box-shadow: 0 0 0 3px rgba(46,111,154,.12) !important;
}
.register-field-note,
.register-password-rule,
.register-security-note {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    color: #6c7a87 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.register-password-rule {
    padding: 9px 11px !important;
    border: 0 !important;
    border-left: 3px solid #7f9bae !important;
    border-radius: 0 6px 6px 0 !important;
    background: #f2f6f8 !important;
}
.register-consent-box {
    position: static !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 16px !important;
    background: #fbfcfd !important;
    border: 1px solid var(--carmen-auth-line) !important;
    border-radius: 8px !important;
}
.register-check-row {
    position: static !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #485a69 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.register-check-row + .register-check-row,
.register-check-row-secondary {
    margin-top: 11px !important;
    padding-top: 11px !important;
    border-top: 1px solid #e8edf1 !important;
}
.register-check-row input[type='checkbox'] {
    width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--carmen-auth-blue) !important;
}
.register-submit,
.register-form button[type='submit'],
.register-form input[type='submit'] {
    position: static !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 2px 0 0 !important;
    padding: 12px 18px !important;
    border: 1px solid var(--carmen-auth-burgundy) !important;
    border-radius: 8px !important;
    background: var(--carmen-auth-burgundy) !important;
    color: #ffffff !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
}
.register-signin {
    position: static !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid #e8edf1 !important;
    color: #697887 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* LOGIN: remove promotional side panel and keep one readable card. */
.identity-shell,
body.identity-page .identity-shell {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: calc(100vh - 82px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: clamp(36px, 6vw, 68px) 18px 72px !important;
    overflow: visible !important;
    background: #f5f7f8 !important;
    color: var(--carmen-auth-ink) !important;
}
.identity-shell::before,
.identity-shell::after,
.identity-intro,
.identity-assurance,
.identity-story,
.identity-decor,
.identity-background,
body.identity-page .identity-intro,
body.identity-page .identity-assurance {
    display: none !important;
    content: none !important;
}
.identity-card,
.identity-card-wide,
body.identity-page .identity-card,
body.identity-page .identity-card-wide {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    transform: none !important;
    box-sizing: border-box !important;
    display: block !important;
    width: min(100%, 540px) !important;
    max-width: 540px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: clamp(30px, 5vw, 46px) !important;
    overflow: visible !important;
    background: #ffffff !important;
    border: 1px solid var(--carmen-auth-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px rgba(16,38,56,.08) !important;
}
.identity-card img,
.identity-card-wide img {
    display: block !important;
    width: min(230px, 72%) !important;
    max-width: 230px !important;
    height: auto !important;
    max-height: 94px !important;
    margin: 0 auto 24px !important;
    object-fit: contain !important;
}
.identity-card h1,
.identity-card h2,
.identity-card h3,
.identity-card-wide h1,
.identity-card-wide h2,
.identity-card-wide h3 {
    position: static !important;
    width: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--carmen-auth-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(32px, 5vw, 42px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    white-space: normal !important;
}
.identity-card p,
.identity-card-wide p {
    position: static !important;
    width: auto !important;
    max-width: 52ch !important;
    color: var(--carmen-auth-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.identity-card form,
.identity-card-wide form {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
}
.identity-card label,
.identity-card-wide label {
    position: static !important;
    margin: 3px 0 -5px !important;
    color: #34495c !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
.identity-card input[type='text'],
.identity-card input[type='email'],
.identity-card input[type='password'],
.identity-card-wide input[type='text'],
.identity-card-wide input[type='email'],
.identity-card-wide input[type='password'] {
    position: static !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #c7d2db !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--carmen-auth-ink) !important;
    font: inherit !important;
    font-size: 14px !important;
    box-shadow: none !important;
    transform: none !important;
}
.identity-card button[type='submit'],
.identity-card input[type='submit'],
.identity-card .identity-submit,
.identity-card-wide button[type='submit'],
.identity-card-wide input[type='submit'] {
    position: static !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 4px 0 0 !important;
    padding: 12px 18px !important;
    border: 1px solid var(--carmen-auth-burgundy) !important;
    border-radius: 8px !important;
    background: var(--carmen-auth-burgundy) !important;
    color: #ffffff !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
}
.identity-foot,
.identity-link-stack,
.validation-summary {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    color: #667788 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

/* Validation remains obvious but never overlays controls. */
.validation-summary-errors,
.register-validation-summary:not(:empty),
.field-validation-error,
.text-danger {
    position: static !important;
    transform: none !important;
    color: var(--carmen-auth-danger) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}
.validation-summary-errors,
.register-validation-summary:not(:empty) {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 11px 13px !important;
    border: 1px solid #e2b8c3 !important;
    border-radius: 8px !important;
    background: #fff5f7 !important;
}

body.identity-page footer {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 18px 26px !important;
    background: #ffffff !important;
    border-top: 1px solid var(--carmen-auth-line) !important;
    color: #74818d !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: center !important;
}
body.identity-page footer .footer-brand-logo {
    width: 170px !important;
    max-width: 54vw !important;
    height: auto !important;
    margin: 0 auto 8px !important;
    object-fit: contain !important;
}

@media (max-width: 640px) {
    body.identity-page .site-header {
        min-height: 72px !important;
        padding: 10px 14px !important;
    }
    body.identity-page .site-header .brand-icon {
        width: min(205px, 72vw) !important;
        height: 48px !important;
        max-height: 48px !important;
    }
    .register-experience,
    .identity-shell {
        min-height: 0 !important;
        padding: 24px 12px 42px !important;
    }
    .register-shell,
    .register-panel,
    .identity-card,
    .identity-card-wide {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    .register-panel,
    .identity-card,
    .identity-card-wide {
        padding: 25px 20px !important;
        border-radius: 12px !important;
    }
    .register-panel-heading h1,
    .register-panel-heading h2,
    .register-panel-heading h3,
    .identity-card h1,
    .identity-card h2,
    .identity-card h3 {
        font-size: 30px !important;
    }
    .register-signin {
        display: block !important;
    }
    .register-signin a {
        display: inline-block !important;
        margin-top: 7px !important;
    }
}

/* CARMEN_IDENTITY_AUTH_CLARITY_R5_END */

/* CARMEN_IDENTITY_BRANDING_R6_R4_BEGIN */

/* Approved light-surface logo */
.site-header .brand-icon,
body.identity-page .site-header .brand-icon {
    content: url("/images/branding/carmen-scientific-press-logo-light.png") !important;
    object-fit: contain !important;
}

/* Approved dark-surface logo */
footer .footer-brand-logo,
.register-story .register-brand img {
    content: url("/images/branding/carmen-scientific-press-logo-dark.png") !important;
    object-fit: contain !important;
}

/* Identity-page sizing */
body.identity-page .site-header .brand-icon {
    width: min(230px, 60vw) !important;
    height: auto !important;
    max-height: 72px !important;
}

.register-story .register-brand img {
    display: block !important;
    width: min(270px, 82%) !important;
    height: auto !important;
}

footer .footer-brand-logo {
    width: min(280px, 76vw) !important;
    height: auto !important;
}

/* CARMEN_IDENTITY_BRANDING_R6_R4_END */

/* CARMEN_FOOTER_LOGO_CONTEXT_R6_R5_BEGIN */
/*
  Footer branding follows the actual footer surface:
  - standard dark footer -> approved transparent white-wordmark logo
  - Identity white footer -> approved light-background logo
*/
footer .footer-brand-logo {
    content: url("/images/branding/carmen-scientific-press-logo-dark.png") !important;
}

body.identity-page footer .footer-brand-logo {
    content: url("/images/branding/carmen-scientific-press-logo-light.png") !important;
}
/* CARMEN_FOOTER_LOGO_CONTEXT_R6_R5_END */

/* CARMEN ACCOUNT DESIGN SYSTEM R11 BEGIN */
/* Canonical authenticated visual language: Account section. */

/* Shared authenticated application width: generous desktop margins without compression. */
body.identity-page .carmen-route-shell.carmen-route-shell--account,
body:has(.dashboard-shell) .account-hero,
body:has(.dashboard-shell) .dashboard-shell {
    box-sizing: border-box !important;
    width: min(calc(100% - 64px), 1520px) !important;
    max-width: 1520px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Account routes retain the regular authenticated header/menu. */
body.identity-page:has(.carmen-route-shell--account) .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 78px !important;
    height: 78px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 5vw !important;
    background: rgba(246,243,237,.96) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: none !important;
}
body.identity-page:has(.carmen-route-shell--account) .site-header .brand,
body.identity-page:has(.carmen-route-shell--account) .site-header .brand-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .7rem !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}
body.identity-page:has(.carmen-route-shell--account) .site-header .brand-icon {
    content: url('/images/branding/carmen-scientific-press-logo-light.png') !important;
    display: block !important;
    width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    max-height: 46px !important;
    flex: 0 0 46px !important;
    object-fit: contain !important;
}
body.identity-page:has(.carmen-route-shell--account) .site-header .brand-name {
    display: inline !important;
    font-weight: 700 !important;
    letter-spacing: .015em !important;
    line-height: 1.1 !important;
}
body.identity-page:has(.carmen-route-shell--account) .site-header nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 22px !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
body.identity-page:has(.carmen-route-shell--account) .site-header nav a,
body.identity-page:has(.carmen-route-shell--account) .site-header nav button {
    font-size: .94rem !important;
}

/* ---------- Account: canonical visual language ---------- */
body.identity-page .carmen-route-shell.carmen-route-shell--account {
    margin-top: 32px !important;
    margin-bottom: 64px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.carmen-account-center{display:grid;gap:24px;width:100%;min-width:0;color:#172330}
.carmen-account-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:32px 34px;border:1px solid #d7e0e7;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f7f9fa 100%);box-shadow:0 14px 34px rgba(16,38,56,.06)}
.carmen-account-kicker,.carmen-account-eyebrow{display:block;margin:0 0 8px;color:#8f1f45;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}
.carmen-account-hero h1{margin:0;color:#13283a;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.02;letter-spacing:-.03em}
.carmen-account-hero p{max-width:680px;margin:14px 0 0;color:#5f7080;font-size:15px;line-height:1.65}
.carmen-account-security-badge{flex:0 0 auto;min-width:210px;padding:15px 17px;border:1px solid #d7e0e7;border-radius:14px;background:#fff}
.carmen-account-security-badge span,.carmen-account-security-badge strong{display:block}.carmen-account-security-badge span{color:#6d7c89;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.carmen-account-security-badge strong{margin-top:5px;color:#173a5e;font-size:16px}.carmen-account-security-badge.is-enabled{border-color:#b9d8c5;background:#f4fbf6}.carmen-account-security-badge.is-enabled strong{color:#26633c}.carmen-account-security-badge.is-advisory{border-color:#e2c8a4;background:#fffaf2}.carmen-account-security-badge.is-advisory strong{color:#80521e}
.carmen-account-status{padding:14px 16px;border:1px solid #bcd9c8;border-radius:12px;background:#f3faf5;color:#2c6541;font-size:14px;font-weight:700}
.carmen-account-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.carmen-account-nav-card{position:sticky;top:96px;padding:18px;border:1px solid #d7e0e7;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(16,38,56,.05)}
.carmen-account-nav-heading{padding:4px 8px 13px;color:#6b7a87;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.carmen-account-nav{display:grid;gap:5px}.carmen-account-nav a{display:block;padding:11px 12px;border-radius:10px;color:#30465a;font-size:14px;font-weight:700;text-decoration:none}.carmen-account-nav a:hover{background:#f3f6f8;color:#163f61}.carmen-account-nav a.is-active{background:#173f63;color:#fff}
.carmen-account-content{display:grid;gap:20px;min-width:0}
.carmen-account-panel{padding:28px;border:1px solid #d7e0e7;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(16,38,56,.05)}
.carmen-account-panel--critical{border-color:#e2c5cc;background:#fffafb}.carmen-account-panel--summary{background:#fbfcfd}
.carmen-account-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.carmen-account-panel-heading h2{margin:0;color:#172f44;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3vw,34px);font-weight:500;line-height:1.08;letter-spacing:-.02em}
.carmen-account-state{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 10px;border-radius:999px;background:#f2f4f6;color:#536473;font-size:11px;font-weight:800;white-space:nowrap}.carmen-account-state.is-good{background:#edf8f1;color:#2e6b45}.carmen-account-state.is-warning{background:#fff5e8;color:#815521}
.carmen-account-copy{max-width:72ch;margin:0;color:#5f7080;font-size:14px;line-height:1.7}
.carmen-account-form{display:grid;gap:20px}.carmen-account-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.carmen-account-field{display:grid;gap:7px}.carmen-account-field label{color:#34495c;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.carmen-account-field input{box-sizing:border-box;width:100%;min-height:50px;margin:0;padding:12px 14px;border:1px solid #c7d2db;border-radius:8px;background:#fff;color:#172330;font:inherit;font-size:14px;box-shadow:none}.carmen-account-field input:focus{outline:none;border-color:#2e6f9a;box-shadow:0 0 0 3px rgba(46,111,154,.12)}.carmen-account-field input:disabled{background:#f3f6f8;color:#62717e}.carmen-account-field small{color:#778591;font-size:12px;line-height:1.45}
.carmen-account-validation{color:#9a2744;font-size:13px}.carmen-account-validation:empty{display:none}
.carmen-account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}.carmen-account-primary,.carmen-account-secondary,.carmen-account-danger{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:9px;font:inherit;font-size:13px;font-weight:800;line-height:1.2;text-decoration:none!important;cursor:pointer}.carmen-account-primary{border:1px solid #173f63!important;background:#173f63!important;color:#fff!important}.carmen-account-primary:hover{background:#10334f!important}.carmen-account-secondary{border:1px solid #bcc9d3!important;background:#fff!important;color:#294257!important}.carmen-account-secondary:hover{background:#f5f7f8!important}.carmen-account-danger{border:1px solid #a33b55!important;background:#fff!important;color:#8f1f45!important}.carmen-account-danger:hover{background:#fff2f5!important}
.carmen-account-inline-form{margin:22px 0 0!important;max-width:none!important}.carmen-account-muted-action{display:inline-block;margin-top:22px;color:#788692;font-size:13px}
.carmen-account-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.carmen-account-summary-item{padding:16px;border:1px solid #e0e7ec;border-radius:12px;background:#fff}.carmen-account-summary-item span,.carmen-account-summary-item strong,.carmen-account-summary-item small{display:block}.carmen-account-summary-item span{color:#6d7c89;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.carmen-account-summary-item strong{margin-top:6px;color:#183b5b;font-size:16px}.carmen-account-summary-item small{margin-top:5px;color:#74828e;font-size:11px;line-height:1.45}
.carmen-account-role-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.carmen-account-role-list span{padding:7px 10px;border-radius:999px;background:#eef3f7;color:#31516b;font-size:11px;font-weight:800}

/* ---------- Dashboard transformed into the Account visual language ---------- */
body:has(.dashboard-shell){background:#f3f6f8 !important}
body:has(.dashboard-shell) main{background:#f3f6f8 !important;padding:1px 0 1px !important}
body:has(.dashboard-shell) .account-hero{
    min-height:0 !important;
    margin-top:32px !important;
    margin-bottom:24px !important;
    padding:32px 38px !important;
    align-items:flex-end !important;
    border:1px solid #d7e0e7 !important;
    border-radius:22px !important;
    background:linear-gradient(135deg,#ffffff 0%,#f7f9fa 100%) !important;
    color:#172330 !important;
    box-shadow:0 14px 34px rgba(16,38,56,.06) !important;
}
body:has(.dashboard-shell) .account-hero .eyebrow{color:#8f1f45 !important;font-size:11px !important;letter-spacing:.13em !important}
body:has(.dashboard-shell) .account-hero h1{
    margin:.12em 0 !important;
    color:#13283a !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(38px,4.4vw,64px) !important;
    font-weight:500 !important;
    line-height:1.02 !important;
    letter-spacing:-.03em !important;
}
body:has(.dashboard-shell) .account-lede{max-width:780px !important;color:#5f7080 !important;font-size:15px !important;line-height:1.65 !important}
body:has(.dashboard-shell) .account-security-summary{gap:10px !important}
body:has(.dashboard-shell) .status-chip{
    border:1px solid #d7e0e7 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#405466 !important;
    padding:8px 11px !important;
    font-size:11px !important;
}
body:has(.dashboard-shell) .status-chip.good{border-color:#b9d8c5 !important;background:#edf8f1 !important;color:#2e6b45 !important}
body:has(.dashboard-shell) .status-chip.warn{border-color:#e2c8a4 !important;background:#fff5e8 !important;color:#815521 !important}

body:has(.dashboard-shell) .dashboard-shell{
    display:grid !important;
    grid-template-columns:250px minmax(0,1fr) !important;
    gap:24px !important;
    min-height:0 !important;
    margin-top:0 !important;
    margin-bottom:64px !important;
    background:transparent !important;
}
body:has(.dashboard-shell) .dashboard-sidebar{
    position:sticky !important;
    top:96px !important;
    align-self:start !important;
    padding:18px !important;
    border:1px solid #d7e0e7 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 12px 28px rgba(16,38,56,.05) !important;
}
body:has(.dashboard-shell) .dashboard-profile{gap:11px !important;padding:4px 8px 17px !important;border-bottom:1px solid #e0e7ec !important}
body:has(.dashboard-shell) .avatar-monogram{width:38px !important;height:38px !important;background:#173f63 !important;font-size:1.05rem !important}
body:has(.dashboard-shell) .dashboard-profile strong{color:#172330 !important;font-size:13px !important}
body:has(.dashboard-shell) .dashboard-profile small{color:#778591 !important;font-size:11px !important}
body:has(.dashboard-shell) .dashboard-nav{display:grid !important;gap:5px !important;margin-top:16px !important}
body:has(.dashboard-shell) .dashboard-nav a{
    display:block !important;
    padding:11px 12px !important;
    border:0 !important;
    border-left:0 !important;
    border-radius:10px !important;
    color:#30465a !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}
body:has(.dashboard-shell) .dashboard-nav a:hover{background:#f3f6f8 !important;color:#163f61 !important}
body:has(.dashboard-shell) .dashboard-nav a.active{background:#173f63 !important;color:#fff !important;border-left:0 !important}
body:has(.dashboard-shell) .dashboard-content{padding:0 !important;min-width:0 !important}
body:has(.dashboard-shell) .dashboard-metrics{gap:18px !important;margin-bottom:20px !important}
body:has(.dashboard-shell) .dashboard-metric-card,
body:has(.dashboard-shell) .dashboard-panel{
    border:1px solid #d7e0e7 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 12px 28px rgba(16,38,56,.05) !important;
}
body:has(.dashboard-shell) .dashboard-metric-card{padding:22px !important}
body:has(.dashboard-shell) .dashboard-metric-card span,
body:has(.dashboard-shell) .dashboard-metric-card small{color:#778591 !important}
body:has(.dashboard-shell) .dashboard-metric-card strong{color:#172f44 !important;font-size:2rem !important}
body:has(.dashboard-shell) .dashboard-panel{position:relative !important;padding:28px !important;margin-bottom:20px !important;overflow:hidden !important}
body:has(.dashboard-shell) .dashboard-panel h2{color:#172f44 !important;font-family:Georgia,"Times New Roman",serif !important;font-size:clamp(25px,3vw,34px) !important;font-weight:500 !important;line-height:1.08 !important;letter-spacing:-.02em !important}
body:has(.dashboard-shell) .dashboard-panel p{color:#5f7080 !important;font-size:14px !important;line-height:1.7 !important}
body:has(.dashboard-shell) .dashboard-panel-accent{border-top:1px solid #d7e0e7 !important}
body:has(.dashboard-shell) .dashboard-panel-accent::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:#8f1f45}
body:has(.dashboard-shell) .role-chip{border:0 !important;border-radius:999px !important;background:#eef3f7 !important;color:#31516b !important;font-size:11px !important;padding:7px 10px !important}
body:has(.dashboard-shell) .workspace-grid>div{border:1px solid #e0e7ec !important;border-radius:12px !important;background:#fbfcfd !important;padding:16px !important}
body:has(.dashboard-shell) .workspace-grid strong{color:#183b5b !important}
body:has(.dashboard-shell) .workspace-grid span{color:#74828e !important}
body:has(.dashboard-shell) .dashboard-actions .button{border-radius:9px !important}

@media(max-width:980px){
    body.identity-page .carmen-route-shell.carmen-route-shell--account,
    body:has(.dashboard-shell) .account-hero,
    body:has(.dashboard-shell) .dashboard-shell{width:min(calc(100% - 32px),1520px)!important}
    .carmen-account-layout{grid-template-columns:1fr}.carmen-account-nav-card{position:static}.carmen-account-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.carmen-account-summary-grid{grid-template-columns:1fr}.carmen-account-hero{align-items:flex-start;flex-direction:column}.carmen-account-security-badge{min-width:0;width:100%}
    body:has(.dashboard-shell) .account-hero{align-items:flex-start!important;flex-direction:column!important}
    body:has(.dashboard-shell) .account-security-summary{justify-content:flex-start!important}
    body:has(.dashboard-shell) .dashboard-shell{grid-template-columns:1fr!important}
    body:has(.dashboard-shell) .dashboard-sidebar{position:static!important}
    body:has(.dashboard-shell) .dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.identity-page:has(.carmen-route-shell--account) .site-header{height:auto!important;min-height:78px!important;align-items:flex-start!important;padding-top:18px!important;padding-bottom:18px!important}
    body.identity-page:has(.carmen-route-shell--account) .site-header nav{flex-wrap:wrap!important}
}
@media(max-width:620px){
    body.identity-page .carmen-route-shell.carmen-route-shell--account,
    body:has(.dashboard-shell) .account-hero,
    body:has(.dashboard-shell) .dashboard-shell{width:min(calc(100% - 16px),100%)!important;max-width:100%!important}
    body.identity-page .carmen-route-shell.carmen-route-shell--account{margin-top:16px!important;margin-bottom:40px!important}
    .carmen-account-hero,.carmen-account-panel{padding:22px 18px;border-radius:15px}.carmen-account-nav-card{padding:14px;border-radius:15px}.carmen-account-nav{grid-template-columns:1fr}.carmen-account-panel-heading{align-items:flex-start;flex-direction:column}.carmen-account-field-grid{grid-template-columns:1fr}.carmen-account-actions{align-items:stretch;flex-direction:column}.carmen-account-primary,.carmen-account-secondary,.carmen-account-danger{width:100%}
    body:has(.dashboard-shell) .account-hero{margin-top:16px!important;padding:22px 18px!important;border-radius:15px!important}
    body:has(.dashboard-shell) .dashboard-shell{margin-bottom:40px!important}
    body:has(.dashboard-shell) .dashboard-sidebar,body:has(.dashboard-shell) .dashboard-metric-card,body:has(.dashboard-shell) .dashboard-panel{border-radius:15px!important}
    body:has(.dashboard-shell) .dashboard-nav{grid-template-columns:1fr!important}
    body.identity-page:has(.carmen-route-shell--account) .site-header .brand-icon{width:40px!important;max-width:40px!important;height:40px!important;max-height:40px!important;flex-basis:40px!important}
}
/* CARMEN ACCOUNT DESIGN SYSTEM R11 END */

/* CARMEN CLEAN SITE STANDARD R12 BEGIN */
/* Canonical visual system: clean light shell, Account-style authenticated UI, compact white footer. */

/* --------------------------------------------------------------------------
   Global chrome: one header and one footer treatment site-wide.
   -------------------------------------------------------------------------- */
.site-header {
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid #d7e0e7 !important;
    box-shadow: none !important;
}
.site-header .brand-name {
    color: #172330 !important;
}
.site-header nav,
.site-header nav a,
.site-header nav button {
    color: #243746 !important;
}

footer {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 30px 32px 26px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    background: #ffffff !important;
    border-top: 1px solid #d7e0e7 !important;
    color: #6c7a86 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}
footer .footer-brand {
    margin: 0 !important;
}
footer .footer-brand-logo,
body.identity-page footer .footer-brand-logo {
    content: url('/images/branding/carmen-scientific-press-logo-light.png') !important;
    display: block !important;
    width: 150px !important;
    max-width: 48vw !important;
    height: auto !important;
    margin: 0 auto 4px !important;
    object-fit: contain !important;
}
footer .footer-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px 18px !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
}
footer .footer-links a {
    color: #526472 !important;
    text-decoration: none !important;
}
footer .footer-links a:hover,
footer .footer-links a:focus-visible {
    color: #173f63 !important;
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   Authenticated canvas: Dashboard and Account share the same neutral surface.
   -------------------------------------------------------------------------- */
body:has(.dashboard-shell),
body.identity-page:has(.carmen-route-shell--account) {
    background: #f3f6f8 !important;
}
body:has(.dashboard-shell) main,
body.identity-page:has(.carmen-route-shell--account) main,
body.identity-page:has(.carmen-route-shell--account) main.identity-main {
    background: #f3f6f8 !important;
}

/* --------------------------------------------------------------------------
   Custom Account pages (Profile and Two-factor authentication): remove the
   Microsoft Identity Manage wrapper that duplicates the CarMen hero/sidebar.
   This leaves the CarMen Account design as the only visible navigation system.
   -------------------------------------------------------------------------- */
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > h1,
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div > h2,
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div > hr,
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div > .row > .col-md-3 {
    display: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div > .row {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:has(.carmen-account-center) > div > .row > .col-md-9 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Microsoft-provided Manage subsections (Email, Password, Personal data,
   authenticator/recovery pages): retain their functionality, but make their
   outer layout visually consistent with the CarMen Account design.
   -------------------------------------------------------------------------- */
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > h1 {
    margin: 0 0 8px !important;
    color: #172f44 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    font-weight: 500 !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > h2 {
    margin: 0 0 22px !important;
    color: #6d7c89 !important;
    font-family: Inter, 'Segoe UI', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > hr {
    display: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row {
    display: grid !important;
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: start !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 {
    position: sticky !important;
    top: 96px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid #d7e0e7 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(16,38,56,.05) !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 ul,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav {
    display: grid !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 a,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav-link {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #30465a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 a:hover,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav-link:hover {
    background: #f3f6f8 !important;
    color: #163f61 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 a.active,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav-link.active {
    background: #173f63 !important;
    color: #ffffff !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid #d7e0e7 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(16,38,56,.05) !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 h1,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 h2,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 h3 {
    color: #172f44 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 h2 {
    margin-top: 0 !important;
    font-size: clamp(25px, 3vw, 34px) !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 p {
    color: #5f7080 !important;
    line-height: 1.65 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 label {
    color: #34495c !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 input,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 select,
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid #c7d2db !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #172330 !important;
    box-shadow: none !important;
}
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 button:not(.nav-logout-button),
body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 .btn-primary {
    min-height: 42px !important;
    padding: 10px 15px !important;
    border: 1px solid #173f63 !important;
    border-radius: 9px !important;
    background: #173f63 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Keep shared authenticated page widths aligned. R11 establishes 1520px. */
body.identity-page .carmen-route-shell.carmen-route-shell--account,
body:has(.dashboard-shell) .account-hero,
body:has(.dashboard-shell) .dashboard-shell {
    box-sizing: border-box !important;
    width: min(calc(100% - 64px), 1520px) !important;
    max-width: 1520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 980px) {
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row {
        grid-template-columns: 1fr !important;
    }
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 {
        position: static !important;
    }
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 ul,
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width: 620px) {
    footer {
        padding: 24px 16px 22px !important;
    }
    footer .footer-brand-logo,
    body.identity-page footer .footer-brand-logo {
        width: 132px !important;
        max-width: 58vw !important;
    }
    body.identity-page .carmen-route-shell.carmen-route-shell--account,
    body:has(.dashboard-shell) .account-hero,
    body:has(.dashboard-shell) .dashboard-shell {
        width: min(calc(100% - 16px),100%) !important;
        max-width: 100% !important;
    }
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 ul,
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-3 .nav {
        grid-template-columns: 1fr !important;
    }
    body.identity-page .carmen-route-shell.carmen-route-shell--account:not(:has(.carmen-account-center)) > div > .row > .col-md-9 {
        padding: 22px 18px !important;
        border-radius: 15px !important;
    }
}
/* CARMEN CLEAN SITE STANDARD R12 END */

/* CARMEN MANAGE NAV DEDUP R13 BEGIN */
/*
   Custom CarMen Manage pages (Profile and Two-factor authentication) already
   render their own left navigation card. ASP.NET Core Identity also renders
   its default Manage navigation in the surrounding RCL layout. Hide only that
   duplicate wrapper when a CarMen custom Manage page is present.
*/
body.identity-page:has(.carmen-account-center)
.carmen-route-shell.carmen-route-shell--account
.col-md-3:has(ul.nav-pills),
body.identity-page:has(.carmen-account-center)
.carmen-route-shell.carmen-route-shell--account
.col-md-3:has(ul.nav.flex-column),
body.identity-page:has(.carmen-account-center)
.carmen-route-shell.carmen-route-shell--account
.col-md-3:has(a[href*="/Identity/Account/Manage"]) {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.identity-page:has(.carmen-account-center)
.carmen-route-shell.carmen-route-shell--account
.col-md-9:has(.carmen-account-center) {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Direct safety net for the default Identity nav itself. This is scoped to
   custom CarMen Manage pages, so built-in Email/Password/Personal Data pages
   keep their navigation card. */
body.identity-page:has(.carmen-account-center)
.carmen-route-shell.carmen-route-shell--account
ul.nav.nav-pills.flex-column {
    display: none !important;
}
/* CARMEN MANAGE NAV DEDUP R13 END */

/* CARMEN HEADER WHITE STANDARD R16 BEGIN */
/* Canonical site header: solid white everywhere, including Identity/Account routes. */
.site-header,
body.identity-page:has(.carmen-route-shell--account) .site-header,
body:has(.dashboard-shell) .site-header {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-bottom: 1px solid #d7e0e7 !important;
    box-shadow: none !important;
}
/* CARMEN HEADER WHITE STANDARD R16 END */

/* CARMEN STICKY FOOTER STANDARD R17 BEGIN */
/*
   Site-wide footer geometry standard.
   The footer is NOT position:fixed; instead the document uses a sticky-footer
   flex layout so short pages keep a stable visual depth while long pages push
   the footer down naturally without overlap.
*/

:root {
    --carmen-content-floor: 760px;
    --carmen-footer-gap: 48px;
}

html {
    min-height: 100% !important;
}

body {
    min-height: 100vh !important;
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column !important;
}

body > .site-header,
body > header.site-header {
    flex: 0 0 auto !important;
}

body > main,
body > main.identity-main {
    box-sizing: border-box !important;
    flex: 1 0 auto !important;
    width: 100% !important;
    min-height: var(--carmen-content-floor) !important;
}

body > footer,
body > footer.site-footer {
    position: static !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    margin-top: var(--carmen-footer-gap) !important;
}

/* On short desktop pages, the flex main region absorbs available viewport
   height. The 760px floor prevents the footer from climbing immediately under
   very small bodies on taller displays. */
@supports (height: 100dvh) {
    body {
        min-height: 100dvh !important;
    }
}

@media (max-width: 900px) {
    :root {
        --carmen-content-floor: 620px;
        --carmen-footer-gap: 36px;
    }
}

@media (max-width: 600px) {
    :root {
        --carmen-content-floor: 520px;
        --carmen-footer-gap: 28px;
    }
}

/* CARMEN STICKY FOOTER STANDARD R17 END */

/* CARMEN HEADER CREATE ACCOUNT CONTRAST R18 BEGIN */
/* Keep CTA text legible against the maroon header button. */
.site-header nav a.button,
.site-header nav a.button:link,
.site-header nav a.button:visited,
.site-header nav a.button:hover,
.site-header nav a.button:focus,
.site-header nav a.button:focus-visible,
.site-header nav a.button:active,
.site-header nav a[href="/Identity/Account/Register"],
.site-header nav a[href="/Identity/Account/Register"]:visited,
.site-header nav a[href="/Identity/Account/Register"]:hover,
.site-header nav a[href="/Identity/Account/Register"]:focus-visible,
.site-header nav a[href="/Identity/Account/Register"]:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}
/* CARMEN HEADER CREATE ACCOUNT CONTRAST R18 END */



/* ===== CARMEN PLATFORM FOUNDATION R25 BEGIN ===== */
.admin-r21-shell{box-sizing:border-box;width:min(calc(100% - 64px),1520px);margin:32px auto 72px;color:#172330}
.admin-r21-hero,.admin-r21-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 32px;border:1px solid #d7e0e7;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(16,38,56,.05);margin-bottom:22px}
.admin-r21-hero h1,.admin-r21-pagehead h1{margin:0;color:#172f44;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-.03em;line-height:1.03}
.admin-r21-hero p,.admin-r21-pagehead p{max-width:760px;margin:12px 0 0;color:#5f7080;line-height:1.65}
.admin-r21-security,.admin-r21-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.admin-r21-security{padding:8px 12px;background:#edf8f1;color:#2e6b45}.admin-r21-pill{padding:6px 9px;margin:2px;background:#eef3f7;color:#31516b}.admin-r21-pill.good{background:#edf8f1;color:#2e6b45}.admin-r21-pill.warn{background:#fff5e8;color:#815521}.admin-r21-pill.muted{background:#f0f2f4;color:#6e7b86}
.admin-r21-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.admin-r21-metrics article{padding:24px;border:1px solid #d7e0e7;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(16,38,56,.04)}.admin-r21-metrics span,.admin-r21-metrics small{display:block;color:#74828e}.admin-r21-metrics strong{display:block;margin:8px 0;color:#172f44;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:500}
.admin-r21-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.admin-r21-module{display:block;padding:28px;border:1px solid #d7e0e7;border-radius:18px;background:#fff;color:#172330;text-decoration:none!important;box-shadow:0 12px 28px rgba(16,38,56,.05)}.admin-r21-module:hover{border-color:#aebdca;transform:translateY(-1px)}.admin-r21-module>span{color:#8f1f45;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-r21-module h2{margin:9px 0;color:#172f44;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:500}.admin-r21-module p{margin:0;color:#5f7080;line-height:1.65}
.admin-r21-search{margin:0 0 20px;padding:20px;border:1px solid #d7e0e7;border-radius:16px;background:#fff}.admin-r21-search label{display:block;margin-bottom:8px;color:#34495c;font-size:12px;font-weight:800;text-transform:uppercase}.admin-r21-search>div{display:flex;gap:10px}.admin-r21-search input{box-sizing:border-box;min-height:44px;min-width:min(520px,70vw);padding:10px 13px;border:1px solid #c7d2db;border-radius:8px;background:#fff;color:#172330;font:inherit}
.admin-r21-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-r21-role-form{margin-top:22px}.admin-r21-head-actions,.admin-r21-actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-r21-actions-cell form{margin:0}.admin-r21-form-card{max-width:1040px;margin:0 auto}.admin-r21-checks{display:flex;gap:22px;flex-wrap:wrap}.admin-r21-checks label{display:flex;align-items:center;gap:8px;font-weight:700}.carmen-account-field textarea,.carmen-account-field select{box-sizing:border-box;width:100%;margin:0;padding:12px 14px;border:1px solid #c7d2db;border-radius:8px;background:#fff;color:#172330;font:inherit;font-size:14px}.carmen-account-field textarea:focus,.carmen-account-field select:focus{outline:none;border-color:#2e6f9a;box-shadow:0 0 0 3px rgba(46,111,154,.12)}
@media(max-width:980px){.admin-r21-grid,.admin-r21-metrics,.admin-r21-two-column{grid-template-columns:1fr}.admin-r21-hero,.admin-r21-pagehead{align-items:flex-start;flex-direction:column}.admin-r21-shell{width:min(calc(100% - 32px),1520px)}}
@media(max-width:620px){.admin-r21-shell{width:min(calc(100% - 16px),100%);margin-top:16px}.admin-r21-hero,.admin-r21-pagehead{padding:22px 18px;border-radius:15px}.admin-r21-search>div{flex-direction:column}.admin-r21-search input{min-width:0;width:100%}}
/* ===== CARMEN PLATFORM FOUNDATION R25 END ===== */

/* ===== CarMen MFA authenticator QR R29 ===== */
.carmen-authenticator-grid{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
    gap:24px;
    align-items:stretch;
    margin-top:24px;
}
.carmen-authenticator-qr-card,
.carmen-authenticator-manual{
    min-width:0;
    padding:22px;
    border:1px solid #dce4ea;
    border-radius:15px;
    background:#fbfcfd;
}
.carmen-authenticator-qr-card{
    display:grid;
    justify-items:center;
    align-content:start;
    gap:14px;
    text-align:center;
}
.carmen-authenticator-qr-frame{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(100%,300px);
    aspect-ratio:1/1;
    padding:18px;
    border:1px solid #cfd9e1;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 24px rgba(16,38,56,.06);
}
.carmen-authenticator-qr-frame img{
    display:block;
    width:100%;
    height:auto;
    max-width:264px;
    image-rendering:pixelated;
}
.carmen-authenticator-qr-card p{
    max-width:42ch;
    margin:0;
    color:#697987;
    font-size:12px;
    line-height:1.6;
}
.carmen-authenticator-manual h3{
    margin:0 0 12px;
    color:#172f44;
    font-family:Georgia,"Times New Roman",serif;
    font-size:26px;
    font-weight:500;
}
.carmen-authenticator-manual p{
    margin:0 0 18px;
    color:#5f7080;
    font-size:14px;
    line-height:1.7;
}
.carmen-authenticator-key{
    box-sizing:border-box;
    width:100%;
    margin:8px 0 16px;
    padding:16px;
    border:1px solid #b9c8d3;
    border-radius:10px;
    background:#fff;
    color:#173f63;
    font-family:Consolas,"Courier New",monospace;
    font-size:15px;
    font-weight:700;
    line-height:1.6;
    letter-spacing:.08em;
    overflow-wrap:anywhere;
    user-select:all;
}
.carmen-authenticator-manual .carmen-authenticator-secret-note{
    margin:0;
    padding:12px 14px;
    border-left:3px solid #8f1f45;
    border-radius:0 8px 8px 0;
    background:#fff7f9;
    color:#6f4853;
    font-size:12px;
}
.carmen-authenticator-verify-form{
    margin-top:24px;
    max-width:620px;
}
.carmen-authenticator-code-field{
    max-width:360px;
}
.carmen-authenticator-code-field input{
    font-family:Consolas,"Courier New",monospace;
    font-size:22px;
    font-weight:700;
    letter-spacing:.16em;
}
@media (max-width:900px){
    .carmen-authenticator-grid{grid-template-columns:1fr}
    .carmen-authenticator-qr-card{justify-items:start;text-align:left}
}
@media (max-width:560px){
    .carmen-authenticator-qr-card,
    .carmen-authenticator-manual{padding:18px}
    .carmen-authenticator-qr-frame{width:100%;max-width:280px;padding:14px}
    .carmen-authenticator-code-field{max-width:none}
}
/* ===== End CarMen MFA authenticator QR R29 ===== */
/* CarMen Product Image R36 */
.admin-product-cover-field {
    align-self: start;
}
.admin-product-cover-preview {
    display: grid;
    gap: .7rem;
    justify-items: start;
    margin: .35rem 0 .8rem;
}
.admin-product-cover-preview img {
    display: block;
    width: min(160px, 100%);
    height: auto;
    border: 1px solid rgba(15, 39, 64, .16);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 39, 64, .09);
}
.admin-product-cover-remove {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .92rem;
}
.admin-product-catalog-item {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 220px;
}
.admin-product-catalog-thumb {
    display: block;
    width: 48px;
    height: 68px;
    object-fit: cover;
    border: 1px solid rgba(15, 39, 64, .14);
    border-radius: 6px;
    background: #fff;
}
/* CarMen Catalog Details Cover R37 */
.catalog-detail-cover-frame--image {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f7f5f0;
}
.catalog-detail-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
/* CarMen Admin Order Detail R43 */
.admin-order-link {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.admin-order-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.admin-order-detail-card,
.admin-order-section {
    border: 1px solid rgba(15, 39, 64, .14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 39, 64, .05);
}
.admin-order-detail-card {
    padding: 1.1rem 1.2rem;
}
.admin-order-detail-card h2,
.admin-order-section h2 {
    margin: 0;
}
.admin-order-detail-list {
    display: grid;
    gap: .55rem;
    margin: .9rem 0 0;
}
.admin-order-detail-list > div {
    display: grid;
    grid-template-columns: minmax(110px, .8fr) minmax(0, 1.7fr);
    gap: .8rem;
    padding-top: .55rem;
    border-top: 1px solid rgba(15, 39, 64, .08);
}
.admin-order-detail-list dt {
    font-weight: 700;
}
.admin-order-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.admin-order-money dd {
    text-align: right;
}
.admin-order-section {
    margin-top: 1rem;
    padding: 1rem;
}
.admin-order-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}
.admin-order-empty {
    padding: 1rem 0 .25rem;
}
@media (max-width: 800px) {
    .admin-order-detail-grid {
        grid-template-columns: 1fr;
    }
    .admin-order-detail-list > div {
        grid-template-columns: 1fr;
        gap: .2rem;
    }
    .admin-order-money dd {
        text-align: left;
    }
}
/* CarMen Cart R44 */
.product-purchase-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: .7rem;
}
.product-buy-now {
    background: #fff;
    color: #86153a;
    border: 1px solid rgba(134, 21, 58, .4);
}
.cart-inline-status {
    margin-top: .8rem;
    font-weight: 700;
}
.cart-r44-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
}
.cart-r44-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1rem;
}
.cart-r44-head h1 {
    margin: .15rem 0 .35rem;
}
.cart-r44-message,
.cart-r44-empty,
.cart-r44-summary,
.cart-r44-item {
    border: 1px solid rgba(15, 39, 64, .14);
    border-radius: 14px;
    background: #fff;
}
.cart-r44-message {
    padding: .85rem 1rem;
    margin-bottom: 1rem;
}
.cart-r44-message--error {
    border-color: rgba(134, 21, 58, .35);
}
.cart-r44-empty {
    padding: 2rem;
}
.cart-r44-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1rem;
    align-items: start;
}
.cart-r44-items {
    display: grid;
    gap: .8rem;
}
.cart-r44-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 170px 120px;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
}
.cart-r44-item--unavailable {
    opacity: .72;
}
.cart-r44-cover img,
.cart-r44-cover-placeholder {
    width: 72px;
    height: 102px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid rgba(15, 39, 64, .12);
    background: #f7f5f0;
}
.cart-r44-cover-placeholder {
    display: grid;
    place-items: center;
    font-size: .68rem;
    letter-spacing: .08em;
}
.cart-r44-item-copy h2 {
    margin: 0 0 .3rem;
    font-size: 1.15rem;
}
.cart-r44-meta,
.cart-r44-price,
.cart-r44-unavailable {
    margin-top: .25rem;
    font-size: .92rem;
}
.cart-r44-controls {
    display: grid;
    gap: .5rem;
}
.cart-r44-controls form:first-child {
    display: grid;
    gap: .4rem;
}
.cart-r44-controls input[type="number"] {
    width: 76px;
}
.cart-r44-remove {
    border: 0;
    background: transparent;
    padding: 0;
    color: #86153a;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}
.cart-r44-line-total {
    text-align: right;
}
.cart-r44-summary {
    position: sticky;
    top: 1rem;
    padding: 1.1rem;
}
.cart-r44-summary h2 {
    margin: .3rem 0 .1rem;
}
.cart-r44-summary-total {
    font-size: 1.6rem;
    font-weight: 800;
}
.cart-r44-checkout {
    width: 100%;
}
@media (max-width: 900px) {
    .cart-r44-layout {
        grid-template-columns: 1fr;
    }
    .cart-r44-summary {
        position: static;
    }
    .cart-r44-item {
        grid-template-columns: 72px minmax(0, 1fr);
    }
    .cart-r44-controls,
    .cart-r44-line-total {
        grid-column: 2;
        text-align: left;
    }
}
@media (max-width: 560px) {
    .cart-r44-head {
        align-items: start;
        flex-direction: column;
    }
    .cart-r44-item {
        grid-template-columns: 56px minmax(0, 1fr);
    }
    .cart-r44-cover img,
    .cart-r44-cover-placeholder {
        width: 56px;
        height: 80px;
    }
}

/* CARMEN_SITE_STANDARD_R57_BEGIN */
/*
   CarMen Scientific Press sitewide visual standard.
   Canonical reference: the editorial Books and services presentation.
   This layer intentionally standardizes page shell, typography, spacing,
   forms, cards, tables, notices and empty states without changing behavior.
*/

:root {
    --carmen-r57-navy: #071d3b;
    --carmen-r57-burgundy: #9e2749;
    --carmen-r57-ink: #0b1728;
    --carmen-r57-muted: #556276;
    --carmen-r57-paper: #ffffff;
    --carmen-r57-canvas: #f5f2eb;
    --carmen-r57-rule: #d8d2c8;
    --carmen-r57-soft: #f9f7f2;
    --carmen-r57-radius: 18px;
    --carmen-r57-content: 1040px;
    --carmen-r57-reading: 760px;
}

html {
    background: var(--carmen-r57-canvas);
}

body {
    background: var(--carmen-r57-canvas);
    color: var(--carmen-r57-ink);
}

/* One shared page shell for every MVC and Identity destination. */
main {
    box-sizing: border-box;
    width: min(var(--carmen-r57-content), calc(100% - 28px));
    min-height: 440px;
    margin: 14px auto 34px;
    padding: clamp(56px, 7vw, 88px) clamp(30px, 7vw, 82px) clamp(64px, 8vw, 96px);
    background: var(--carmen-r57-paper);
    border: 1px solid #dfe3e8;
    border-radius: var(--carmen-r57-radius);
    box-shadow: 0 18px 40px rgba(21, 31, 44, 0.07);
}

/* Remove competing route-level outer shells. Keep their inner content intact. */
main > .carmen-route-shell,
main > .carmen-route-shell--standard,
main > .page-shell,
main > .page-frame,
main > .content-shell,
main > .content-frame,
main > .commerce-page,
main > .cart-page,
main > .catalog-page,
main > .container,
main > .container-fluid {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Consistent editorial hierarchy. */
main h1 {
    max-width: 900px;
    margin: 0 0 24px;
    color: var(--carmen-r57-navy);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.65rem, 5.8vw, 4.05rem);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -0.025em;
}

main h2 {
    margin-top: 38px;
    margin-bottom: 14px;
    color: var(--carmen-r57-navy);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 400;
    line-height: 1.15;
}

main h3,
main h4 {
    color: var(--carmen-r57-navy);
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.2;
}

main p,
main li,
main label,
main td,
main th,
main input,
main select,
main textarea,
main button {
    line-height: 1.5;
}

main > p,
main header > p,
main .lede,
main .page-intro,
main .intro,
main .description {
    max-width: var(--carmen-r57-reading);
    color: var(--carmen-r57-muted);
}

main .eyebrow,
main .kicker,
main .page-eyebrow,
main .section-eyebrow,
main .product-type,
main .overline,
main [class*='eyebrow'] {
    display: block;
    margin: 0 0 10px;
    color: var(--carmen-r57-burgundy);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.19em;
    line-height: 1.2;
    text-transform: uppercase;
}

/* Forms and search surfaces. */
main form {
    max-width: 100%;
}

main label {
    display: block;
    margin-bottom: 7px;
    color: var(--carmen-r57-ink);
    font-weight: 650;
}

main input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
main select,
main textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--carmen-r57-ink);
    background: #fff;
    border: 1px solid var(--carmen-r57-rule);
    border-radius: 2px;
    font: inherit;
}

main textarea {
    min-height: 140px;
    resize: vertical;
}

main input:focus,
main select:focus,
main textarea:focus {
    outline: 2px solid rgba(158, 39, 73, 0.18);
    outline-offset: 1px;
    border-color: var(--carmen-r57-burgundy);
}

/* One button language. */
main .button,
main a.button,
main button,
main input[type='submit'],
main input[type='button'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    color: #fff;
    background: var(--carmen-r57-burgundy);
    border: 1px solid var(--carmen-r57-burgundy);
    border-radius: 4px;
    font: inherit;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

main .button.secondary,
main .button.outline,
main a.button.secondary,
main a.button.outline,
main .secondary-action {
    color: var(--carmen-r57-navy);
    background: #fff;
    border-color: #bcc5d0;
}

main .button:hover,
main button:hover,
main input[type='submit']:hover,
main input[type='button']:hover {
    filter: brightness(0.94);
}

/* Cards, panels, notices and empty states. */
main .card,
main .panel,
main .notice,
main .empty-state,
main .summary-card,
main .account-card,
main .admin-card,
main .product-card,
main .cart-card,
main .journal-card,
main [class*='empty-state'] {
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--carmen-r57-rule);
    border-radius: 0;
    box-shadow: none;
}

main .card,
main .panel,
main .notice,
main .empty-state,
main .summary-card,
main .account-card,
main .admin-card,
main .cart-card,
main [class*='empty-state'] {
    padding: 22px 24px;
}

/* Product and publication grids share the same rhythm. */
main .grid,
main .cards,
main .product-grid,
main .journal-grid,
main .catalog-grid {
    gap: 18px;
}

/* Tables use the same editorial rules as the catalog. */
main table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

main th,
main td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--carmen-r57-rule);
    text-align: left;
    vertical-align: top;
}

main th {
    color: var(--carmen-r57-navy);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Section dividers follow the Books page. */
main hr,
main .section-rule,
main .divider {
    height: 1px;
    margin: 38px 0;
    background: var(--carmen-r57-rule);
    border: 0;
}

/* Keep nested content from stretching unpredictably. */
main .reading-width,
main .prose,
main .legal-copy {
    max-width: var(--carmen-r57-reading);
}

/* Shared header/navigation polish, without changing route logic. */
.site-header {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
}

.site-header nav a,
.site-header .brand {
    text-decoration: none;
}

/* Identity pages inherit the same shell even when their internal UI adds wrappers. */
main .identity-shell,
main .manage-shell,
main .account-shell,
main .auth-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

@media (max-width: 760px) {
    main {
        width: calc(100% - 16px);
        margin: 8px auto 22px;
        padding: 38px 22px 52px;
        border-radius: 14px;
    }

    main h1 {
        font-size: clamp(2.2rem, 12vw, 3.1rem);
    }

    main .button,
    main a.button,
    main button,
    main input[type='submit'],
    main input[type='button'] {
        max-width: 100%;
    }

    main table {
        display: block;
        overflow-x: auto;
    }
}
/* CARMEN_SITE_STANDARD_R57_END */



/* CARMEN-PUBLISHING-PLATFORM-R80-R82 */
.catalog-taxonomy-shell{padding-bottom:10px}
.catalog-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px;background:var(--white);border:1px solid var(--line)}
.catalog-filter-panel label{display:grid;gap:7px;font-weight:700}
.catalog-filter-panel input,.catalog-filter-panel select,.publishing-form input,.publishing-form select,.publishing-form textarea,.publishing-inline-form input,.publishing-inline-form select{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:inherit}
.catalog-filter-actions{display:flex;align-items:end;gap:10px}
.catalog-taxonomy-chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.catalog-taxonomy-chips span,.publishing-status{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);background:#f1ede5;font-size:.78rem;font-weight:700}
.catalog-detail-taxonomy{display:grid;gap:13px;margin:22px 0}
.catalog-empty-state{grid-column:1/-1}
.publishing-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.publishing-workspace-card{display:flex;flex-direction:column;gap:14px}
.publishing-workspace-card .button{margin-top:auto;align-self:flex-start}
.publishing-muted{color:var(--muted);font-weight:700}
.publishing-shell{display:grid;gap:24px}
.publishing-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.publishing-copy-card{min-height:0}
.publishing-section{display:grid;gap:14px}
.publishing-section>h2{font-family:Georgia,serif;font-size:2rem;margin:0}
.publishing-table-wrap{overflow:auto;border:1px solid var(--line);background:var(--white)}
.publishing-table{width:100%;border-collapse:collapse;min-width:760px}
.publishing-table th,.publishing-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.publishing-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.publishing-table td small{display:block;color:var(--muted);margin-top:4px}
.publishing-form{max-width:920px;background:var(--white);border:1px solid var(--line);padding:28px}
.publishing-inline-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) auto;gap:14px;align-items:end;background:var(--white);border:1px solid var(--line);padding:18px}
.publishing-review-card,.publishing-decision-card{min-height:0}
.editorial-filter{grid-template-columns:minmax(220px,360px) auto}
@media(max-width:900px){
  .catalog-filter-panel{grid-template-columns:1fr 1fr}
  .publishing-workspace-grid,.publishing-summary-grid{grid-template-columns:1fr}
  .publishing-inline-form{grid-template-columns:1fr}
}
@media(max-width:620px){
  .catalog-filter-panel{grid-template-columns:1fr}
}


/* CARMEN-RATINGS-INTELLIGENCE-R83-R85 */
.rating-summary{display:flex;align-items:baseline;gap:9px;margin:8px 0 12px}
.rating-summary strong{color:var(--accent);font-size:1.02rem}
.rating-summary span{color:var(--muted);font-size:.86rem}
.rating-summary--large strong{font-size:1.35rem}
.catalog-review-section{border-top:1px solid var(--line)}
.review-form{display:grid;gap:14px;max-width:820px;background:var(--white);border:1px solid var(--line);padding:24px;margin-bottom:28px}
.review-form label{display:grid;gap:7px;font-weight:700}
.review-form input,.review-form select,.review-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);font:inherit;background:#fff}
.review-list{display:grid;gap:14px}
.review-card{min-height:0}
.review-card-head,.moderation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.review-meta{display:flex;gap:16px;color:var(--muted);font-size:.84rem;margin:14px 0}
.verified-purchase{display:inline-flex;padding:5px 9px;background:#e7f2eb;border:1px solid #b9d4c2;color:#245b37;font-size:.78rem;font-weight:800}
.intelligence-recommendations{border-top:1px solid var(--line)}
.intelligence-explainer{max-width:900px;color:var(--muted)}
.recommendation-card{min-height:240px}
.intelligence-shell{display:grid;gap:24px}
.intelligence-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.intelligence-metrics article{background:#fff;border:1px solid var(--line);padding:22px}
.intelligence-metrics span,.intelligence-metrics small{display:block;color:var(--muted)}
.intelligence-metrics strong{display:block;font-family:Georgia,serif;font-size:2.2rem;font-weight:500;margin:8px 0}
.intelligence-privacy-card{min-height:0;border-top:4px solid var(--accent)}
.intelligence-subheading{margin-top:24px}
.moderation-card{min-height:0}
.moderation-actions{display:flex;gap:10px;flex-wrap:wrap}
.moderation-actions form{margin:0}
.intelligence-table{min-width:900px}
@media(max-width:900px){.intelligence-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.intelligence-metrics{grid-template-columns:1fr}.review-card-head,.moderation-card-head{display:grid}}


/* CARMEN-R87-C2-CREDENTIAL-CHECKBOX-LAYOUT */
.publishing-form input[type="checkbox"]{
    box-sizing:border-box;
    display:inline-block;
    width:1rem;
    min-width:1rem;
    max-width:1rem;
    height:1rem;
    min-height:1rem;
    padding:0;
    margin:.15rem .55rem 0 0;
    vertical-align:top;
    flex:0 0 auto;
}
.publishing-form label > input[type="checkbox"]{
    width:1rem;
    min-width:1rem;
    max-width:1rem;
}
/* CARMEN-R87-C2-CREDENTIAL-CHECKBOX-LAYOUT-END */

/* ===== CARMEN R90-D1C CUSTOMER ORDERS + COMPACT COVERS ===== */
.dashboard-metric-link {
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.dashboard-metric-link:hover,
.dashboard-metric-link:focus-visible {
    border-color: rgba(139, 35, 70, .42);
    box-shadow: 0 12px 34px rgba(25, 38, 50, .09);
    transform: translateY(-1px);
}
.dashboard-metric-link:focus-visible {
    outline: 3px solid rgba(63, 111, 150, .2);
    outline-offset: 2px;
}
.customer-order-items {
    display: grid;
    gap: .65rem;
    min-width: 220px;
}
.customer-order-item {
    display: flex;
    align-items: center;
    gap: .72rem;
    min-width: 0;
}
.customer-order-thumb-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 82px;
    overflow: hidden;
    border: 1px solid rgba(15, 39, 64, .13);
    border-radius: 5px;
    background: #fff;
}
.customer-order-thumb {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 52px !important;
    max-height: 76px !important;
    object-fit: contain !important;
    object-position: center !important;
}
.customer-order-item-copy {
    display: grid;
    gap: .24rem;
    min-width: 0;
}
.customer-order-item-copy strong {
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.customer-order-item-copy small {
    color: #6c7882;
}
@media (max-width: 650px) {
    .customer-order-thumb-frame {
        flex-basis: 50px;
        width: 50px;
        height: 70px;
    }
    .customer-order-thumb {
        max-width: 44px !important;
        max-height: 64px !important;
    }
}
/* ===== END CARMEN R90-D1C CUSTOMER ORDERS + COMPACT COVERS ===== */

/* ===== CARMEN R90-D2A PROPORTIONATE BOOK IMAGES ===== */
/* Keep product imagery supportive. Product copy, price, order state, and actions remain visually primary. */
.product-detail {
    grid-template-columns: minmax(132px, 156px) minmax(0, 1fr) !important;
    gap: clamp(28px, 5vw, 72px) !important;
    align-items: start !important;
}
.catalog-detail-cover-frame--image {
    width: 148px !important;
    height: 210px !important;
    max-width: 148px !important;
    max-height: 210px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}
.catalog-detail-cover-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 140px !important;
    max-height: 198px !important;
    object-fit: contain !important;
    object-position: center !important;
}
.customer-order-thumb-frame {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 66px !important;
}
.customer-order-thumb {
    width: auto !important;
    height: auto !important;
    max-width: 40px !important;
    max-height: 60px !important;
    object-fit: contain !important;
}
@media (max-width: 850px) {
    .product-detail {
        grid-template-columns: 1fr !important;
    }
    .catalog-detail-cover-frame--image {
        width: 112px !important;
        height: 158px !important;
        max-width: 112px !important;
        max-height: 158px !important;
        margin: 0 auto 18px !important;
    }
    .catalog-detail-cover-image {
        max-width: 105px !important;
        max-height: 149px !important;
    }
}
@media (max-width: 650px) {
    .customer-order-thumb-frame {
        flex-basis: 42px !important;
        width: 42px !important;
        height: 60px !important;
    }
    .customer-order-thumb {
        max-width: 36px !important;
        max-height: 54px !important;
    }
}
/* ===== END CARMEN R90-D2A PROPORTIONATE BOOK IMAGES ===== */

/* ===== CARMEN R90-D2C READER QUICK ACCESS ===== */
.customer-order-access-cell {
    min-width: 132px;
}
.reader-access-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: .28rem .58rem;
    margin-bottom: .55rem;
    background: #edf8f1;
    border: 1px solid #b8dfc4;
    color: #1d6533;
    font-size: .78rem;
    font-weight: 800;
}
.customer-order-access-cell .button {
    display: block;
    width: fit-content;
    margin-top: .25rem;
}
.customer-order-help-link {
    display: inline-block;
    margin-top: .45rem;
    font-size: .86rem;
    font-weight: 700;
}
.customer-order-no-digital {
    color: #7a8792;
    font-size: .86rem;
}
.reader-access-panel {
    border-top: 4px solid #a51f4e;
}
.reader-access-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.reader-access-heading h2 {
    margin-top: .15rem;
}
.reader-access-lead {
    max-width: 850px;
}
.reader-access-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 1rem 0;
}
.reader-access-steps {
    margin: 1rem 0 0;
    padding-left: 1.35rem;
    max-width: 920px;
}
.reader-access-steps li {
    margin-bottom: .7rem;
    line-height: 1.55;
}
.reader-access-note,
.reader-postpurchase-note,
.reader-staging-warning,
.reader-access-contract {
    border-radius: 10px;
    padding: .9rem 1rem;
    line-height: 1.55;
}
.reader-access-note,
.reader-postpurchase-note,
.reader-access-contract {
    background: #f5f8fb;
    border: 1px solid #d7e0e8;
}
.reader-postpurchase-note {
    margin-top: 1rem;
    max-width: 900px;
}
.reader-access-pagehead code,
.reader-download-section code,
.reader-access-steps code {
    font-size: .92em;
}
.reader-download-section {
    padding-top: 1.4rem;
}
.reader-download-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.reader-download-card {
    padding: 1.25rem;
}
.reader-download-card h2 {
    margin-top: .2rem;
}
.reader-download-card .button {
    margin-top: .5rem;
}
.reader-staging-warning {
    margin-top: 1rem;
    background: #fff8e8;
    border: 1px solid #ead59e;
    color: #614a0b;
}
.reader-access-contract {
    margin: 0 auto 2rem;
    max-width: 1100px;
}
@media (max-width: 760px) {
    .reader-download-grid {
        grid-template-columns: 1fr;
    }
    .reader-access-actions {
        align-items: stretch;
    }
    .reader-access-actions .button {
        width: 100%;
        text-align: center;
    }
}
/* ===== END CARMEN R90-D2C READER QUICK ACCESS ===== */
\n\n/* ===== CARMEN-R90-D2C-R2-BOOK-COVER-SIZE ===== */\n/* Preserve the original cover ratio and keep commerce text/actions dominant. */\n.catalog-detail-cover-frame.catalog-detail-cover-frame--image {\n    width: auto !important;\n    height: auto !important;\n    max-width: 1.50in !important;\n    max-height: 1.75in !important;\n    min-width: 0 !important;\n    min-height: 0 !important;\n    flex: 0 0 auto !important;\n    aspect-ratio: auto !important;\n}\n.catalog-detail-cover-image {\n    display: block !important;\n    width: auto !important;\n    height: auto !important;\n    max-width: 1.50in !important;\n    max-height: 1.75in !important;\n    object-fit: contain !important;\n    object-position: center !important;\n}\n/* Absolute safety ceiling if later layout rules are introduced. */\n.product-detail img.catalog-detail-cover-image {\n    max-width: 1.50in !important;\n    max-height: 1.75in !important;\n}\n/* ===== END CARMEN-R90-D2C-R2-BOOK-COVER-SIZE ===== */\n