/* Quiet, shared finishing layer. Existing pages, layouts and status meanings stay intact. */
#loginPage, .auth-page, #dashboardPage {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-optical-sizing: auto;
    --polish-ink: var(--l25-ink);
    --polish-muted: var(--l25-copy);
    --polish-line: var(--l25-line);
    --polish-accent: var(--l25-emerald);
    --polish-surface: var(--l25-mist);
}

/* A generated, original emblem with live type, readable at navigation size. */
#loginPage .l25-brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
#loginPage .l25-brand-emblem { display: block; width: 46px; height: 46px; flex: 0 0 auto; object-fit: contain; border-radius: 7px; }
#loginPage .l25-brand-copy { display: flex; flex-direction: column; gap: 5px; }
#loginPage .l25-brand-name { color: var(--polish-ink); font: 600 25px/.98 var(--l25-font-brand); letter-spacing: -.04em; }
#loginPage .l25-brand-name > span { font-weight: 400; color: #506a78; }
#loginPage .landing-nav { z-index:20; gap: 24px; padding-top: 18px; padding-bottom: 18px; }
#loginPage .landing-hero-text h1 span { white-space:nowrap; }
#loginPage .landing-nav-links { gap: 24px; }
#loginPage .landing-nav-links a { font-size: 14px; }
#loginPage .landing-nav-links a:hover { color: var(--polish-ink); }
#loginPage .landing-nav-links .landing-demo-link { color: var(--polish-ink); font-weight: 650; }
#loginPage .landing-footer { background: #172b3d; }
#loginPage .landing-footer .l25-brand-emblem { padding: 4px; background: #fff; width: 48px; height: 48px; }
#loginPage .landing-footer .l25-brand-name { color: #f7fafc; }
#loginPage .landing-footer .l25-brand-name > span { color: #bfd0d7; }
#loginPage .landing-footer-brand p, #loginPage .landing-footer-links a { color: #b4c2cd; }

/* Restrained controls and borders, preserving the landing's sections and media. */
#loginPage .btn-primary-lg, #loginPage .landing-nav-btn, #loginPage .btn-pricing-primary {
    background: #245a81; border-radius: 9px; box-shadow: 0 1px 2px rgba(20,38,51,.08);
    transition: background .16s ease, box-shadow .16s ease;
}
#loginPage .btn-primary-lg:hover, #loginPage .landing-nav-btn:hover, #loginPage .btn-pricing-primary:hover { background: #173e5d; transform: none; box-shadow: 0 3px 8px rgba(20,38,51,.12); }
#loginPage .btn-outline-lg, #loginPage .btn-pricing-outline { border: 1px solid #9eafb5 !important; color: var(--polish-ink); border-radius: 9px; }
#loginPage .btn-outline-lg:hover, #loginPage .btn-pricing-outline:hover { color: var(--polish-ink); background: #eef2f3; }
#loginPage .landing-hero-text .badge { color: #355452; background: #f0f4f3; border-color: #d2deda; border-radius: 20px; }
#loginPage .landing-hero-text h1 { font-size:clamp(36px,4.5vw,60px); line-height:1.08; letter-spacing:-.045em; max-width:15ch; text-wrap:balance; }
#loginPage .landing-hero-text h1 span { color:#245a81; background:none; -webkit-text-fill-color:currentColor; animation:none; }
#loginPage .landing-hero-text > p { max-width:38ch; font-size:20px; line-height:1.65; color:#526474; }
#loginPage .landing-section-header h2::after { background: #7f9eb7; height: 2px; }
#loginPage .landing-feature, #loginPage .pricing-card { border-color: #dce3e3; background: rgba(255,255,255,.96); border-radius: 16px; }
#loginPage .landing-feature::after { display: none; }
#loginPage .landing-feature:hover, #loginPage .pricing-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(24,45,55,.08); }
#loginPage .pricing-card.popular { border-color: #6088a6; }
#loginPage .pricing-card.popular::before { background: #355f81; }
#loginPage .feat-pop::before { color: #b5cfc9; }

/* Explain the stakes with readable amounts and a direct regulatory source. */
#consequences { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px 64px; padding-block: 64px; border-block: 1px solid var(--l25-line); }
#consequences h2 { color: var(--l25-ink); font-size: clamp(25px, 3vw, 34px); line-height: 1.2; letter-spacing: -.025em; margin: 0 0 20px; text-wrap: balance; }
#consequences p, #consequences dd { color: var(--l25-copy); font-size: 15px; line-height: 1.75; margin: 0; }
#consequences .consequences-list { margin: 0; }
#consequences .consequences-list > div + div { border-top: 1px solid var(--l25-line); padding-top: 20px; margin-top: 20px; }
#consequences dt { font-size: 16px; font-weight: 650; color: var(--l25-ink); margin-bottom: 8px; }
#consequences strong { color: var(--l25-ink); font-weight: 600; }
#consequences .consequences-source { grid-column: 1 / -1; max-width: 100ch; font-size: 12px; }
#consequences a { color: var(--l25-emerald); text-underline-offset: 3px; }

/* One quiet invitation into the demo, after the plans. */
#plateforme.landing-demo-entry { padding-block:20px; border-block:1px solid var(--l25-line); text-align:center; }
#plateforme.landing-demo-entry p { margin:0; color:var(--l25-copy); font-size:15px; line-height:1.65; }
#plateforme.landing-demo-entry a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#245a81; font-weight:650; text-underline-offset:4px; }

