:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --ink: #16202b;
  --muted: #617080;
  --line: #dce4ed;
  --brand: #183e67;
  --brand2: #235b8f;
  --ok: #157347;
  --ok-bg: #e9f7ef;
  --warn: #9a6700;
  --warn-bg: #fff6da;
  --bad: #b42318;
  --bad-bg: #fff0ee;
  --shadow: 0 12px 34px rgba(24, 62, 103, .08);
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--ink); }
a { color: inherit; }
.topbar { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.topbar-inner { width: min(1180px, calc(100% - 32px)); margin: 0 auto; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; min-width: 0; }
.brand > span:last-child { display: grid; }
.brand small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 520px; }
.brand-mark { width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: var(--brand); color: white; font-weight: 800; letter-spacing: .08em; margin: 0 auto 14px; }
.brand-mark.small { width: 44px; height: 44px; border-radius: 12px; margin: 0; font-size: .85rem; flex: 0 0 auto; }
.nav { display: flex; align-items: center; gap: 8px; }
.nav a { text-decoration: none; padding: 10px 12px; border-radius: 10px; color: var(--muted); font-weight: 650; }
.nav a.active, .nav a:hover { background: #eef4fa; color: var(--brand); }
.container { width: min(1180px, calc(100% - 32px)); margin: 36px auto 70px; }
.hero { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; margin-bottom: 24px; }
.hero h1 { margin: 10px 0 8px; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.hero p { margin: 0; max-width: 760px; color: var(--muted); font-size: 1.05rem; line-height: 1.55; }
.badge { display: inline-block; padding: 6px 10px; border-radius: 999px; font-size: .82rem; font-weight: 800; color: var(--brand); background: #e8f0f8; }
.overall-status { white-space: nowrap; font-weight: 800; border-radius: 999px; padding: 10px 14px; }
.overall-status.ok { color: var(--ok); background: var(--ok-bg); }
.grid { display: grid; gap: 16px; }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card, .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.card { padding: 20px; min-height: 160px; }
.card-label { display: block; color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; margin-bottom: 8px; }
.card strong { font-size: 1.35rem; color: var(--brand); }
.card p { margin: 10px 0 0; color: var(--muted); line-height: 1.45; }
.panel { margin-top: 20px; padding: 24px; }
.panel.quiet { box-shadow: none; }
.panel h2 { margin: 0 0 6px; font-size: 1.25rem; }
.panel p { line-height: 1.55; }
.muted { color: var(--muted); }
.check-list { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin: 20px 0; background: var(--surface); }
.check-list.compact { margin-bottom: 0; }
.check-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 13px 15px; border-bottom: 1px solid var(--line); }
.check-row:last-child { border-bottom: 0; }
.status.ok { color: var(--ok); }
.status.bad { color: var(--bad); }
.footer { color: var(--muted); text-align: center; padding: 0 16px 34px; font-size: .86rem; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top, #e7eff8 0, var(--bg) 45%); }
.auth-card { width: min(430px, 100%); background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: 28px; }
.auth-card.wide { width: min(560px, 100%); }
.auth-card h1 { text-align: center; margin: 0 0 4px; color: var(--brand); }
.auth-card > p { text-align: center; }
form { display: grid; gap: 15px; margin-top: 20px; }
label { display: grid; gap: 7px; font-weight: 700; font-size: .93rem; }
input, select, textarea { width: 100%; padding: 12px 13px; border: 1px solid #bdcad8; border-radius: 11px; font: inherit; background: white; color: var(--ink); }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(35, 91, 143, .15); border-color: var(--brand2); }
.button { border: 0; border-radius: 11px; padding: 12px 15px; font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; text-align: center; display: inline-block; }
.button.primary { background: var(--brand); color: white; }
.button.primary:hover { background: var(--brand2); }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button.full { width: 100%; }
.notice { border-radius: 12px; padding: 12px 14px; margin: 18px 0; line-height: 1.4; }
.notice.error { background: var(--bad-bg); color: var(--bad); }
.notice.warning { background: var(--warn-bg); color: var(--warn); }
.notice.success { background: var(--ok-bg); color: var(--ok); }
.pdf-read-status { margin: 0; padding: 11px 13px; border-radius: 11px; font-weight: 700; line-height: 1.4; }
.pdf-read-status.reading { color: var(--brand); background: #eef4fa; }
.pdf-read-status.success { color: var(--ok); background: var(--ok-bg); }
.pdf-read-status.error { color: var(--bad); background: var(--bad-bg); }
.tiny { font-size: .8rem; line-height: 1.4; }
@media (max-width: 900px) {
  .grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand small { max-width: 320px; }
}
@media (max-width: 620px) {
  .topbar-inner { width: min(100% - 20px, 1180px); min-height: 64px; }
  .brand small { display: none; }
  .brand > span:last-child strong { font-size: .95rem; }
  .nav a { padding: 9px; font-size: .88rem; }
  .container { width: min(100% - 20px, 1180px); margin-top: 24px; }
  .hero { display: grid; gap: 14px; }
  .overall-status { justify-self: start; }
  .grid.four { grid-template-columns: 1fr; }
  .card { min-height: auto; }
  .panel { padding: 18px; }
  .check-row { align-items: flex-start; }
  .auth-card { padding: 22px; }
}

/* Étape 2 — import et lecture bancaire */
.overall-status.bad { color: var(--bad); background: var(--bad-bg); }
.overall-status.warn { color: var(--warn); background: var(--warn-bg); }
.hero.compact-hero { margin-bottom: 18px; }
.hero-actions { margin-top: 20px; }
.button.secondary { background: #edf3f9; color: var(--brand); border: 1px solid #d4e0eb; }
.button.secondary:hover { background: #e3edf7; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.split-head { align-items: center; }
.import-panel { overflow: hidden; }
.upload-form { max-width: 760px; }
.upload-zone { border: 2px dashed #aac0d5; background: #f8fbfe; border-radius: 16px; padding: 24px; cursor: pointer; }
.upload-zone:hover { border-color: var(--brand2); background: #f3f8fc; }
.upload-title { color: var(--brand); font-size: 1.08rem; font-weight: 800; }
.upload-zone input[type="file"] { margin-top: 10px; background: white; }
.scope-note { margin-top: 18px; padding: 14px 16px; border-radius: 12px; background: #eef4fa; color: #31475e; line-height: 1.5; }
.empty-state { padding: 26px 16px; text-align: center; color: var(--muted); border: 1px dashed var(--line); border-radius: 14px; margin-top: 18px; }
.table-wrap { width: 100%; overflow-x: auto; margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; }
.data-table { width: 100%; border-collapse: collapse; background: white; min-width: 760px; }
.data-table th { text-align: left; font-size: .79rem; text-transform: uppercase; letter-spacing: .045em; color: var(--muted); background: #f7f9fc; padding: 12px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.data-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfdff; }
.number { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.status-pill { display: inline-block; border-radius: 999px; padding: 5px 9px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.status-pill.ok { color: var(--ok); background: var(--ok-bg); }
.status-pill.warn { color: var(--warn); background: var(--warn-bg); }
.status-pill.bad { color: var(--bad); background: var(--bad-bg); }
.text-link { color: var(--brand2); font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.stage-boundary { border-left: 5px solid #d4a72c; }
.back-line { margin-bottom: 12px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.summary-card { padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); display: grid; gap: 7px; }
.summary-card > span { color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 800; }
.summary-card > strong { color: var(--brand); font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.summary-card > small { color: var(--muted); }
.summary-card.emphasis { border-color: #b8d3c5; background: #fbfffc; }
.count-badge { display: inline-block; border-radius: 999px; padding: 7px 10px; background: #eef4fa; color: var(--brand); font-size: .82rem; font-weight: 800; white-space: nowrap; }
.operations-wrap { max-height: none; }
.operations-table { min-width: 850px; }
.operations-table th:nth-child(1) { width: 110px; }
.operations-table th:nth-child(3), .operations-table th:nth-child(4) { width: 135px; text-align: right; }
.raw-label { white-space: normal; overflow-wrap: anywhere; line-height: 1.38; font-size: .91rem; }
.date-cell { white-space: nowrap; }
.debit { color: #7b2822; }
.credit { color: #14623e; }
.notice-list { margin: 8px 0 0 20px; padding: 0; }
.notice-list li + li { margin-top: 4px; }
.meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin-top: 18px; }
.meta-grid div { display: grid; gap: 4px; min-width: 0; }
.meta-grid span { color: var(--muted); font-size: .82rem; }
.meta-grid strong { overflow-wrap: anywhere; }
.stage-warning { border-left: 5px solid #d4a72c; background: #fffdf7; box-shadow: none; }
.mini-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.mini-stats div { border: 1px solid var(--line); border-radius: 13px; padding: 14px; display: grid; gap: 5px; }
.mini-stats span { color: var(--muted); font-size: .8rem; }
.mini-stats strong { color: var(--brand); font-variant-numeric: tabular-nums; }
.empty-welcome .button { margin-top: 8px; }

/* Étape 3 — contrôles bancaires */
.control-panel { border-top: 5px solid var(--brand2); }
.control-list { margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.control-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 16px; border-bottom: 1px solid var(--line); }
.control-row:last-child { border-bottom: 0; }
.control-row > div { display: grid; gap: 4px; }
.control-row > div span { color: var(--muted); font-size: .88rem; line-height: 1.4; }

/* Étape 4 — reconnaissance et classification */
.review-card { border-top: 4px solid #d4a72c; }
.filter-links { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-links a { padding: 8px 10px; border-radius: 9px; background: #f2f5f8; color: var(--muted); text-decoration: none; font-weight: 750; font-size: .86rem; }
.filter-links a.active { background: var(--brand); color: white; }
.operation-list { margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.operation-item { display: grid; grid-template-columns: 125px minmax(0, 1fr) 180px; gap: 18px; padding: 16px; border-bottom: 1px solid var(--line); align-items: start; }
.operation-item:last-child { border-bottom: 0; }
.operation-item:hover { background: #fbfdff; }
.operation-date { display: grid; gap: 4px; }
.operation-date span { color: var(--muted); font-size: .82rem; }
.operation-main { display: grid; gap: 10px; min-width: 0; }
.raw-label.compact { color: #344556; font-size: .85rem; }
.classification-proposal { display: grid; gap: 3px; padding-top: 9px; border-top: 1px dashed var(--line); }
.classification-proposal span { color: var(--muted); font-size: .84rem; }
.operation-side { display: grid; justify-items: end; gap: 8px; }
.operation-amount, .operation-total { font-size: 1.15rem; font-variant-numeric: tabular-nums; font-weight: 850; white-space: nowrap; }
.compact-button { padding: 9px 11px; font-size: .86rem; }
.narrow-container { width: min(900px, calc(100% - 32px)); }
.raw-label.boxed { margin-top: 15px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.cheque-callout { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-left: 5px solid var(--brand2); }
.cheque-callout p { margin: 5px 0 0; color: var(--muted); }
.classification-form { max-width: 760px; }
fieldset { border: 1px solid var(--line); border-radius: 12px; padding: 13px; margin: 0; }
legend { padding: 0 6px; font-weight: 800; }
.radio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.vat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.radio-choice, .check-choice { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdff; cursor: pointer; }
.radio-choice input, .check-choice input { width: auto; flex: 0 0 auto; }
.memory-box { border: 1px solid #b8cada; border-radius: 13px; padding: 12px; background: #f6fafe; }
.memory-details { margin-top: 13px; display: grid; gap: 13px; }
.memory-details[hidden] { display: none; }
.cheque-rule-panel { border-left: 5px solid var(--brand2); }
.allocation-list { display: grid; gap: 12px; }
.allocation-row { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(120px, .6fr) minmax(150px, .7fr) auto; gap: 10px; align-items: end; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.remove-button { color: var(--bad); background: var(--bad-bg); padding: 12px 10px; }
.add-line-button { justify-self: start; }
.allocation-total { padding: 15px; border: 2px solid var(--line); border-radius: 13px; display: grid; gap: 4px; }
.allocation-total span, .allocation-total small { color: var(--muted); }
.allocation-total strong { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.allocation-total.ok { border-color: #9ac7ae; background: var(--ok-bg); color: var(--ok); }
.allocation-total.bad { border-color: #e6aaa4; background: var(--bad-bg); color: var(--bad); }
.classification-cell { min-width: 210px; }
.classification-cell > * { display: block; margin-bottom: 5px; }
.classification-cell > span:not(.status-pill), .classification-cell small { color: var(--muted); font-size: .82rem; }
.operations-table { min-width: 1100px; }
.operations-table th:nth-child(3) { width: 260px; text-align: left; }
.operations-table th:nth-child(4), .operations-table th:nth-child(5) { width: 125px; text-align: right; }

@media (max-width: 900px) {
  .summary-grid, .mini-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .nav { gap: 2px; }
  .nav a { padding: 8px 7px; font-size: .81rem; }
  .panel-head, .split-head { display: grid; }
  .summary-grid, .mini-stats, .meta-grid { grid-template-columns: 1fr; }
  .upload-zone { padding: 18px; }
  .control-row { align-items: flex-start; display: grid; }
  .table-wrap.mobile-cards { border: 0; overflow: visible; }
  .operations-table { min-width: 760px; }
  .operation-item { grid-template-columns: 1fr; gap: 11px; }
  .operation-side { justify-items: start; }
  .radio-grid, .vat-grid { grid-template-columns: 1fr; }
  .cheque-callout { display: grid; }
  .allocation-row { grid-template-columns: 1fr; }
  .nav a { font-size: .76rem; padding: 8px 5px; }
}

/* Étape 4.1 — correctif ergonomie : recherche, filtres et TVA visible */
.operations-tools-panel { display: grid; gap: 18px; }
.operation-search-form { display: grid; gap: 8px; }
.search-row { display: flex; gap: 8px; align-items: center; }
.search-row input[type="search"] { margin: 0; flex: 1 1 420px; min-width: 0; }
.operation-type-filter { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.vat-inline-block { display: grid; gap: 7px; padding-top: 2px; }
.vat-inline-title { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.quick-vat-form { display: flex; flex-wrap: wrap; gap: 6px; }
.vat-chip { appearance: none; border: 1px solid #cbd7e3; background: #f7fafc; color: #43566a; border-radius: 999px; padding: 6px 9px; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.vat-chip:hover { border-color: var(--brand2); color: var(--brand); }
.vat-chip.selected { background: var(--brand); border-color: var(--brand); color: white; }
.vat-split-summary { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.vat-split-summary strong { color: var(--brand); font-size: .88rem; }
.vat-split-summary span { color: var(--muted); font-size: .8rem; }
.vat-split-link { font-size: .84rem; justify-self: start; }
.operation-item:target { outline: 3px solid #b7d0e8; outline-offset: -3px; background: #f6faff; }

@media (max-width: 620px) {
  .search-row { display: grid; grid-template-columns: 1fr 1fr; }
  .search-row input[type="search"] { grid-column: 1 / -1; width: 100%; }
  .operation-type-filter { align-items: flex-start; display: grid; gap: 8px; }
  .quick-vat-form { gap: 5px; }
  .vat-chip { padding: 7px 9px; }
}

/* Étape 5 — validation mensuelle */
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ready-card { border-top: 4px solid #2f8a5c; }
.status-pill.ready { color: var(--ok); background: var(--ok-bg); }
.status-pill.locked { color: #455468; background: #e9eef3; }
.month-status-grid { margin-bottom: 18px; }
.month-list { display: grid; gap: 10px; margin-top: 18px; }
.month-row { display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(170px, .8fr) auto auto; align-items: center; gap: 14px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.month-row-main { display: grid; gap: 4px; }
.month-row-main span, .month-row-counts { color: var(--muted); font-size: .84rem; }
.month-row-counts { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.month-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.final-validation-panel { border-left: 5px solid #d4a72c; }
.final-validation-panel.ready, .final-validation-panel.validated { border-left-color: #2f8a5c; background: #fbfffc; }
.final-validation-form { display: grid; gap: 9px; margin-top: 18px; justify-items: start; }
.final-validation-form small { color: var(--muted); max-width: 720px; line-height: 1.45; }
.validate-button.ready { background: var(--ok); }
.validate-button.ready:hover { background: #246d49; }
.validate-button.pending { background: #d79b24; color: #fff; opacity: .8; cursor: not-allowed; }
.warning-button { background: #b56b16; color: #fff; }
.warning-button:hover { background: #925510; }
.reopen-box { margin-top: 18px; padding: 14px 16px; border: 1px solid #e1d4bd; border-radius: 12px; background: #fffaf2; }
.reopen-box summary { cursor: pointer; font-weight: 800; color: #7e561f; }
.reopen-box p { color: var(--muted); line-height: 1.45; }
.reopen-form { display: grid; gap: 12px; margin-top: 12px; justify-items: start; }
.trace-list { display: grid; gap: 8px; margin-top: 14px; }
.trace-list div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.trace-list div:last-child { border-bottom: 0; }
.trace-list span { color: var(--muted); }
.readonly-classification { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.readonly-classification > div { display: grid; gap: 5px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafc; }
.readonly-classification > div.wide { grid-column: 1 / -1; }
.readonly-classification span { color: var(--muted); font-size: .82rem; }
.readonly-allocations { display: grid; gap: 10px; }
.readonly-allocation-row { display: grid; grid-template-columns: minmax(160px, 1fr) auto auto; gap: 14px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: #f8fafc; }
.readonly-allocation-row span { color: var(--muted); }
.locked-vat { display: inline-block; width: max-content; cursor: default; }
.month-filter-notice { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.month-filter-notice .text-link { margin-left: auto; }

@media (max-width: 900px) {
  .grid.three { grid-template-columns: 1fr; }
  .month-row { grid-template-columns: 1fr 1fr; }
  .month-row-actions { justify-content: flex-start; grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .month-row { grid-template-columns: 1fr; }
  .month-row-actions { grid-column: auto; display: grid; }
  .month-row-actions .button { width: 100%; text-align: center; }
  .readonly-classification { grid-template-columns: 1fr; }
  .readonly-classification > div.wide { grid-column: auto; }
  .readonly-allocation-row { grid-template-columns: 1fr; gap: 5px; }
  .trace-list div { display: grid; gap: 3px; }
  .month-filter-notice .text-link { margin-left: 0; width: 100%; }
  .topbar-inner { gap: 8px; padding: 7px 0; align-items: flex-start; }
  .brand > span:last-child { display: none; }
  .brand-mark.small { width: 38px; height: 38px; }
  .nav { gap: 1px; flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
  .nav a { font-size: .72rem; padding: 8px 4px; }
}

/* Étape 6 — tableau de bord principal */
.dashboard-container { display: grid; gap: 20px; }
.dashboard-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 8px 2px 0; }
.dashboard-heading h1 { margin-bottom: 7px; }
.dashboard-heading p { margin: 0; color: var(--muted); }
.dashboard-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.dashboard-kpi { min-height: 162px; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: var(--shadow); display: grid; align-content: start; gap: 9px; }
.dashboard-kpi > span { color: var(--muted); font-size: .8rem; font-weight: 850; text-transform: uppercase; letter-spacing: .045em; }
.dashboard-kpi > strong { color: var(--brand); font-size: clamp(1.45rem, 2vw, 2rem); font-variant-numeric: tabular-nums; }
.dashboard-kpi > small { color: var(--muted); line-height: 1.4; }
.dashboard-kpi.primary-kpi { border-top: 5px solid var(--brand2); }
.dashboard-kpi.future-kpi { background: #fafbfd; border-style: dashed; box-shadow: none; }
.dashboard-kpi.future-kpi > strong { color: #69788a; font-size: 1.2rem; }
.dashboard-section { padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: var(--shadow); }
.dashboard-section h2 { margin-top: 0; }
.dashboard-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.dashboard-section-head p { margin: 4px 0 0; color: var(--muted); }
.dashboard-month-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.dashboard-month-grid article { display: grid; gap: 7px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.dashboard-month-grid span { color: var(--muted); font-size: .8rem; font-weight: 800; }
.dashboard-month-grid strong { color: var(--brand); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.dashboard-month-grid small { color: var(--muted); line-height: 1.35; }
.dashboard-month-grid .pending-metric { border-style: dashed; background: #fafbfd; }
.dashboard-month-grid .pending-metric strong { color: #69788a; font-size: 1rem; }
.dashboard-footnote { margin: 15px 0 0; padding: 12px 14px; border-radius: 11px; background: #f3f7fb; color: #405469; }
.dashboard-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.watch-panel, .quick-actions-panel { box-shadow: none; }
.watch-item { padding: 14px; border-radius: 12px; display: grid; gap: 5px; }
.watch-item.warn { background: var(--warn-bg); color: var(--warn); }
.watch-item.ok { background: var(--ok-bg); color: var(--ok); }
.watch-item span { color: inherit; opacity: .88; line-height: 1.4; }
.dashboard-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.dashboard-limit-note { margin: 15px 0 0; font-size: .86rem; line-height: 1.45; }

@media (max-width: 900px) {
  .dashboard-kpis, .dashboard-month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .dashboard-heading, .dashboard-section-head { display: grid; }
  .dashboard-kpis, .dashboard-month-grid, .dashboard-two-columns { grid-template-columns: 1fr; }
  .dashboard-kpi { min-height: auto; }
  .dashboard-actions { display: grid; }
  .dashboard-actions .button { width: 100%; }
}

/* Étape 6 — correctif 6.0.2 : consultation par mois */
.dashboard-heading-with-period { align-items: end; }
.dashboard-period-selector { display: grid; gap: 7px; min-width: 330px; }
.dashboard-period-selector label { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.dashboard-period-selector > div { display: flex; gap: 8px; align-items: center; }
.dashboard-period-selector select { margin: 0; min-width: 220px; }
.unvalidated-month-panel { border-left: 5px solid #d4a72c; }
.dashboard-inline-warning { margin-top: 18px; }

@media (max-width: 760px) {
  .dashboard-heading-with-period { display: grid; gap: 14px; }
  .dashboard-period-selector { min-width: 0; width: 100%; }
  .dashboard-period-selector > div { display: grid; grid-template-columns: 1fr auto; }
  .dashboard-period-selector select { min-width: 0; width: 100%; }
}

@media (max-width: 480px) {
  .dashboard-period-selector > div { grid-template-columns: 1fr; }
  .dashboard-period-selector .button { width: 100%; }
}

/* Étape 7 — disponible réel / prévisionnel */
.available-kpi { border-top: 4px solid var(--ok); }
.pending-kpi { border-top: 4px solid #d9a514; }
.availability-section { border-top: 4px solid var(--brand2); }
.availability-badge { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; font-size: .82rem; font-weight: 800; white-space: nowrap; }
.availability-badge.ok { color: var(--ok); background: var(--ok-bg); }
.availability-badge.warn { color: var(--warn); background: var(--warn-bg); }
.availability-badge.pending { color: var(--brand); background: #e8f0f8; }
.availability-breakdown { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-top: 18px; }
.availability-row { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 12px 15px; border-bottom: 1px solid var(--line); background: var(--surface); }
.availability-row:last-child { border-bottom: 0; }
.availability-row span { min-width: 0; }
.availability-row span small { display: block; color: var(--muted); margin-top: 2px; font-weight: 500; }
.availability-row.subtract strong { color: var(--bad); }
.availability-row.reserve-row strong { color: var(--brand); }
.availability-row.subtotal { background: #f7fafc; }
.availability-row.total { background: #eef6f1; font-size: 1.05rem; }
.availability-row.total strong { color: var(--ok); }
.availability-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.availability-info-grid > div { border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: #fbfcfe; display: grid; gap: 6px; }
.availability-info-grid span { color: var(--muted); line-height: 1.45; }
.forecast-box { margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; padding: 16px; background: #fbfcfe; }
.forecast-box h3 { margin: 0 0 8px; font-size: 1.05rem; }
.forecast-box p { margin: 0; color: var(--muted); }
.forecast-list { margin-top: 10px; border-top: 1px solid var(--line); }
.forecast-list > div, .forecast-total { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.forecast-list span { display: grid; gap: 2px; }
.forecast-list small { color: var(--muted); }
.forecast-total { border-bottom: 0; font-weight: 800; padding-bottom: 0; }
@media (max-width: 760px) {
  .availability-info-grid { grid-template-columns: 1fr; }
  .availability-row, .forecast-list > div, .forecast-total { align-items: flex-start; }
  .availability-row strong, .forecast-list > div > strong, .forecast-total strong { white-space: nowrap; }
  .availability-badge { white-space: normal; text-align: center; }
}

/* Étape 8 — moteur de rémunération TNS */
.tns-container { display: grid; gap: 18px; }
.step-chip { display: inline-flex; padding: 7px 11px; border-radius: 999px; background: #e8f0f8; color: var(--brand); font-size: .8rem; font-weight: 850; }
.tns-kpi { border-top: 4px solid var(--brand2); }
.tns-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.tns-kpis article, .tns-scenario-grid article { border: 1px solid var(--line); border-radius: 15px; padding: 16px; background: var(--surface); display: grid; gap: 7px; }
.tns-kpis span, .tns-scenario-grid span { color: var(--muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.tns-kpis strong, .tns-scenario-grid strong { color: var(--brand); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.tns-kpis small, .tns-scenario-grid small { color: var(--muted); line-height: 1.4; }
.tns-reserve-section { border-top: 4px solid var(--brand2); }
.tns-scenario-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.tns-source-note { margin: 14px 0 0; line-height: 1.45; }
.tns-advice-section { border-top: 4px solid #d9a514; }
.tns-advice-amount { margin-top: 18px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; padding: 18px; border-radius: 15px; background: #f7fafc; }
.tns-advice-amount > strong { color: var(--brand); font-size: clamp(1.8rem, 4vw, 2.6rem); white-space: nowrap; }
.tns-advice-amount > span { color: var(--muted); line-height: 1.5; }
.tns-advice-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.tns-advice-details > div, .tns-simulation-result > div { border: 1px solid var(--line); border-radius: 12px; padding: 13px; display: grid; gap: 5px; background: #fff; }
.tns-advice-details span, .tns-simulation-result span { color: var(--muted); font-size: .83rem; }
.tns-warning { margin-top: 14px; }
.tns-simulator-form { display: grid; gap: 8px; margin-top: 14px; max-width: 620px; }
.tns-simulator-form label, .tns-allocation-form label { font-weight: 800; }
.tns-simulator-form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.tns-simulation-result { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.text-ok { color: var(--ok) !important; }
.text-bad { color: var(--bad) !important; }
.tns-remuneration-list { display: grid; gap: 10px; margin-top: 16px; }
.tns-remuneration-list article { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.tns-remuneration-list article > div:first-child { display: grid; gap: 4px; }
.tns-remuneration-list article > div:first-child span { color: var(--muted); }
.tns-allocation-summary { display: grid; gap: 4px; color: var(--muted); font-size: .9rem; }
.tns-payment-list { margin-top: 12px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.tns-payment-list > div { display: flex; justify-content: space-between; gap: 15px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.tns-payment-list > div:last-child { border-bottom: 0; }
.narrow-container { max-width: 1000px; }
.back-link { display: inline-flex; margin-bottom: 4px; font-weight: 800; }
.tns-allocation-form { display: grid; gap: 10px; max-width: 720px; }
.tns-split-grid { display: grid; gap: 8px; }
.tns-split-grid > div { display: grid; grid-template-columns: 1fr 180px; gap: 8px; }
@media (max-width: 900px) {
  .tns-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tns-simulation-result { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tns-remuneration-list article { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 620px) {
  .tns-kpis, .tns-scenario-grid, .tns-advice-details, .tns-simulation-result { grid-template-columns: 1fr; }
  .tns-advice-amount { grid-template-columns: 1fr; }
  .tns-simulator-form > div, .tns-split-grid > div { grid-template-columns: 1fr; }
  .tns-payment-list > div { align-items: flex-start; }
}
.tns-refresh-form { margin-top: 14px; }

/* Étape 9 — estimation TVA et CA3 officielle */
.watch-item.error { background: var(--bad-bg); color: var(--bad); }
.vat-container { display: grid; gap: 18px; }
.vat-estimate-section { border-top: 4px solid #d9a514; }
.vat-official-section { border-top: 4px solid var(--ok); }
.vat-kpis, .vat-official-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.vat-kpis article, .vat-official-grid article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.vat-kpis span, .vat-official-grid span { color: var(--muted); font-size: .79rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.vat-kpis strong, .vat-official-grid strong { color: var(--brand); font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.vat-kpis small, .vat-official-grid small { color: var(--muted); line-height: 1.4; }
.vat-kpis .vat-due { background: var(--warn-bg); border-color: #efd591; }
.vat-kpis .vat-credit { background: var(--ok-bg); border-color: #a8d3b9; }
.vat-equation { display: grid; grid-template-columns: repeat(4, auto 1fr); gap: 8px 12px; align-items: center; margin-top: 14px; padding: 14px; border-radius: 13px; background: #f4f7fb; }
.vat-equation span { color: var(--muted); font-size: .8rem; }
.vat-equation strong { color: var(--brand); white-space: nowrap; }
.vat-warning { margin-top: 14px; }
.vat-operation-list { display: grid; gap: 10px; margin-top: 16px; }
.vat-operation-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.vat-operation-list article > div { display: grid; gap: 4px; }
.vat-operation-list article > div span { color: var(--muted); }
.vat-rate-form { display: grid; grid-template-columns: auto 115px auto; align-items: end; gap: 8px; margin: 0; }
.vat-rate-form label { font-size: .78rem; color: var(--muted); }
.vat-rate-form select { padding: 9px 10px; }
.vat-import-details { margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; padding: 0 16px 16px; }
.vat-import-details summary { cursor: pointer; padding: 16px 0; font-weight: 850; color: var(--brand); }
.vat-ca3-form { margin-top: 0; }
.vat-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.vat-form-grid label { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }
.vat-form-grid label small { color: var(--muted); font-weight: 500; line-height: 1.35; }
.vat-file-field { grid-column: 1 / -1; }
.vat-document-name { overflow-wrap: anywhere; font-size: 1rem !important; }

@media (max-width: 900px) {
  .vat-kpis, .vat-official-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vat-equation { grid-template-columns: repeat(2, auto 1fr); }
}
@media (max-width: 620px) {
  .vat-kpis, .vat-official-grid, .vat-form-grid { grid-template-columns: 1fr; }
  .vat-file-field { grid-column: auto; }
  .vat-equation { grid-template-columns: 1fr auto; }
  .vat-operation-list article { grid-template-columns: 1fr; }
  .vat-rate-form { grid-template-columns: 1fr; width: 100%; }
}

/* Étape 9 — comparaison CA3, historique et note comptable.
   Ces règles doivent rester dans la feuille externe : la CSP interdit les styles inline. */
.vat-comparison-panel { margin-top: 1.25rem; padding: 1rem 1.1rem; border: 1px solid #d7e3ef; border-radius: 18px; background: #f8fbfe; }
.vat-comparison-panel h3 { margin: .1rem 0 .35rem; font-size: 1.25rem; }
.vat-comparison-panel > p { margin: .25rem 0 1rem; color: #526b82; }
.vat-comparison-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vat-comparison-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.vat-comparison-table th, .vat-comparison-table td { padding: .75rem .7rem; border-bottom: 1px solid #dfe8f0; text-align: right; vertical-align: top; }
.vat-comparison-table th:first-child, .vat-comparison-table td:first-child { text-align: left; }
.vat-comparison-table th { font-size: .8rem; text-transform: uppercase; color: #526b82; }
.vat-comparison-table td small { display: block; margin-top: .22rem; color: #667b8e; max-width: 420px; }
.vat-compare-ok { color: #08783e; font-weight: 800; }
.vat-compare-warn { color: #a56200; font-weight: 800; }
.vat-compare-rounding { color: #8a6500; font-weight: 800; }
.vat-accountant-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .7rem; margin-top: 1rem; }
.vat-accountant-check { padding: .8rem .9rem; border: 1px solid #dfe8f0; border-radius: 14px; background: #fff; }
.vat-accountant-check strong, .vat-accountant-check span { display: block; }
.vat-accountant-check span { margin-top: .25rem; color: #526b82; }
.vat-accountant-questions { margin-top: 1rem; }
.vat-accountant-questions summary { cursor: pointer; font-weight: 800; color: #0b3f6f; }
.vat-accountant-questions ul { margin: .7rem 0 0 1.15rem; padding: 0; }
.vat-accountant-questions li { margin: .45rem 0; }
.vat-comparison-note { margin-top: .85rem; padding: .8rem .9rem; border-left: 4px solid #d8a400; background: #fff8dd; border-radius: 10px; color: #66520b; }
.vat-version-selector { margin: 1rem 0; padding: .85rem; border: 1px solid #dfe8f0; border-radius: 14px; background: #fff; }
.vat-version-selector label { display: block; font-weight: 800; margin-bottom: .4rem; }
.vat-version-selector .row { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; }
.vat-version-selector select { min-width: min(100%, 520px); }
.vat-version-meta { margin: .65rem 0; color: #526b82; }
.vat-note-actions { display: flex; gap: .55rem; flex-wrap: wrap; margin: .8rem 0; }
.vat-note-box { margin-top: .75rem; padding: 1rem; border: 1px solid #dfe8f0; border-radius: 14px; background: #fff; }
.vat-note-box h4 { margin: .1rem 0 .55rem; }
.vat-note-copy-source { width: 100%; min-height: 220px; resize: vertical; font: inherit; line-height: 1.45; padding: .75rem; border: 1px solid #ccd9e5; border-radius: 10px; background: #fbfdff; }
.vat-note-detailed { white-space: pre-wrap; line-height: 1.5; margin: 0; font-family: inherit; }
.vat-copy-feedback { font-weight: 700; color: #08783e; min-height: 1.3em; }

@media (max-width: 700px) {
  .vat-comparison-table { min-width: 680px; }
  .vat-note-actions .button { width: 100%; }
  .vat-version-selector .row > * { width: 100%; }
}

@media print {
  body.print-accountant-note * { visibility: hidden !important; }
  body.print-accountant-note #accountant-note-print,
  body.print-accountant-note #accountant-note-print * { visibility: visible !important; }
  body.print-accountant-note #accountant-note-print { position: absolute; left: 0; top: 0; width: 100%; border: 0; background: #fff; padding: 0; color: #000; }
  body.print-accountant-note #accountant-note-print .no-print { display: none !important; }
}

/* Étape 10 — estimation et réserve d'impôt sur les sociétés */
.is-container { display: grid; gap: 18px; }
.is-reserve-section { border-top: 4px solid var(--brand2); }
.is-scenario-section { border-top: 4px solid #d9a514; }
.is-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.is-kpis article, .is-scenario-grid article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.is-kpis span, .is-scenario-grid span { color: var(--muted); font-size: .79rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.is-kpis strong, .is-scenario-grid strong { color: var(--brand); font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.is-kpis small, .is-scenario-grid small { color: var(--muted); line-height: 1.4; }
.is-kpis .is-reserve-kpi { background: var(--warn-bg); border-color: #efd591; }
.is-scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.is-scenario-grid .active-scenario { border: 2px solid var(--brand2); background: #eef6f1; }
.is-warning { margin-top: 14px; }
.is-source-note { margin: 14px 0 0; line-height: 1.5; }
.is-hypothesis-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
.is-hypothesis-form > label { display: grid; gap: 7px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; font-weight: 800; }
.is-hypothesis-form > label small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.is-hypothesis-form .is-checkbox { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: start; }
.is-checkbox input { width: auto; margin-top: 4px; }
.is-checkbox span { display: grid; gap: 4px; }
.is-hypothesis-form button { justify-self: start; }
.is-payment-list { display: grid; gap: 10px; margin-top: 16px; }
.is-payment-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 15px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdff; }
.is-payment-list article > div { display: grid; gap: 4px; min-width: 0; }
.is-payment-list article > div span { color: var(--muted); overflow-wrap: anywhere; }
.is-payment-form { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, 1fr) auto; gap: 8px; align-items: end; }
.is-payment-form label { grid-column: 1 / -1; font-size: .78rem; color: var(--muted); font-weight: 800; }
.is-payment-form select, .is-payment-form input { margin: 0; }
.is-history { margin-top: 16px; border: 1px solid var(--line); border-radius: 13px; padding: 0 15px 15px; }
.is-history summary { cursor: pointer; padding: 15px 0; font-weight: 850; color: var(--brand); }
.is-history-list { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.is-history .is-history-list { border-radius: 9px; }
.is-history-list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.is-history-list > div:last-child { border-bottom: 0; }
.is-history-list span:last-child { color: var(--muted); text-align: right; }

@media (max-width: 900px) {
  .is-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .is-scenario-grid { grid-template-columns: 1fr; }
  .is-payment-list article { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .is-kpis, .is-hypothesis-form { grid-template-columns: 1fr; }
  .is-hypothesis-form .is-checkbox { grid-column: auto; }
  .is-payment-form, .is-history-list > div { grid-template-columns: 1fr; }
  .is-history-list span:last-child { text-align: left; }
  .is-hypothesis-form button, .is-payment-form .button { width: 100%; }
}

/* Étape 11.1.3 — échéancier URSSAF officiel */
.urssaf-schedule-section { border-top: 4px solid var(--brand2); }
.urssaf-upload-form, .urssaf-confirm-form { display: grid; gap: 10px; margin-top: 16px; }
.urssaf-upload-form > label, .urssaf-confirm-form > label { font-weight: 800; }
.urssaf-upload-form input[type="file"] { padding: 12px; border: 1px dashed var(--line); border-radius: 12px; background: #fbfdff; }
.pdf-read-status { margin: 0; line-height: 1.45; }
.pdf-read-status.reading { color: #8a6500; }
.pdf-read-status.ready { color: var(--ok); font-weight: 700; }
.pdf-read-status.error { color: var(--bad); font-weight: 700; }
.urssaf-edit-grid { display: grid; gap: 8px; margin-top: 8px; }
.urssaf-edit-head, .urssaf-edit-row { display: grid; grid-template-columns: 170px 170px minmax(0, 1fr); gap: 8px; align-items: center; }
.urssaf-edit-head { color: var(--muted); font-size: .8rem; font-weight: 850; text-transform: uppercase; letter-spacing: .03em; padding: 0 4px; }
.urssaf-edit-row input { width: 100%; margin: 0; }
.urssaf-cancel-form { margin-top: 10px; }
.urssaf-schedule-list { margin-top: 12px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.urssaf-schedule-list > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 13px; border-bottom: 1px solid var(--line); background: #fff; }
.urssaf-schedule-list > div:last-child { border-bottom: 0; }
.urssaf-schedule-list span { color: var(--muted); }
.urssaf-official-summary { margin-top: 14px; }
@media (max-width: 720px) {
  .urssaf-edit-head { display: none; }
  .urssaf-edit-row { grid-template-columns: 1fr; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }
  .urssaf-schedule-list > div { align-items: flex-start; }
}

/* Étape 11.1.4 — rapprochement TVA explicatif, causes documentées vs hypothèses */
.vat-documented-inline { margin-top: .35rem !important; color: #147a42 !important; font-weight: 700; }
.vat-reconciliation-explanations { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .85rem; margin-top: 1rem; }
.vat-reconciliation-box { padding: 1rem; border-radius: 14px; border: 1px solid #dfe8f0; background: #fff; }
.vat-reconciliation-box h4 { margin: 0 0 .65rem; font-size: 1rem; }
.vat-reconciliation-box article + article { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #e5edf4; }
.vat-reconciliation-box article p, .vat-reconciliation-box > p { margin: .35rem 0; color: #455f76; line-height: 1.45; }
.vat-reconciliation-box article small { color: #60788e; }
.vat-reconciliation-box.documented { border-left: 4px solid #21864b; background: #f4fbf7; }
.vat-reconciliation-box.hypotheses { border-left: 4px solid #d8a400; background: #fffaf0; }
.vat-reconciliation-box ul { margin: .35rem 0 0 1.15rem; padding: 0; }
.vat-reconciliation-box li { margin: .38rem 0; color: #455f76; }
.vat-hypothesis-warning { margin-top: .8rem !important; padding-top: .7rem; border-top: 1px solid #eadca6; color: #66520b !important; }
.vat-accountant-question-preview { margin-top: 1rem; padding: 1rem; border: 1px solid #d7e3ef; border-radius: 14px; background: #f7fbff; }
.vat-accountant-question-preview h4 { margin: 0 0 .55rem; }
.vat-accountant-question-preview ol { margin: .35rem 0 .65rem 1.2rem; padding: 0; }
.vat-accountant-question-preview li { margin: .5rem 0; line-height: 1.45; }
.vat-accountant-question-preview p { margin: .45rem 0 0; color: #526b82; }

/* Étape 13.1 — historique multi-périodes, lecture seule */
.history-chart-list{display:grid;gap:14px}.history-chart-row{display:grid;gap:10px;padding:14px;border:1px solid #dbe4ee;border-radius:16px}.history-chart-metric{display:grid;grid-template-columns:minmax(130px,180px) 1fr minmax(100px,140px);gap:12px;align-items:center}.history-chart-metric progress{width:100%;height:18px}.history-chart-metric b{text-align:right}.compact-history-chart .history-chart-metric{grid-template-columns:minmax(120px,160px) 1fr minmax(100px,135px)}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:10px 12px;border-bottom:1px solid #e4ebf2;text-align:left;white-space:nowrap}.history-table th{font-size:.88rem}.table-wrap{overflow-x:auto}@media(max-width:720px){.history-chart-metric,.compact-history-chart .history-chart-metric{grid-template-columns:1fr}.history-chart-metric b{text-align:left}}

/* Étape 13.2 — vue annuelle secondaire */
.annual-kpis { margin-bottom: 1.2rem; }
.annual-reserve-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.8rem; }
.annual-reserve-grid article { border: 1px solid var(--border, #d7dde5); border-radius: 12px; padding: 1rem; background: #fff; display: flex; flex-direction: column; gap: 0.35rem; }
.annual-reserve-grid span { font-size: 0.88rem; color: var(--muted, #667085); }
.annual-reserve-grid strong { font-size: 1.15rem; }
.annual-reserve-grid small { color: var(--muted, #667085); line-height: 1.35; }
.annual-available-card { grid-column: span 1; }
.annual-table { min-width: 1080px; }
@media (max-width: 1000px) { .annual-reserve-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .annual-available-card { grid-column: span 2; } }
@media (max-width: 640px) { .annual-reserve-grid { grid-template-columns: 1fr; } .annual-available-card { grid-column: span 1; } }


/* Étape 13.3 — recherche globale depuis le tableau de bord */
.dashboard-search-panel { padding: 18px 20px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: var(--shadow); display: grid; gap: 14px; }
.dashboard-search-form { display: grid; gap: 8px; }
.dashboard-search-row { display: flex; gap: 8px; align-items: center; }
.dashboard-search-row input[type="search"] { margin: 0; flex: 1 1 560px; min-width: 0; }
.dashboard-search-hint { color: #405469; line-height: 1.4; }
.dashboard-search-results { display: grid; gap: 10px; padding-top: 4px; border-top: 1px solid var(--line); }
.dashboard-search-results-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.dashboard-search-result-list { display: grid; gap: 8px; }
.dashboard-search-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }
.dashboard-search-result > div:first-child { min-width: 0; display: grid; gap: 3px; }
.dashboard-search-result span, .dashboard-search-result small { color: var(--muted); line-height: 1.35; overflow-wrap: anywhere; }
.dashboard-search-result-side { display: grid; justify-items: end; gap: 7px; }
.compact-empty { padding: 14px; }

@media (max-width: 700px) {
  .dashboard-search-row { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-search-row input[type="search"] { grid-column: 1 / -1; width: 100%; }
  .dashboard-search-result { grid-template-columns: 1fr; }
  .dashboard-search-result-side { justify-items: start; }
  .dashboard-search-results-head { align-items: flex-start; display: grid; }
}


/* 14.5.1 — ergonomie uniquement : navigation compacte, sans impact métier */
.plp-main-nav { flex-wrap: nowrap; }
.nav-more { position: relative; }
.nav-more > summary { list-style: none; cursor: pointer; user-select: none; text-decoration: none; padding: 10px 12px; border-radius: 10px; color: var(--muted); font-weight: 650; white-space: nowrap; }
.nav-more > summary::-webkit-details-marker { display: none; }
.nav-more > summary::after { content: " ▾"; font-size: .76em; }
.nav-more > summary:hover, .nav-more > summary.active, .nav-more[open] > summary { background: #eef4fa; color: var(--brand); }
.nav-more-menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 80; min-width: 250px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); display: grid; gap: 2px; }
.nav-more-menu a { display: block; white-space: nowrap; padding: 10px 12px; }
.nav-logout { white-space: nowrap; }
.is-qualified-payments { margin-top: 14px; }
.is-qualified-payments > summary { cursor: pointer; font-weight: 800; color: var(--brand); }
.is-qualified-payments .is-payment-list { margin-top: 12px; }

@media (max-width: 760px) {
  .topbar-inner { align-items: center; }
  .plp-main-nav { flex-wrap: wrap; justify-content: flex-end; }
  .nav-more-menu { position: fixed; left: 12px; right: 12px; top: 70px; min-width: 0; max-height: calc(100vh - 90px); overflow: auto; }
}

@media (max-width: 460px) {
  .topbar-inner { width: calc(100% - 16px); }
  .plp-main-nav a, .nav-more > summary { font-size: .70rem; padding: 7px 4px; }
  .nav-more-menu a { font-size: .9rem; padding: 11px 12px; }
}

/* 14.6.0 — Pré-bilan / bilan, styles isolés du reste de l'application. */
.pb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pb-card{border:1px solid #d7e1ec;border-radius:16px;padding:18px;background:#fff}
.pb-card span{display:block;color:#546b82;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}
.pb-card strong{display:block;margin-top:8px;font-size:1.35rem;color:#073b67}
.pb-card small{display:block;margin-top:7px;color:#546b82}
.pb-wide{grid-column:span 2}
.pb-result{background:#eef8f2;border-color:#bfe2cc}
.pb-provisional{background:#fff8df;border-color:#ead58b}
.pb-section{margin-top:22px}
.pb-details-grid{margin-top:12px}
.pb-note{border-left:5px solid #1f4e79;background:#f6f9fc;border-radius:12px;padding:15px 17px}
.pb-note.pb-provisional{border-left-color:#d7a800}
.pb-history{width:100%;border-collapse:collapse}
.pb-history th,.pb-history td{padding:11px 10px;border-bottom:1px solid #dce5ee;text-align:left;vertical-align:top}
.pb-history th{font-size:.8rem;text-transform:uppercase;color:#546b82}
.pb-badge{display:inline-block;border-radius:999px;padding:4px 9px;font-weight:700;font-size:.8rem;background:#eef4fa;color:#174a75}
.pb-badge.prov{background:#fff2c2;color:#8a5c00}
.pb-limits{margin:0;padding-left:1.2rem}
.pb-limits li{margin:.35rem 0}
.pb-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.pb-grid{grid-template-columns:1fr 1fr}.pb-wide{grid-column:span 2}}
@media(max-width:620px){.pb-grid{grid-template-columns:1fr}.pb-wide{grid-column:span 1}.pb-history{font-size:.9rem}.pb-history th:nth-child(3),.pb-history td:nth-child(3){display:none}}

/* 14.7.0 — Pré-bilan présenté comme le dossier comptable KARA */
.pb-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pb-accountant-source{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding:16px 18px;border:1px solid #cfe0ed;border-radius:14px;background:#f8fbfd}
.pb-accountant-source span{color:#546b82}
.pb-accounting-sheet{margin-top:24px;border:1px solid #d7e1ec;border-radius:16px;overflow:hidden;background:#fff}
.pb-accounting-sheet h3{margin:0;padding:16px 18px;background:#eef4fa;border-bottom:1px solid #d7e1ec;color:#0a3d68;font-size:1.15rem}
.pb-accounting-table{width:100%;border-collapse:collapse;min-width:900px}
.pb-accounting-table th,.pb-accounting-table td{padding:12px 14px;border-bottom:1px solid #e2e9f0;vertical-align:top;text-align:right}
.pb-accounting-table th:first-child,.pb-accounting-table td:first-child{text-align:left;width:34%}
.pb-accounting-table th:last-child,.pb-accounting-table td:last-child{text-align:left;width:16%}
.pb-accounting-table th{font-size:.78rem;text-transform:uppercase;color:#546b82;background:#fbfcfe}
.pb-accounting-table td:first-child small{display:block;margin-top:5px;color:#6b7f91;line-height:1.35;font-weight:400}
.pb-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:800;white-space:nowrap}
.pb-status.ok{background:#e4f5ea;color:#08753b}.pb-status.warn{background:#fff0c7;color:#8b5d00}.pb-status.info{background:#e8f1fa;color:#245a82}.pb-status.muted{background:#eef1f4;color:#687786}
.pb-fiscal-annex h3{background:#eef8f2;color:#176b45}
.pb-import-intro{margin:16px 0;color:#425d73}
.pb-accounting-form{margin-top:16px}
.pb-reader-status{margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef4fa;color:#35536b}
.pb-reader-status.ok{background:#e7f6ec;color:#147043}.pb-reader-status.warn{background:#fff4d6;color:#8a5c00}
.pb-import-fields{margin:12px 0;border:1px solid #d7e1ec;border-radius:12px;padding:0 14px;background:#fbfcfe}
.pb-import-fields summary{padding:13px 0;cursor:pointer;color:#0b3e6b}
.pb-money-inputs{padding:4px 0 16px}
.pb-money-inputs label{font-size:.86rem;color:#405a70}
.pb-money-inputs input{margin-top:6px}
@media(max-width:900px){.pb-compact-grid{grid-template-columns:1fr 1fr}.pb-accountant-source{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.pb-compact-grid{grid-template-columns:1fr}.pb-accounting-table{min-width:760px}}

/* 14.7.1 — période cumulée janvier → mois choisi + suppression contrôlée */
.pb-period-toolbar{display:flex;gap:16px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:16px 0}
.pb-period-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.pb-period-form label{display:grid;gap:6px;font-weight:800;color:#35536b}
.pb-period-form select{min-width:220px;margin:0}
.pb-row-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.pb-row-actions form{margin:0}
.button.danger{background:#fff0f0;color:#9b1c1c;border:1px solid #efb9b9}
.button.danger:hover{background:#ffe3e3}
.button.compact{padding:7px 10px;font-size:.82rem}
@media(max-width:620px){.pb-period-toolbar,.pb-period-form{display:grid;grid-template-columns:1fr;width:100%}.pb-period-form select,.pb-period-form .button,.pb-period-toolbar>.pb-actions,.pb-period-toolbar>.pb-actions .button{width:100%}.pb-row-actions{justify-content:flex-start}}

/* 14.7.2 — Pré-bilan : stock estimé + suppression en deux temps */
.pb-create-actions { align-items: flex-end; flex-wrap: wrap; }
.pb-stock-estimate { min-width: 250px; display: grid; gap: 5px; font-weight: 700; }
.pb-stock-estimate input { min-width: 210px; }
.pb-stock-estimate small { display: block; max-width: 330px; font-weight: 400; color: var(--muted, #64748b); line-height: 1.35; }
.pb-delete-form { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.pb-delete-confirm { display: inline-flex; align-items: center; gap: 8px; }
.pb-delete-confirm[hidden], [data-delete-start][hidden] { display: none !important; }
@media (max-width: 720px) {
  .pb-create-actions, .pb-stock-estimate { width: 100%; }
  .pb-stock-estimate input { width: 100%; min-width: 0; }
}

/* 14.8.0 — Archives / comparaisons par année */
.pb-action-disabled{font-size:.82rem;color:#7b8794;font-weight:700;white-space:nowrap}
.pb-document-table{width:100%;border-collapse:collapse;min-width:620px}
.pb-document-table th,.pb-document-table td{padding:11px 14px;border-bottom:1px solid #e2e9f0;text-align:left;vertical-align:top}
.pb-document-table th{font-size:.78rem;text-transform:uppercase;color:#546b82;background:#fbfcfe}
.pb-document-table th:last-child,.pb-document-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.pb-year-archives{display:grid;gap:14px;margin-top:16px}
.pb-year-archive{border:1px solid #d7e1ec;border-radius:16px;background:#fbfcfe;overflow:hidden}
.pb-year-archive>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;cursor:pointer;color:#0a3d68;list-style:none}
.pb-year-archive>summary::-webkit-details-marker{display:none}
.pb-year-archive>summary span:first-child{display:grid;gap:4px}
.pb-year-archive>summary small{color:#667b8d;font-weight:500}
.pb-year-archive[open]>summary{background:#eef4fa;border-bottom:1px solid #d7e1ec}
.pb-year-content{padding:8px 18px 20px}
.pb-year-content h3{margin:20px 0 10px;color:#123f66;font-size:1.05rem}
.pb-comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pb-comparison-card{display:grid;gap:5px;padding:14px 16px;border:1px solid #cbddeb;border-radius:14px;background:#fff;text-decoration:none;color:#123f66}
.pb-comparison-card:hover{border-color:#8fb4cf;box-shadow:0 4px 14px rgba(20,62,99,.08)}
.pb-comparison-card strong{font-size:1.05rem}.pb-comparison-card span{font-weight:700}.pb-comparison-card small{color:#60798e}
.pb-multiyear{margin-top:24px;padding-top:20px;border-top:1px solid #dce5ee}
.pb-multiyear h3{margin:0 0 6px;color:#0a3d68}
.pb-multiyear-table{min-width:1180px}
.pb-multiyear-table th:first-child,.pb-multiyear-table td:first-child{width:auto}
.pb-multiyear-table th:last-child,.pb-multiyear-table td:last-child{width:auto;text-align:left}
@media(max-width:900px){.pb-comparison-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pb-comparison-cards{grid-template-columns:1fr}.pb-year-archive>summary{align-items:flex-start;flex-direction:column}.pb-document-table{min-width:540px}}


/* 14.8.1 — Finitions visuelles des archives / comparaisons */
.pb-year-archive>summary{gap:22px}
.pb-year-summary-main{display:grid;gap:8px;min-width:0}
.pb-year-summary-main>strong{font-size:1.08rem;color:#0a3d68}
.pb-year-meta{display:flex!important;flex-wrap:wrap;gap:7px 0;color:#607589!important;font-weight:600!important;line-height:1.35}
.pb-year-meta>span{display:inline-flex;align-items:center;white-space:nowrap}
.pb-year-meta>span+span::before{content:"·";display:inline-block;margin:0 9px;color:#8aa0b2;font-weight:800}
.pb-year-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfdae5;border-radius:999px;background:#fff;color:#244f73;padding:7px 11px;font-size:.82rem;font-weight:800;white-space:nowrap}
.pb-year-toggle-close{display:none}
.pb-year-archive[open] .pb-year-toggle-open{display:none}
.pb-year-archive[open] .pb-year-toggle-close{display:inline}
.pb-year-archive[open] .pb-year-toggle{background:#f6f9fc}

.pb-multiyear .table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.pb-multiyear-table{min-width:1320px;table-layout:auto}
.pb-multiyear-table th,.pb-multiyear-table td{white-space:nowrap;font-variant-numeric:tabular-nums}
.pb-multiyear-table th{line-height:1.25}
.pb-multiyear-table th:first-child,.pb-multiyear-table td:first-child{width:90px;min-width:90px}
.pb-multiyear-table th:last-child,.pb-multiyear-table td:last-child{width:70px;min-width:70px;text-align:center}
.pb-multiyear-table th:not(:first-child):not(:last-child),.pb-multiyear-table td:not(:first-child):not(:last-child){min-width:128px;text-align:right}
.pb-multiyear-table td .text-link{white-space:nowrap}

@media(max-width:760px){
  .pb-year-archive>summary{align-items:flex-start;flex-direction:column;gap:10px}
  .pb-year-meta{display:grid!important;gap:4px!important}
  .pb-year-meta>span+span::before{display:none}
  .pb-year-toggle{align-self:flex-start}
  .pb-multiyear-table{min-width:1260px}
}

/* 14.8.2 — Pré-bilan : recentrage et confinement horizontal de la page */
.prebalance-page {
  width: min(1180px, calc(100% - 32px));
  max-width: 1180px;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  overflow-x: hidden;
}
.prebalance-page > *,
.prebalance-page .panel,
.prebalance-page .pb-year-archives,
.prebalance-page .pb-year-archive,
.prebalance-page .pb-year-content,
.prebalance-page .pb-multiyear,
.prebalance-page .pb-accounting-sheet {
  min-width: 0;
  max-width: 100%;
}
.prebalance-page .table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.prebalance-page .pb-multiyear-table {
  width: max-content;
  min-width: 1320px;
  max-width: none;
}
@media (max-width: 620px) {
  .prebalance-page {
    width: min(1180px, calc(100% - 20px));
  }
}

/* 14.8.2 — panneau Présentation comptable / rapprochement repliable */
.pb-rapprochement-collapse{padding:0;overflow:hidden}
.pb-rapprochement-collapse>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;color:#0a3d68;background:#fff;user-select:none}
.pb-rapprochement-collapse>summary::-webkit-details-marker{display:none}
.pb-rapprochement-collapse[open]>summary{background:#f8fbfd;border-bottom:1px solid #dce5ee}
.pb-rapprochement-title{display:grid;gap:5px;min-width:0}
.pb-rapprochement-title>strong{font-size:1.25rem;color:#0a3d68}
.pb-rapprochement-title>small{color:#617080;font-weight:500;line-height:1.4}
.pb-rapprochement-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfdae5;border-radius:999px;background:#fff;color:#244f73;padding:7px 12px;font-size:.82rem;font-weight:800;white-space:nowrap}
.pb-rapprochement-close{display:none}
.pb-rapprochement-collapse[open] .pb-rapprochement-open{display:none}
.pb-rapprochement-collapse[open] .pb-rapprochement-close{display:inline}
.pb-rapprochement-content{padding:0 24px 24px;min-width:0;max-width:100%}
.pb-rapprochement-intro{margin:18px 0 14px;color:#425d73}
@media(max-width:620px){
  .pb-rapprochement-collapse>summary{align-items:flex-start;flex-direction:column;padding:17px 18px;gap:10px}
  .pb-rapprochement-content{padding:0 18px 18px}
  .pb-rapprochement-toggle{align-self:flex-start}
}


/* 14.9.0 — import KARA pluriannuel (« Comptes 3 ans ») */
.pb-multiyear-import{margin-top:18px;border-top:1px solid #dce5ee;padding-top:18px}
.pb-multiyear-import>summary{cursor:pointer;color:#0a3d68}
.pb-multiyear-review{display:grid;gap:14px;margin:16px 0}
.pb-multiyear-year-card{border:1px solid #cfdeea;border-radius:16px;background:#fbfdff;padding:16px}
.pb-multiyear-year-card.is-existing{background:#f6f8fa}
.pb-multiyear-year-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pb-multiyear-check{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem}
.pb-multiyear-check input{width:auto}
.pb-multiyear-existing,.pb-multiyear-ready{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:700}
.pb-multiyear-existing{background:#fff2d8;color:#765500}
.pb-multiyear-ready{background:#e8f6ee;color:#137146}
.pb-multiyear-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.pb-multiyear-summary span{display:grid;gap:3px;padding:10px 12px;border:1px solid #e1e9f0;border-radius:12px;background:#fff;color:#61778b;font-size:.84rem}
.pb-multiyear-summary strong{color:#103f68;font-size:1rem;white-space:nowrap}
.pb-multiyear-details{margin-top:12px}
.pb-multiyear-details>summary{cursor:pointer;font-weight:700;color:#244f72}
@media(max-width:900px){.pb-multiyear-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pb-multiyear-summary{grid-template-columns:1fr}.pb-multiyear-year-head{align-items:flex-start;flex-direction:column}}