/* Pricing states the scope and billing period. */
#forfaits .landing-section-header p { max-width: 72ch; margin-inline: auto; }
#forfaits .landing-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; width: 100%; max-width: none; margin-inline: auto; }
#loginPage #forfaits .pricing-card { padding: 28px; text-align: left; box-shadow: none; }
#loginPage #forfaits .pricing-card:hover { transform: none; box-shadow: none; }
#forfaits .pricing-card h3 { color: var(--l25-ink); font-size: 23px; margin-bottom: 10px; }
#forfaits .pricing-tier { min-height: 3em; margin: 0; font-size: 15px; line-height: 1.5; font-weight: 400; color: var(--l25-copy); }
#forfaits .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; font-size: clamp(30px, 3.3vw, 42px); color: var(--l25-ink); letter-spacing: -.03em; margin: 22px 0 2px; font-variant-numeric: tabular-nums; }
#forfaits .pricing-billing { margin: 0 0 22px; font-size: 13px; line-height: 1.6; color: var(--l25-copy); }
#forfaits .pricing-maintenance { margin: -6px 0 18px; padding-block: 14px; border-block: 1px solid #d9c994; color: #6a5928; font-size: 13px; line-height: 1.6; }
#forfaits .pricing-maintenance strong { display: block; color: #614b15; font-size: 15px; margin-bottom: 5px; }
#forfaits .pricing-maintenance > span { display: block; }
#forfaits .pricing-card ul { margin-bottom: 18px; }
#forfaits .pricing-card li { padding: 10px 0; align-items: flex-start; line-height: 1.55; border-bottom: 0; }
#forfaits .pricing-card li::before { margin-top: 2px; }
#forfaits .pricing-scope { margin: 0 0 20px; font-size: 13px; line-height: 1.65; color: var(--l25-copy); }
#loginPage #forfaits .pricing-verte { border-color: #a5bdce; }
#loginPage #forfaits .pricing-lifetime { background: #faf6e9; border-color: #b49a58; }
#forfaits .pricing-lifetime :is(.pricing-tier,.pricing-billing,.pricing-scope) { color: #6a5928; }
#forfaits .pricing-lifetime li::before { background-color: #e5ebdc; }
#loginPage #forfaits .btn-pricing-lifetime { background: #735b1e; color: #fff; }
#loginPage #forfaits .btn-pricing-lifetime:hover { background: #594612; }
#forfaits .pricing-conditions-link { margin-top: 13px; text-align: center; color: #6a5318; font-size: 12px; line-height: 1.5; text-underline-offset: 3px; }
#forfaits .pricing-card:not(.pricing-lifetime) .btn-pricing { margin-bottom: 31px; }
#forfaits .pricing-footnote { color: var(--l25-copy); font-size: 13px; line-height: 1.65; max-width: 100ch; margin: 24px auto 0; text-align: center; }
@media (max-width: 1050px) and (min-width: 769px) {
    #loginPage #forfaits .pricing-card { padding: 22px; }
    #forfaits .landing-pricing-grid { gap: 16px; }
}
@media (max-width: 768px) {
    #consequences { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-block: 36px; }
    #forfaits .landing-pricing-grid { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
    #loginPage #forfaits .pricing-card { padding: 26px; }
    #forfaits .pricing-tier { min-height: 0; }
    #forfaits .price { font-size: 38px; }
    #forfaits .pricing-card:not(.pricing-lifetime) .btn-pricing { margin-bottom: 0; }
}

/* Attestations use the proportions and typography of a document, with live text. */
#parcours .landing-section-header p { max-width: 70ch; margin-inline: auto; }
#parcours .attestation-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; margin-top: 40px; }
#parcours .attestation-path { display: flex; flex-direction: column; min-width: 0; }
#parcours .attestation-description { flex: 1; margin-bottom: 28px; }
#parcours .attestation-description h3 { color: var(--l25-ink); font-size: 24px; line-height: 1.3; letter-spacing: -.025em; margin: 0 0 16px; text-wrap: balance; }
#parcours .attestation-description p, #parcours .attestation-description li { color: var(--l25-copy); font-size: 15px; line-height: 1.7; }
#parcours .attestation-description p { margin: 0; }
#parcours .attestation-description ul { margin: 18px 0 0; padding-left: 20px; }
#parcours .attestation-description li + li { margin-top: 8px; }
#parcours .attestation-document { --attestation-accent: #355f81; margin: 0; padding: 24px 28px; border: 1px solid #bdcfc9; border-radius: 3px; background: #fcfdfb; color: var(--l25-ink); }
#parcours .attestation-gold { --attestation-accent: #786128; border-color: #d4c797; background: #fdfbf4; }
#parcours .attestation-document-header { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--attestation-accent); }
#parcours .attestation-brand { display: inline-flex; gap: 10px; align-items: center; font: 21px/1.2 Georgia, "Times New Roman", serif; }
#parcours .attestation-brand img { width: 42px; height: 42px; object-fit: contain; }
#parcours .attestation-specimen { color: var(--l25-copy); font-size: 12px; letter-spacing: .04em; }
#parcours .attestation-document-title { margin: 24px 0 12px; color: var(--l25-ink); font: 30px/1.25 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
#parcours .attestation-document-title > span { font-size: 23px; }
#parcours .attestation-level { color: var(--attestation-accent); font-size: 15px; line-height: 1.5; font-weight: 650; margin: 0 0 12px; }
#parcours .attestation-document-scope { font-size: 14px; line-height: 1.65; color: var(--l25-copy); margin: 0; max-width: 54ch; }
#parcours .attestation-document-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 20px; border-top: 1px solid var(--l25-line); margin-top: 24px; padding-top: 14px; font-size: 11px; line-height: 1.6; color: var(--l25-copy); }
#parcours .attestation-explanation { max-width: 90ch; margin: 30px auto 0; color: var(--l25-copy); font-size: 13px; line-height: 1.75; }
#parcours .attestation-explanation a { color: var(--l25-emerald); text-underline-offset: 3px; }
@media (max-width: 768px) {
    #parcours .attestation-comparison { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    #parcours .attestation-description { margin-bottom: 22px; }
    #parcours .attestation-description h3 { font-size: 22px; }
}
@media (max-width: 520px) {
    #parcours .attestation-document { padding: 20px 18px; }
    #parcours .attestation-brand { font-size: 19px; gap: 7px; }
    #parcours .attestation-brand img { width: 34px; height: 34px; }
    #parcours .attestation-document-title { font-size: 26px; }
    #parcours .attestation-document-title > span { font-size: 21px; }
}

/* Forms share the platform's calm palette and clearly visible focus states. */
.auth-page { background: #f1f3f4; }
.auth-page .auth-logo h1 { color: var(--polish-ink); letter-spacing: -.03em; }
.auth-page .auth-logo .auth-brand-name { font: 600 32px/1.1 var(--l25-font-brand); letter-spacing: -.04em; }
.auth-page .auth-brand-name > span { font-weight: 400; color: #506a78; }
.auth-page .auth-logo p, .auth-page .footer-text { color: var(--polish-muted); }
.auth-page .auth-logo-icon { border: 1px solid var(--polish-line); box-shadow: 0 3px 12px rgba(24,45,55,.05); }
.auth-page .auth-logo-icon svg { stroke: var(--polish-accent); }
.auth-page .auth-card { border: 1px solid var(--polish-line); border-radius: 18px; box-shadow: 0 14px 42px rgba(24,45,55,.07); }
.auth-page .btn { background: var(--polish-ink); border-radius: 9px; }
.auth-page .btn:hover { background: #14283a; transform: none; }
.auth-page .btn:disabled { background: #87939e; }
.auth-page .link, .auth-page a { color: var(--polish-accent); }
.auth-page button.link { padding: 0; background: transparent; border: 0; font: inherit; font-weight: 500; }
.auth-page .auth-secondary-links { display: flex; flex-direction: column; gap: 8px; }
.auth-page .auth-secondary-links .link { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 0; }
.auth-page .footer-text .link { color: var(--polish-accent) !important; }
.auth-page .form-group input, .auth-page .form-group select, #dashboardPage .form-group input, #dashboardPage .form-group select { border-width: 1px; border-color: #bbc7cd; border-radius: 9px; }
.auth-page .form-group input:focus, .auth-page .form-group select:focus, #dashboardPage .form-group input:focus, #dashboardPage .form-group select:focus { border-color: #355f81; box-shadow: 0 0 0 3px rgba(53,95,92,.12); }
#loginPage :is(a,button,summary,select):focus-visible, .auth-page :is(a,button):focus-visible, #dashboardPage :is(a,button,summary):focus-visible { outline: 3px solid #648c86; outline-offset: 3px; }

/* The same app structure, with a light content canvas and a quiet navy sidebar. */
#dashboardPage { --app-border: #dce2e5; --app-shadow: 0 2px 8px rgba(24,45,55,.04); }
#dashboardPage .sidebar { background: #182c3e; }
#dashboardPage .sidebar-header h1 svg { stroke: #b8cbc7; }
#dashboardPage .nav-item { color: #becbd6; border-radius: 9px; }
#dashboardPage .nav-item:hover { color: #fff; background: #263f51; }
#dashboardPage .nav-item.active, #dashboardPage .nav-item[type="button"].active { color:#fff; background:#245a81; box-shadow:inset 3px 0 #92c7ef; }
#dashboardPage .main-content { background: var(--polish-surface); }
#dashboardPage .app-bg-video { opacity: .012; }
#dashboardPage .main-header { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--polish-line); box-shadow: none; }
#dashboardPage .main-header h2 { color: var(--polish-ink); font-weight: 650; letter-spacing: -.03em; }
#dashboardPage .main-header .subtitle { color: var(--polish-muted); margin-top: 5px; }
#dashboardPage .app-fleur { color: #647f79; opacity: .32; }
#dashboardPage .tour-restart-button { color: #405665; background: #f3f5f6; border-color: #d8e0e4; border-radius: 8px; }
#dashboardPage .tour-restart-button:hover { color: #20354a; background: #e9eef0; }
#dashboardPage .btn:not(.btn-secondary) { background:#245a81; border-radius:9px; }
#dashboardPage .btn:not(.btn-secondary):hover { background:#173e5d; transform:none; }
#dashboardPage .btn:disabled { background: #87939e; }
#dashboardPage .card, #dashboardPage .dashboard-action-card, #dashboardPage .quiz-once-card { border: 1px solid var(--polish-line); border-radius: 14px; box-shadow: var(--app-shadow); }
#page-dashboard .stat-card { background: #fff; border-color: var(--polish-line); border-radius: 14px; box-shadow: var(--app-shadow); }
#page-dashboard .stat-card-title { color: #5b6b79; font-size: 11px; letter-spacing: .055em; }
#page-dashboard .stat-card-value { color: #20354a; font-weight: 650; font-variant-numeric: tabular-nums; }
#page-dashboard .stat-card-change { color: #5b6b79; }
#page-dashboard .stat-card-change.positive, #page-dashboard .shine-verte { color: #355f81; }
#page-dashboard .stat-card-change.negative { color: #a13d3d; }
#page-dashboard .shine-or { color: #7a622f; }
#page-dashboard .stat-card-icon, #page-dashboard .stat-card-icon:is(.blue,.green,.or,.purple) { color: #45675f; background: #edf3f1; border-color: #d9e5e1; border-radius: 10px; }
#page-dashboard .stat-card-icon.red { color: #a13d3d; background: #faf0ef; border-color: #eedbd9; }
#page-dashboard #certStatus span { color: #50606f !important; background: #f0f3f4 !important; border-color: #dce3e7; }
#page-dashboard .compliance-time-note { border-radius: 10px; background: #f7f5ef; }
#page-dashboard .quiz-once-title { font-weight: 650; }
#page-dashboard .dashboard-action-heading h3 { font-weight: 650; }
#page-tasks .task-card { border-radius: 12px; }
#page-tasks .task-card.completed .task-card-header { background: #edf4f0; }
#page-tasks .detail-section { border-radius: 12px; }
#page-tasks .task-detail-hero { background:#183b59; }
#page-tasks .detail-section-heading { color:#163c32; letter-spacing:-.025em; }
#page-tasks .section-index { background:#245a81; color:#fff; border-radius:8px; }
#page-tasks details.document-reading-guide { margin-bottom:18px; padding:0; background:transparent; border:0; }
#page-tasks .document-reading-guide summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:14px; font-weight:600; color:#315b49; }
#page-tasks .document-reading-guide dl { margin-top:12px; }
#page-tasks .evidence-section { border:1px solid #bdd9cc; background:#fff; }
#page-tasks .deliverable-block { box-shadow:0 3px 14px rgba(20,70,48,.04); }
#page-tasks .domains-prestige { border: 1px solid #ced9de; border-radius: 14px; overflow: hidden; }

/* Discovery is clearly identified throughout sign-up and the separate demo space. */
.auth-page .demo-registration-note, .auth-page .demo-login-note { margin: -8px 0 22px; padding: 13px 15px; color: #365651; background: #f0f5f3; border: 1px solid #d5e2dc; border-radius: 10px; font-size: 13px; line-height: 1.65; }
#dashboardPage .demo-workspace-banner { margin: 0 0 24px; padding: 18px 20px; background: #edf2f4; border: 1px solid #cbd9df; border-radius: 12px; color: #304e61; }
#dashboardPage .demo-workspace-banner strong { display: block; margin-bottom: 6px; font-size: 16px; letter-spacing: -.01em; }
#dashboardPage .demo-workspace-banner p { max-width: 80ch; font-size: 14px; line-height: 1.65; }
#dashboardPage .demo-workspace-banner a { display: inline-block; margin-top: 10px; color: #2e5651; font-size: 13px; font-weight: 650; text-underline-offset: 3px; }
#dashboardPage .demo-journey-note, #dashboardPage .demo-domain-lock-note { max-width: 80ch; margin: 12px 0 20px; color: #526775; font-size: 13px; line-height: 1.65; }

/* Long-form help remains easy to scan without adding extra navigation. */
#page-faq .faq-group { max-width: 860px; margin: 0 0 34px; }
#page-faq .faq-group-title { color: #20354a; font-size: 19px; font-weight: 650; letter-spacing: -.02em; margin: 0 0 7px; }
#page-faq .faq-group-description { color: #5b6b79; font-size: 14px; line-height: 1.65; margin-bottom: 17px; }
#page-faq .faq-list { border-radius: 14px; box-shadow: 0 2px 8px rgba(24,45,55,.03); }
#page-faq summary { color: #2c4652; }
#page-faq details[open] summary { color: #355f81; }
#page-faq details .faq-source, #page-faq .faq-reviewed-on { color: #61737d; font-size: 12px; line-height: 1.6; }
#page-faq a { color: #315d59; text-underline-offset: 3px; }

@media (max-width: 1100px) and (min-width: 921px) {
    #loginPage .landing-nav { gap: 16px; padding-right: 24px; padding-left: 24px; }
    #loginPage .landing-nav-links { gap: 16px; }
    #loginPage .landing-nav-links a { font-size: 13px; }
}
@media (max-width: 920px) {
    #loginPage .landing-nav-links { gap: 12px; }
    #loginPage .landing-nav-links .landing-demo-link { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 768px) {
    #dashboardPage .sidebar { background: rgba(24,44,62,.97); border-top: 1px solid #3b5162; box-shadow: 0 -4px 18px rgba(20,38,51,.08); }
    #dashboardPage .main-header { padding-top: 18px; padding-bottom: 18px; }
    #dashboardPage .demo-workspace-banner { padding: 16px; margin-bottom: 18px; }
    #page-dashboard .stat-card-value { font-size: 25px; }
}
@media (max-width: 520px) {
    #loginPage .landing-nav { padding: 14px 16px; gap: 8px; }
    #loginPage .l25-brand { gap: 7px; }
    #loginPage .l25-brand-emblem { width: 36px; height: 40px; }
    #loginPage .l25-brand-name { font-size: 21px; }
    #loginPage .landing-nav-links { gap: 12px; }
    #loginPage .landing-nav-links a { font-size: 12px; }
    #loginPage .landing-nav-btn { padding: 11px 12px; }
    .auth-page .auth-card { padding: 26px; }
}
@media (max-width: 350px) {
    #loginPage .landing-nav { padding-left: 10px; padding-right: 10px; }
    #loginPage .landing-nav-links { gap: 9px; }
    #loginPage .l25-brand-name { font-size: 19px; }
    #loginPage .l25-brand-emblem { width: 32px; }
    #loginPage .landing-nav-btn { padding-left: 9px; padding-right: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    #loginPage .landing-feature:hover, #loginPage .pricing-card:hover { transform: none; }
    #loginPage :is(.btn-primary-lg,.landing-nav-btn,.landing-feature,.pricing-card), .auth-page .btn { transition: none; }
}
@media (prefers-contrast: more) {
    #dashboardPage .main-header { background: #fff; border-bottom-color: #526575; }
    #dashboardPage .sidebar { background: #182c3e; }
    #page-faq .faq-list, #page-dashboard .stat-card { border-color: #74848f; }
}

.insurance-card{max-width:880px;padding:28px;background:#fff;border:1px solid #e0e5e2;border-radius:16px}.insurance-card p{line-height:1.65}.insurance-email{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.75 inherit;background:#f5f6f5;border-radius:10px;padding:22px;margin:20px 0}.insurance-consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;margin:22px 0}.insurance-consent input{margin-top:5px;flex-shrink:0}@media(max-width:600px){.insurance-card{padding:18px}.insurance-email{padding:14px}}
.insurance-contact{margin:24px 0}.insurance-contact>label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:#314951}.insurance-contact-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.insurance-contact-row input{flex:1;min-width:0;max-width:440px;width:100%;padding:12px 14px;border:1px solid #ccd8d7;border-radius:8px;background:#fff;color:#253f48;font:inherit}.insurance-contact-row input:focus{outline:2px solid #52777a;outline-offset:2px}.insurance-contact-row button{flex-shrink:0}.insurance-contact .insurance-hint{margin:10px 0 0}

.insurance-email{font-family:inherit;font-size:14px;line-height:1.75}.nav-label-short{display:none}@media(max-width:768px){.nav-label-long{display:none}.nav-label-short{display:inline}}

/* A single context line connects the company profile to every workspace page. */
.toast { max-width:min(760px, calc(100vw - 32px)); overflow-wrap:anywhere; }
.toast svg { flex:0 0 24px; }
.toast.error { background:#652f36; border:1px solid #94535b; }
.toast.info { background:#294855; }
#dashboardPage .pathway-context { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 22px; margin:0 0 26px; border-bottom:1px solid #d8e1e0; }
.pathway-context-profile { display:grid; grid-template-columns:auto 1fr; align-items:baseline; column-gap:18px; row-gap:5px; min-width:0; }
.pathway-context-label { grid-row:1 / 3; padding-left:13px; border-left:3px solid #6c8d83; color:#355f81; font-size:12px; font-weight:650; letter-spacing:.035em; }
#pathwayBanner { margin:0; color:#203b49; font-size:17px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.pathway-context-scope { grid-column:2; color:#667881; font-size:12px; line-height:1.5; }
.insurance-staff-link { flex:0 0 auto; color:#355f81; font-size:13px; font-weight:600; text-underline-offset:4px; }
.insurance-staff-link[hidden] { display:none!important; }
#page-dashboard .compliance-time-note { margin:0 0 22px; padding:0; border:0; border-radius:0; background:none; color:#63747e; font-size:13px; line-height:1.6; }
#page-dashboard .compliance-time-note strong { color:#3d555f; font-weight:600; }
#page-quiz .quiz-intro { display:flex; align-items:center; justify-content:space-between; gap:32px; margin:0 0 26px; }
.quiz-intro > p { max-width:74ch; margin:0; color:#596e7b; font-size:14px; line-height:1.7; }
#quiz-progress-badge { padding:5px 0 5px 18px; border-left:2px solid #91aba2; border-radius:0; background:none; color:#355f81; font-size:13px; font-variant-numeric:tabular-nums; }
#page-quiz #quiz-content { padding:0; }
#quiz-sections { background:rgba(255,255,255,.96); border:1px solid #dce4e4; border-radius:14px; overflow:hidden; box-shadow:0 5px 20px rgba(28,53,64,.035); }
.quiz-profile-section { display:grid; grid-template-columns:minmax(160px, .65fr) minmax(0, 2fr); gap:40px; padding:32px; }
.quiz-profile-section + .quiz-profile-section { border-top:1px solid #e2e8e8; }
.quiz-section-number { display:block; margin-bottom:12px; color:#718e84; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.quiz-profile-heading h3 { margin:0; max-width:22ch; color:#243e4b; font-size:18px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
.quiz-profile-heading p { margin:8px 0 0; color:#77878e; font-size:12px; }
.quiz-profile-fields { display:flex; flex-direction:column; gap:24px; min-width:0; }
.quiz-profile-fields > div + div { padding-top:22px; border-top:1px solid #edf0f0; }
.settings-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:800px; }
.settings-fields > div { min-width:0; overflow-wrap:anywhere; }
.settings-fields input { min-width:0; }
.settings-section.settings-plan { max-width:900px; padding:30px; border:1px solid #bddccc; border-top:4px solid #198260; border-radius:18px; background:radial-gradient(ellipse at 100% 0%,#c7efdd 0,transparent 60%),#f5fbf8; box-shadow:0 8px 28px rgba(22,85,63,.06); }
.settings-plan-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:22px; }
.settings-plan h3 { margin:0 0 8px; color:#416c5d; font-size:12px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.settings-plan-current { margin:0; font-size:clamp(26px,3vw,34px); line-height:1.2; letter-spacing:-.035em; text-wrap:balance; }
.settings-plan-current strong { color:#153f31; font-weight:700; }
.settings-plan-mark { flex-shrink:0; padding:12px 16px; border:1px solid #9ac9b2; border-radius:12px; color:#225a43; background:rgba(255,255,255,.45); font-size:26px; font-weight:700; letter-spacing:-.05em; text-align:center; }
.settings-plan-mark span { display:block; margin-top:2px; font-size:10px; font-weight:500; letter-spacing:.01em; }
.settings-plan .settings-section-desc { max-width:72ch; margin:0 0 24px; color:#47635a; font-size:15px; line-height:1.75; text-wrap:pretty; }
.settings-plan-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-bottom:22px; }
.settings-plan .plan-discover-button { min-height:48px; gap:10px; padding:12px 20px; border-color:#245a81; background:#245a81; border-radius:10px; box-shadow:0 3px 8px rgba(20,107,78,.12); transition:background .18s,box-shadow .18s,transform .18s; }
.settings-plan .plan-discover-button:hover { border-color:#10573f; background:#10573f; box-shadow:0 5px 12px rgba(20,107,78,.18); }
.settings-plan .plan-discover-button:active { transform:translateY(1px); }
.settings-plan .plan-discover-button:disabled { opacity:.65; cursor:wait; box-shadow:none; transform:none; }
.settings-plan :is(button,a,summary,select):focus-visible { outline:3px solid #1b795a; outline-offset:4px; }
.settings-plan-picker { border-top:1px solid #c7ddcf; padding-top:8px; }
.settings-plan-picker>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; min-height:48px; width:100%; padding:12px 4px; border-radius:6px; color:#285744; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; transition:background .18s,color .18s; }
.settings-plan-picker>summary::-webkit-details-marker { display:none; }
.settings-plan-picker>summary:hover { color:#104a33; background:#e5f3eb; }
.settings-plan-chevron { width:8px; height:8px; margin-right:5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .18s; }
.settings-plan-picker[open] .settings-plan-chevron { transform:rotate(225deg); }
.settings-plan-options { max-width:640px; margin-top:8px; padding:22px; border:1px solid #d0e1d7; border-radius:12px; background:#fff; }
.settings-plan-options>label { display:block; margin-bottom:8px; color:var(--l25-ink); font-size:14px; font-weight:600; }
.settings-plan-options>select { display:block; width:100%; min-height:46px; padding:10px 12px; border:1px solid #bac9c9; border-radius:8px; background:white; color:var(--l25-ink); font:inherit; font-size:16px; }
.settings-plan-quote { margin:20px 0; color:var(--l25-copy); }
.settings-plan-quote p { margin:10px 0; font-size:14px; line-height:1.65; }
.settings-plan-quote .settings-plan-price { margin:0 0 8px; }
.settings-plan-price strong { color:var(--l25-ink); font-size:27px; line-height:1.25; font-weight:650; }
.settings-plan-price span { font-size:14px; }
.settings-plan-help { margin:16px 0; color:var(--l25-copy); font-size:13px; line-height:1.6; }
.settings-plan-compare { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:8px; color:#285744; font-size:14px; text-underline-offset:4px; }
.settings-plan-toolbar .settings-plan-compare { margin:0; font-weight:550; }
.settings-plan-compare:hover { color:#104a33; text-decoration-thickness:2px; }
@media(max-width:480px) {
  .settings-section.settings-plan { padding:22px 18px 14px; }
  .settings-plan-heading { gap:14px; margin-bottom:18px; }
  .settings-plan-mark { padding:10px; font-size:22px; }
  .settings-plan-toolbar { align-items:stretch; gap:10px; margin-bottom:16px; }
  .settings-plan-toolbar>* { width:100%; justify-content:center; }
  .settings-plan .settings-section-desc { font-size:14px; }
  .settings-plan-picker>summary { width:100%; }
  .settings-plan-options { padding:16px; }
  .settings-plan-options .plan-discover-button { width:100%; }
}
.registration-plan { padding:18px; margin:0 0 22px; border:1px solid var(--l25-line); border-radius:var(--l25-radius); background:var(--l25-mist); }
.registration-plan label { display:block; margin-bottom:8px; font-size:14px; font-weight:600; }
.registration-plan select { width:100%; min-height:44px; border:1px solid #b4c2c6; background:#fff; padding:9px; border-radius:6px; }
.registration-plan p { margin:12px 0 0; font-size:13px; line-height:1.6; color:var(--l25-copy); }
#page-dashboard > .next-action-card { margin-bottom:22px; background:#f0f6f3; border:1px solid #c6d8d0; padding:22px; }
#page-dashboard > .next-action-card .next-task { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
#page-dashboard > .next-action-card .next-task-button { grid-column:3; grid-row:1; margin:0; }
#page-dashboard .dashboard-action-grid { grid-template-columns:1fr; }
#page-dashboard .stats-grid { gap:14px; margin-bottom:22px; }
.quiz-step-navigation { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; scroll-margin-top:20px; }
.quiz-step-selector { flex:1; max-width:480px; min-width:0; }
.quiz-step-selector label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; color:var(--l25-ink); }
.quiz-step-selector select { width:100%; min-height:46px; padding:10px 12px; border:1px solid #aebfc1; border-radius:8px; background:#fff; color:var(--l25-ink); }
.quiz-save-summary { max-width:320px; font-size:12px; line-height:1.6; color:var(--l25-emerald); }
.quiz-save-summary button { display:block; margin-top:5px; text-decoration:underline; text-underline-offset:3px; }
#quizSaveSummary[data-state="error"] { color:#8b3039; }
.quiz-step-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0 28px; }
.quiz-step-footer .btn { width:auto; min-height:44px; padding:12px 20px; }
#quizStepPosition { font-size:13px; color:var(--l25-copy); white-space:nowrap; }
.quiz-step-review { padding:28px; }
.quiz-step-review h3 { color:var(--l25-ink); font-size:22px; margin-bottom:10px; }
.quiz-step-review p { font-size:14px; line-height:1.6; color:var(--l25-copy); }
.quiz-step-review ul { list-style:none; padding:0; margin:22px 0 0; }
.quiz-step-review li { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 0; border-top:1px solid var(--l25-line); font-size:13px; }
.quiz-step-review .link { text-align:left; color:var(--l25-emerald); text-decoration:underline; text-underline-offset:3px; }
.review-missing { color:#8b3039; }
.review-complete { color:var(--l25-emerald); }
.app-load-error { position:fixed; inset:auto 16px 20px; z-index:99999; padding:18px; background:#fff; color:#8b3039; border:1px solid #8b3039; border-radius:10px; }
@media(max-width:920px) {
  #loginPage .landing-nav { position:relative; }
  .public-menu-toggle { display:inline-flex; align-items:center; }
  #loginPage .landing-nav-links { display:none; position:absolute; z-index:20; top:calc(100% - 4px); right:16px; left:16px; flex-direction:column; align-items:stretch; gap:0; padding:12px; background:#fff; border:1px solid var(--l25-line); border-radius:12px; box-shadow:0 16px 36px rgba(32,53,74,.14); }
  #loginPage .landing-nav-links.menu-open { display:flex; }
  #loginPage .landing-nav-links a { display:flex; align-items:center; min-height:46px; padding:12px; font-size:15px; }
  #loginPage .landing-hero { gap:30px; padding-top:42px; }
}
@media(max-width:600px) {
  .settings-fields { grid-template-columns:minmax(0,1fr); }
  .quiz-step-navigation { flex-direction:column; align-items:stretch; }
  .quiz-save-summary { max-width:none; }
  .quiz-step-footer { gap:10px; }
  .quiz-step-footer .btn { padding:12px; font-size:13px; }
  .quiz-step-review { padding:20px 16px; }
  .quiz-step-review li { align-items:flex-start; flex-direction:column; gap:6px; }
  #page-dashboard > .next-action-card { padding:18px; }
  #page-dashboard > .next-action-card .next-task { grid-template-columns:auto minmax(0,1fr); }
  #page-dashboard > .next-action-card .next-task-button { grid-column:1/-1; grid-row:auto; width:100%; }
  #page-dashboard .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #page-dashboard .stat-card { padding:14px; }
  #page-dashboard .stat-card-header { margin-bottom:10px; }
  #page-dashboard .stat-card-title { font-size:11px; }
  #page-dashboard .stat-card-icon { display:none; }
}
@media(min-width:1600px) { .quiz-profile-section { grid-template-columns:240px minmax(0, 1fr); gap:56px; } }
@media(max-width:800px) {
  #dashboardPage .pathway-context { flex-wrap:wrap; gap:12px; margin-bottom:20px; padding-bottom:18px; }
  .pathway-context-profile { column-gap:12px; }
  #pathwayBanner { font-size:15px; }
  #page-quiz .quiz-intro { flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:20px; }
  .quiz-profile-section { grid-template-columns:1fr; gap:22px; padding:24px; }
  .quiz-profile-heading { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:baseline; }
  .quiz-section-number { grid-row:1 / 3; margin:0; }
  .quiz-profile-heading h3 { max-width:none; }
  .quiz-profile-heading p { grid-column:2; margin:0; }
}
@media(max-width:480px) {
  .pathway-context-profile { grid-template-columns:1fr; gap:6px; }
  .pathway-context-label { grid-row:auto; }
  .pathway-context-scope { grid-column:1; }
  .quiz-profile-section { padding:20px 16px; }
}
/* Contextual explanation appears before the RPRP fields and designation task. */
.rprp-help { grid-column:1/-1; padding:20px; margin:0 0 24px; border:1px solid #d3dfd9; border-left:4px solid #426b62; border-radius:12px; background:#f3f7f4; color:#283e39; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.rprp-help h4 { margin:0 0 8px; color:#233f39; font-size:16px; }
.rprp-help p { margin:0 0 10px; }
.rprp-help a { color:#285b50; font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* Clearer plan scope, using the existing public-site palette. */
#forfaits .pricing-examples { margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--l25-copy); }
#forfaits .pricing-card h3 { text-wrap:balance; }
/* Paid features stay discoverable; these controls open an explanation. */
:root { --plan-promo-accent:#6d28d9; --plan-promo-hover:#5520aa; --plan-promo-ink:#38204d; --plan-promo-copy:#614774; --plan-promo-soft:#f5f0ff; --plan-promo-line:#d9c7f0; }
.plan-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#dashboardPage .plan-locked { opacity:1; cursor:pointer !important; }
#dashboardPage .nav-item.plan-locked { color:#c1cad2; background:rgba(255,255,255,.035); }
#dashboardPage .nav-item.plan-locked:hover { color:#fff; background:rgba(255,255,255,.10); }
#dashboardPage .nav-item.plan-locked::after { content:attr(data-plan-label); flex-shrink:0; color:#d8e0e6; background:rgba(255,255,255,.07); border-color:#536373; letter-spacing:0; }
#page-dashboard .quiz-once-card.plan-locked { background:#f1f3f4; border:1px dashed #aebcc5; box-shadow:none; }
#page-dashboard .quiz-once-card.plan-locked .quiz-once-title { color:#495b69; }
#page-dashboard .quiz-once-card.plan-locked .quiz-once-subtitle { color:#526474; }
#page-dashboard .quiz-once-card.plan-locked .quiz-once-fleur { color:#667885; }
#page-dashboard .quiz-once-card.plan-locked::before { display:none; }
.quiz-plan-label { flex-shrink:0; color:#495b69; font-size:13px; font-weight:650; }
#dashboardPage .main-header { gap:20px; flex-wrap:wrap; }
.platform-header-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
#dashboardPage .platform-header-actions .tour-restart-button { position:static; translate:none; min-height:44px; }
.plan-discover-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 17px; border:1px solid var(--l25-emerald); border-radius:8px; background:var(--l25-emerald); color:#fff; font:inherit; font-size:14px; font-weight:650; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; }
.plan-discover-button:hover { background:#244c45; border-color:#244c45; color:#fff; }
.plan-discover-button:focus-visible,.plan-dialog-close:focus-visible,.plan-continue-button:focus-visible,.plan-compare-link:focus-visible { outline:3px solid #4b837b; outline-offset:4px; }
.platform-header-actions .plan-discover-button { background:var(--plan-promo-soft); color:var(--plan-promo-accent); border-color:var(--plan-promo-line); }
.platform-header-actions .plan-discover-button:hover { background:#eadffc; border-color:var(--plan-promo-accent); }
.plan-upgrade-banner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; margin:0 0 20px; padding:12px 14px; background:var(--plan-promo-soft); border:1px solid var(--plan-promo-line); border-radius:12px; color:var(--plan-promo-ink); }
.plan-promo-copy { grid-column:1; grid-row:1; min-width:0; }
.plan-promo-heading { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; }
.plan-promo-tag { display:inline-block; flex-shrink:0; padding:3px 7px; border-radius:5px; background:#e7d8fc; color:#542880; font-size:11px; font-weight:650; line-height:1.5; }
.plan-promo-dismiss { grid-column:3; grid-row:1; align-self:start; display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:7px 8px; border:0; border-radius:6px; background:transparent; color:var(--plan-promo-copy); font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.plan-promo-dismiss span { font-size:20px; line-height:1; }
.plan-promo-dismiss:hover { color:var(--plan-promo-ink); background:#eadffc; }
.plan-restore-offers { display:flex; border:0; background:transparent; padding:0; font:inherit; font-size:13px; text-decoration:underline; cursor:pointer; }
.plan-eyebrow { display:block; margin-bottom:8px; color:var(--l25-emerald); font-size:12px; font-weight:700; letter-spacing:.03em; }
.plan-upgrade-banner h3 { margin:0; font-size:16px; font-weight:650; line-height:1.4; }
.plan-upgrade-banner p { margin:5px 0 0; max-width:70ch; color:var(--plan-promo-copy); font-size:13px; line-height:1.5; }
.plan-upgrade-banner > .plan-discover-button { grid-column:2; grid-row:1; flex-shrink:0; font-size:13px; padding:10px 13px; }
.plan-upgrade-banner .plan-discover-button,.plan-upgrade-dialog .plan-discover-button { background:var(--plan-promo-accent); border-color:var(--plan-promo-accent); }
.plan-upgrade-banner .plan-discover-button:hover,.plan-upgrade-dialog .plan-discover-button:hover { background:var(--plan-promo-hover); border-color:var(--plan-promo-hover); }
.plan-upgrade-dialog { box-sizing:border-box; width:min(400px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:22px; overflow:auto; color:var(--plan-promo-ink); background:var(--plan-promo-soft); border:0; border-radius:16px; box-shadow:0 24px 80px rgba(18,40,54,.24); }
.plan-upgrade-dialog::backdrop { background:rgba(16,31,43,.60); }
.plan-dialog-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:#526474; font:inherit; font-size:26px; cursor:pointer; }
.plan-dialog-close:hover { background:var(--l25-mist); }
.plan-upgrade-dialog .plan-dialog-close { top:8px; right:8px; color:var(--plan-promo-copy); }
.plan-upgrade-dialog .plan-dialog-close:hover { background:#eadffc; }
.plan-dialog-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; padding-right:34px; margin:2px 0 12px; }
.plan-upgrade-dialog h2 { margin:0; padding:0; font-size:22px; line-height:1.2; letter-spacing:-.025em; font-weight:650; }
.plan-upgrade-dialog h2:focus { outline:none; }
.plan-upgrade-benefits { margin:12px 0; padding-left:18px; font-size:13px; line-height:1.5; }
.plan-upgrade-benefits li { margin:6px 0; padding-left:2px; }
.plan-upgrade-benefits li::marker { color:var(--plan-promo-accent); }
.plan-upgrade-price { padding:0 0 14px; border-bottom:1px solid var(--plan-promo-line); }
.plan-upgrade-price strong { font-size:30px; font-weight:700; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
#planUpgradeCycle { color:var(--plan-promo-copy); font-size:13px; white-space:nowrap; }
.plan-upgrade-price p { margin:8px 0 0; color:var(--plan-promo-copy); font-size:13px; line-height:1.5; }
.plan-upgrade-dialog .plan-scope-note,.plan-support .plan-scope-note { color:var(--l25-copy); font-size:13px; line-height:1.65; }
.plan-upgrade-dialog .plan-scope-note { margin:10px 0; font-size:12px; line-height:1.5; color:var(--plan-promo-copy); }
.plan-upgrade-dialog .plan-compare-link { color:var(--plan-promo-accent); font-size:13px; }
.plan-upgrade-dialog .plan-continue-button { color:var(--plan-promo-copy); font-size:13px; }
.plan-upgrade-dialog :focus-visible,.plan-upgrade-banner :focus-visible,#planUpgradeButton:focus-visible { outline-color:var(--plan-promo-accent); }
.plan-upgrade-dialog .plan-dialog-actions { margin-top:14px; }
.plan-dialog-actions { display:grid; gap:4px; margin-top:18px; }
.plan-dialog-secondary { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; column-gap:12px; }
.plan-compare-link { display:inline-flex; align-items:center; min-height:44px; color:var(--l25-emerald); font-size:14px; text-underline-offset:4px; }
.plan-continue-button { display:block; min-height:44px; padding:10px 0; margin:0; border:0; background:transparent; color:var(--l25-copy); font:inherit; font-size:14px; cursor:pointer; }
.plan-support { max-width:820px; padding:28px; border:1px solid var(--l25-line); border-radius:12px; background:#fff; }
.plan-support h3 { margin:12px 0; font-size:28px; line-height:1.25; font-weight:650; }
.plan-support p { margin:12px 0; color:var(--l25-copy); line-height:1.7; }
.plan-support-steps { padding-left:24px; margin:24px 0; }
.plan-support-steps li { padding:8px 0 8px 8px; }
.plan-support-steps p { margin:6px 0; }
.plan-support > .plan-scope-note { margin-top:24px; }
@media(min-width:769px) {
  #dashboardPage .nav-item svg { flex-shrink:0; }
  #dashboardPage .nav-item.plan-locked { display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:12px; row-gap:6px; }
  #dashboardPage .nav-item.plan-locked::after { grid-column:2; justify-self:start; margin:0; }
}
@media(max-width:1000px) {
  .plan-upgrade-banner { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .plan-promo-dismiss { grid-column:2; }
  .plan-upgrade-banner > .plan-discover-button { grid-column:1/-1; grid-row:2; justify-self:start; }
}
@media(max-width:768px) {
  #dashboardPage .sidebar { height:auto; padding-bottom:env(safe-area-inset-bottom,0px); }
  #dashboardPage .sidebar-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; width:100%; }
  #dashboardPage[data-demo="true"] .sidebar-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
  #dashboardPage .sidebar-nav .nav-item { position:relative; width:100%; min-height:60px; padding:5px 2px; font-size:10px; }
  #dashboardPage .nav-item.plan-locked::after { content:''; display:block; position:absolute; top:7px; right:calc(50% - 23px); width:10px; height:11px; padding:0; margin:0; border:0; border-radius:0; background:#c1cad2; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M3 6V4a3 3 0 0 1 6 0v2h1a1 1 0 0 1 1 1v6H1V7a1 1 0 0 1 1-1h1zm1 0h4V4a2 2 0 0 0-4 0v2z'/%3E%3C/svg%3E") center/contain no-repeat; }
  #dashboardPage .main-content { padding-bottom:calc(152px + env(safe-area-inset-bottom,0px)); }
  #dashboardPage[data-demo="true"] .main-content { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
  .platform-header-actions { justify-content:flex-start; }
  .plan-upgrade-banner { padding:12px 14px; }
  .plan-upgrade-banner p { display:none; }
}

@media(max-width:480px) {
  .plan-upgrade-dialog { padding:22px 20px 14px; }
  .plan-upgrade-price strong { font-size:30px; }
  .plan-support { padding:20px; }
}

/* Blue continuity; only the penalty amounts and penal label use red. */
#loginPage { --l25-emerald:#245a81; --l25-focus:#245a81; --polish-accent:#245a81; }
#loginPage .landing-hero { padding-block:76px; }
#loginPage .landing-hero-text { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); align-items:center; column-gap:80px; }
#loginPage .landing-hero-text h1 { grid-row:1/3; margin:0; max-width:16ch; }
#loginPage .landing-hero-text > p { margin:0 0 26px; max-width:34ch; }
#loginPage .landing-hero-actions { gap:12px; }
#loginPage .landing-hero-actions a { padding:14px 20px; font-size:15px; }
#consequences { background:#f1f5f9; border-color:#d8e2eb; border-radius:10px; }
#consequences .consequences-eyebrow { color:#245a81; margin-bottom:16px; font-size:12px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
#consequences h2 { max-width:16ch; font-size:clamp(27px,3vw,36px); }
#consequences .consequences-penal { color:#963e3e; }
#consequences strong { display:block; margin:4px 0; color:#963e3e; font-size:clamp(27px,3vw,34px); letter-spacing:-.03em; line-height:1.25; }
#consequences strong small { color:var(--l25-copy); font-weight:400; display:block; margin-top:3px; font-size:14px; letter-spacing:0; }
#loginPage :is(#forfaits,#parcours) { padding-block:52px; }
#loginPage .landing-section-header { margin-bottom:32px; }
#forfaits .pricing-footnote a { color:#245a81; text-underline-offset:3px; }
.lifetime-choice-dialog { width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:32px; overflow:auto; border:1px solid #d1dce5; border-radius:16px; color:#20354a; background:#fff; box-shadow:0 24px 80px #152f4940; }
.lifetime-choice-dialog::backdrop { background:#152b40a6; }
.lifetime-choice-kicker { color:#245a81; margin:0 32px 12px 0; font-size:13px; font-weight:700; }
.lifetime-choice-dialog h2 { padding-right:20px; font-size:27px; line-height:1.2; letter-spacing:-.025em; }
.lifetime-choice-dialog > p:not(.lifetime-choice-kicker) { margin:16px 0 24px; color:#526474; font-size:15px; line-height:1.6; }
.lifetime-choice-dialog > a { display:flex; justify-content:center; align-items:center; min-height:48px; margin-top:12px; padding:12px; border-radius:8px; font-size:15px; font-weight:600; text-decoration:none; text-align:center; }
.lifetime-choice-primary { color:#fff; background:#245a81; }
.lifetime-choice-primary:hover { background:#173e5d; }
.lifetime-choice-secondary { color:#245a81; border:1px solid #a5bdce; }
.lifetime-choice-secondary:hover { background:#eff5fa; }
.lifetime-choice-dialog > .lifetime-choice-terms { font-size:12px!important; margin-bottom:0!important; }
@media(max-width:768px) {
  #loginPage .landing-hero { padding:44px 20px; }
  #loginPage .landing-hero-text { display:block; }
  #loginPage .landing-hero-text h1 { margin:0 auto 24px; }
  #loginPage .landing-hero-text > p { margin:0 auto 24px; font-size:18px; }
  #consequences { margin-inline:12px; padding:32px 22px; }
  .lifetime-choice-dialog { padding:28px 22px; }
}
