/* Extend the validated mock stylesheet. Shell, palette, KPI cards and controls
   are shared through /assets/app/styles.css; no alternate theme is defined. */
[hidden]{display:none!important}
.sidebar{overflow-y:auto}
.live-links{margin-top:22px;margin-bottom:22px}
.live-links a{text-decoration:none}
.sidebar-footer{flex-wrap:wrap;font-size:12px}
.sidebar-backdrop{position:fixed;inset:0;z-index:25;border:0;background:rgba(6,21,34,.5)}
.demo-stamp{font-size:12px}.demo-badge{font-size:12px}.profile-menu a,.profile-menu button{color:var(--ink);font-size:14px}.profile-menu a:hover,.profile-menu button:hover{background:var(--canvas)}
.live-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 15px;flex-wrap:wrap}
.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.filters label,.panel-header label{display:grid;gap:5px;font-size:12px;color:var(--muted);font-weight:650}
.filters select,.panel-header select{min-height:38px;max-width:100%;padding:7px 28px 7px 11px;border:1px solid var(--line);border-radius:9px;background:white;color:#526a7a;font-size:14px}
.live-period-note,.coverage,.footnote{font-size:12px;color:var(--muted)}
.document-work-link{display:inline-flex;min-height:34px;padding:7px 11px;white-space:nowrap;text-decoration:none}
.coverage{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 0 13px}
#message:not(:empty){padding:11px 13px;margin-bottom:10px;border:1px solid #cde8ee;border-radius:10px;background:var(--info-bg);color:var(--info);font-size:14px}
#message.error{background:var(--warning-bg);color:var(--warning);border-color:#f0d9ad}
.sync-state>span.pending{background:var(--warning);box-shadow:none}
.tabs{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 17px;padding:4px;width:fit-content;border:1px solid var(--line);border-radius:10px;background:#edf3f6}
.tabs button{padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}
.tabs button[aria-selected=true]{background:white;color:var(--ink);box-shadow:0 2px 5px rgba(11,38,59,.09)}
.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px}
.charts .wide{grid-column:1/-1}
.live-panel{margin-bottom:15px}.charts .live-panel{margin-bottom:0}
.live-panel .panel-header{flex-wrap:wrap}.live-panel .panel-header h2{font-size:15px}.live-panel .panel-header p{font-size:12px}
.live-panel>div[id]{padding:15px 18px}.live-panel>div[id$="-table"]{padding:0}
.live-panel .plot{width:100%;height:auto;display:block;stroke:none;fill:none;stroke-width:1;stroke-linecap:round}
.live-panel .plot text{font-family:inherit;font-size:14px;fill:var(--muted);stroke:none}
.live-panel .legend{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin:0 0 8px;color:var(--muted)}
.live-panel .legend span:before{content:'';display:inline-block;width:16px;height:4px;vertical-align:middle;margin-right:7px;background:var(--series-color)}
.bars{display:flex;flex-direction:column;gap:13px;padding:4px 0}.bar-item{display:grid;grid-template-columns:minmax(90px,35%) 1fr auto;align-items:center;gap:12px;font-size:13px}.bar-label{overflow-wrap:anywhere}.bar-track{height:12px;background:#edf3f6;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--cyan-600),var(--cyan-500));border-radius:4px}.bar-value{font-variant-numeric:tabular-nums;color:var(--navy-900)}
.live-panel .table-wrap{overflow:auto;max-height:480px}.live-panel th{font-size:12px;position:sticky;top:0;z-index:1}.live-panel td{font-size:13px;font-variant-numeric:tabular-nums}
.live-panel details{margin-top:12px;font-size:12px}.live-panel summary{padding:5px 0;color:var(--info);cursor:pointer}
.empty{padding:28px 18px;text-align:center;background:#f8fafb;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:var(--muted)}
.live-panel>div[id$="-table"]>.empty{margin:16px 18px}
.notice{padding:12px 15px;border:1px solid #cde8ee;border-radius:12px;background:var(--info-bg);color:var(--info);font-size:13px;margin-bottom:15px}
.live-search-status:empty{display:none}.live-search-status{font-size:13px;color:var(--muted)}
.footnote{line-height:1.6;margin:16px 0 0}button:disabled{cursor:wait;opacity:.6}
@media(max-width:1180px){.charts{grid-template-columns:1fr}.charts .wide{grid-column:auto}}
@media(max-width:820px){.topbar .profile{display:flex}.profile-copy{display:none}.top-actions{gap:7px}.profile>svg{display:none}.profile-menu{top:65px;right:16px}.live-toolbar{align-items:flex-start}.live-period-note{display:none}}
@media(max-width:560px){.mobile-brand strong{display:none}.topbar{gap:9px}.top-actions{margin-left:auto}.heading-actions{flex-direction:row;flex-wrap:wrap}.heading-actions .button{font-size:12px}.filters{width:100%}.filters label{min-width:0;flex:1}.filters select{width:100%}.live-panel>div[id]{padding:12px}.tabs{width:100%}.tabs button{font-size:12px;flex:1;padding:8px}.coverage{font-size:12px}.source-banner .sync-state{white-space:normal}.live-panel th,.live-panel td{padding:10px}.bar-item{grid-template-columns:minmax(85px,38%) 1fr auto;gap:8px}}
@media print{.tabs,.live-toolbar,.sidebar-backdrop{display:none!important}.live-panel .table-wrap{max-height:none;overflow:visible}.live-panel details{display:none}.plot{max-height:240px}.live-panel{break-inside:avoid}.charts{grid-template-columns:1fr}.live-panel th{position:static}}
/* Cold Storage 1.4 */
.cold-toolbar .filters{flex-wrap:wrap;align-items:end}.cold-toolbar label{min-width:130px}.cold-toolbar input,.cold-toolbar select{min-width:120px}.cold-status{margin:12px 0;color:#526a7b;font-size:.88rem}.cold-status.error{color:#a62f3e}.cold-status.ok{color:#2b6f58}.cold-row{cursor:pointer}.cold-row:hover{background:#f3f8fb}.cold-row:focus{outline:2px solid #16b9d4;outline-offset:-2px}.cold-badge{display:inline-flex;padding:.2rem .5rem;border-radius:999px;background:#e8f5f6;color:#1b6f79;font-size:.75rem;font-weight:700}.cold-badge.warn{background:#fff3dc;color:#946218}.cold-detail-quantity{text-align:right}.cold-table-note{margin:.6rem 0;color:#6a7d8b;font-size:.82rem}@media(max-width:820px){.cold-toolbar .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cold-toolbar label{min-width:0}.cold-toolbar .button{width:100%}}

/* r3: readable filters, a fixed percentage scale, and access to every pallet. */
.cold-toolbar input{box-sizing:border-box;width:100%;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:14px}
.cold-toolbar input:focus-visible,.cold-toolbar select:focus-visible{outline:2px solid var(--cyan-600);outline-offset:2px}
.process-distribution{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}.process-distribution h3{margin:0 0 8px;font-size:15px;color:var(--ink)}.process-distribution .bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.process-distribution .bar-item{grid-template-columns:90px 1fr 36px}.process-distribution .bar-fill{background:linear-gradient(90deg,var(--cyan-600),#0874a2)}
@media(max-width:720px){.process-distribution .bars{grid-template-columns:1fr}}
.cold-toolbar label{flex:1 1 130px;max-width:210px}.cold-toolbar .filters{width:100%;gap:10px}
.occupancy-list{display:grid;gap:18px}.occupancy-row{display:grid;gap:7px}.occupancy-label{display:flex;justify-content:space-between;gap:12px;font-size:13px}.occupancy-caption{font-size:12px;color:var(--muted)}
.cold-waiting{padding:12px;border-radius:9px;background:var(--warning-bg);color:var(--warning);font-size:13px;line-height:1.5;margin:20px 0 0}
.cold-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.cold-pagination>div{display:flex;gap:8px}.cold-pagination button:disabled{cursor:default}
@media(max-width:820px){.cold-toolbar label{max-width:none}.cold-toolbar input,.cold-toolbar select{min-width:0;width:100%}.cold-pagination{padding:12px}.cold-pagination>div{width:100%}.cold-pagination button{flex:1}}
@media print{.cold-pagination button{display:none}.occupancy-row{break-inside:avoid}}
.three-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px 15px;border-bottom:1px solid var(--line)}
.three-controls label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:650}.three-controls input{width:130px}
.three-stage{min-height:360px;overflow:hidden}.three-picture{display:block;width:100%;height:auto;min-height:300px;touch-action:none;user-select:none;background:linear-gradient(145deg,#f8fbfc,#edf4f7)}
.three-picture polygon,.three-picture circle{cursor:pointer}.three-picture polygon:focus,.three-picture circle:focus{outline:2px solid var(--cyan-600);outline-offset:4px}
.three-axis{font-size:12px;fill:var(--muted)}.three-empty{font-size:16px;fill:var(--muted)}.three-help,.three-selection,.cold-3d-selection{padding:0 15px;font-size:12px;color:var(--muted)}.three-selection:empty,.cold-3d-selection:empty{display:none}
.three-legend{display:flex;gap:12px;flex-wrap:wrap;padding:10px 15px;font-size:12px;color:var(--muted)}.three-legend span{display:inline-flex;align-items:center;gap:5px}.three-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.three-values{max-height:320px}.cold-3d-picker{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.cold-3d-picker label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:650}.cold-3d-picker select{min-height:38px;padding:7px 28px 7px 11px;border:1px solid var(--line);border-radius:9px;background:white;color:#526a7a;font-size:14px}.cold-3d-picker .button{white-space:nowrap}.cold-3d-picker select:focus-visible{outline:2px solid var(--cyan-600);outline-offset:2px}
.cold-3d-picker+.cold-status{margin-top:10px}
.reference-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e8f5f6;color:#1b6f79;font-size:11px;font-weight:750;letter-spacing:.04em;white-space:nowrap}
#ca-reference-table{margin-top:14px}
.executive-overview{margin:0 0 17px;padding:18px;border:1px solid #cfe0e9;border-radius:16px;background:linear-gradient(135deg,#071f34 0%,#0c3d56 60%,#0b6070 100%);color:#f5fbfd;box-shadow:0 12px 28px rgba(7,31,52,.14)}
.executive-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px}.executive-overview-head h2{margin:4px 0 5px;font-size:20px;letter-spacing:-.02em}.executive-overview-head p{margin:0;color:#bed6df;font-size:12px}.executive-eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#75e4ed}.executive-health{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(106,224,179,.14);color:#9cf4ce;font-size:10px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.executive-health:before{content:'';width:7px;height:7px;border-radius:50%;background:#69e0b3;box-shadow:0 0 0 4px rgba(105,224,179,.15)}.executive-health.warn{background:rgba(245,185,93,.16);color:#ffd58e}.executive-health.warn:before{background:#f5b95d;box-shadow:0 0 0 4px rgba(245,185,93,.15)}
.executive-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.executive-kpi-card{min-width:0;padding:12px 12px 11px;border:1px solid rgba(202,238,244,.16);border-radius:12px;background:rgba(255,255,255,.09);backdrop-filter:blur(5px)}.executive-kpi-card.amber{background:rgba(245,185,93,.14)}.executive-kpi-card.green{background:rgba(105,224,179,.12)}.executive-kpi-card.cyan{background:rgba(96,218,235,.13)}.executive-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#c7e0e7;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.executive-kpi-mark{width:7px;height:7px;border-radius:50%;background:#68d9e7;box-shadow:0 0 0 4px rgba(104,217,231,.12)}.executive-kpi-card.amber .executive-kpi-mark{background:#f4bd68}.executive-kpi-card.green .executive-kpi-mark{background:#6be1b2}.executive-kpi-value{display:block;margin:9px 0 4px;color:#fff;font-size:clamp(18px,2vw,25px);line-height:1.05;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-kpi-card p{margin:0;color:#b7d1da;font-size:10px;line-height:1.35}.executive-alert{margin-top:12px;padding:9px 11px;border-radius:9px;background:rgba(105,224,179,.12);color:#bff5dd;font-size:11px;line-height:1.4}.executive-alert.warn{background:rgba(245,185,93,.16);color:#ffdda4}
.three-controls{background:linear-gradient(180deg,#fafdfe,#f0f6f8);border-bottom-color:#d8e7ed}.three-stage{padding:8px 10px 10px;background:linear-gradient(160deg,#f8fcfd 0%,#edf6f8 52%,#e2eef3 100%);border-bottom:1px solid #d7e6ec}.three-picture{min-height:320px;border:1px solid rgba(176,204,215,.72);border-radius:12px;background:radial-gradient(circle at 50% 18%,#ffffff 0%,#f1f8fa 47%,#deebf0 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(18,63,85,.08)}.three-picture polygon,.three-picture circle{transition:filter .16s ease,stroke-width .16s ease}.three-picture polygon:hover,.three-picture circle:hover{filter:brightness(1.08) saturate(1.12);stroke-width:1.8}.three-axis{font-weight:700;fill:#547386}.three-legend{padding:12px 15px 8px}.three-help{line-height:1.45}.three-selection,.cold-3d-selection{margin:8px 0;padding:9px 15px;border-left:3px solid var(--cyan-600);color:#315c6d;font-weight:650}.three-selection:empty,.cold-3d-selection:empty{display:none}
@media(max-width:560px){.three-controls{align-items:stretch}.three-controls label{flex:1}.three-controls input{width:100%}.three-stage{min-height:260px}.three-picture{min-height:240px}.cold-3d-picker{width:100%}.cold-3d-picker label{flex:1}.cold-3d-picker .button{width:100%}}
@media(max-width:1180px){.executive-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.executive-overview{padding:14px}.executive-overview-head{display:block}.executive-health{margin-top:12px}.executive-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-kpi-card{padding:10px}.executive-kpi-value{font-size:18px}}

/* 0.5.4: reuse the established KPI and table styles. */
.business-panel { margin-bottom: 20px; }
.business-panel > details { margin-top: 14px; }
.business-panel summary { cursor: pointer; padding: 10px 0; font-weight: 600; }
.business-metrics { margin: 12px 0; }
.business-panel .table-wrap { max-width: 100%; }
.business-panel .ca-metric-value {
  color: #102f40;
}

.business-panel .ca-metric-label {
  color: #536f80;
}

.business-panel .ca-metric p {
  color: #657e90;
}

/* CEO: presentation executive. Les donnees et les controles techniques restent disponibles aux autres roles. */
html.mp-ceo-experience .source-banner,
html.mp-ceo-experience main > .live-toolbar,
html.mp-ceo-experience main > .coverage,
html.mp-ceo-experience main > .footnote,
html.mp-ceo-experience #operations > #kpis,
html.mp-ceo-experience #operations > #stock-business,
html.mp-ceo-experience #operations > .charts,
html.mp-ceo-experience #operations > article.panel.live-panel,
html.mp-ceo-experience #finance > #payment-business,
html.mp-ceo-experience #finance > .notice,
html.mp-ceo-experience #finance > article.panel.live-panel,
html.mp-ceo-experience #finance .ca-evidence,
html.mp-ceo-experience #export-documents > .notice,
html.mp-ceo-experience #export-documents > article,
html.mp-ceo-experience #cold-storage > .notice,
html.mp-ceo-experience #cold-storage > .cold-toolbar,
html.mp-ceo-experience #cold-storage > .cold-status,
html.mp-ceo-experience #cold-storage > article.panel.live-panel,
html.mp-ceo-experience #cold-storage > .charts:not(#cold-executive-charts){display:none!important}
html.mp-ceo-experience .page-heading{margin-bottom:18px;padding:4px 0 2px}
html.mp-ceo-experience .page-heading h1{font-size:clamp(30px,3.5vw,46px);letter-spacing:-.045em}
html.mp-ceo-experience .page-heading p{max-width:720px;font-size:15px}
html.mp-ceo-experience .tabs{margin-bottom:22px;padding:5px;border-radius:12px;background:#eaf2f5}
html.mp-ceo-experience .tabs button{min-height:38px;padding:9px 16px}
html.mp-ceo-experience #operations{display:flex;flex-direction:column}
html.mp-ceo-experience #operations #executive-overview{order:1}
html.mp-ceo-experience #operations #ca-executive{order:2}
html.mp-ceo-experience #operations #executive-stock{order:3}
html.mp-ceo-experience .executive-overview{padding:22px;border-color:rgba(117,228,237,.25);box-shadow:0 18px 38px rgba(7,31,52,.18)}
html.mp-ceo-experience .executive-overview-head h2{font-size:24px}
html.mp-ceo-experience .executive-kpi-card{padding:15px 14px 13px}
html.mp-ceo-experience .executive-kpi-value{font-size:clamp(19px,2.1vw,28px)}
html.mp-ceo-experience #export-documents > .kpi-grid{margin-top:4px}
@media(max-width:820px){html.mp-ceo-experience .tabs{width:100%}html.mp-ceo-experience .tabs button{flex:1 1 45%}}

.executive-overview-actions{display:flex;align-items:flex-end;gap:9px;flex-direction:column}.executive-overview-actions .button{min-height:34px;padding:7px 11px;border-color:rgba(199,224,231,.32);background:rgba(255,255,255,.1);color:#fff;font-size:11px}.executive-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}#cold-executive-charts{grid-template-columns:repeat(2,minmax(0,1fr))}#cold-weight-quality .table-wrap,#cold-executive-articles .table-wrap{max-height:360px}
.executive-decisions{margin-top:12px;padding-top:12px;border-top:1px solid rgba(202,238,244,.18)}.executive-decisions header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.executive-decisions header span{font-size:9px;font-weight:850;letter-spacing:.13em;color:#75e4ed}.executive-decisions h3{margin:2px 0 0;font-size:15px}.executive-decisions header small{color:#a9c7d1}.executive-decisions-list,#executive-decisions-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.executive-decision{min-width:0;padding:11px;border:1px solid rgba(202,238,244,.16);border-left:3px solid #f4bd68;border-radius:9px;background:rgba(255,255,255,.08)}.executive-decision.critical{border-left-color:#ff8f7f}.executive-decision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.executive-decision-head span{display:block;color:#ffd99b;font-size:8px;font-weight:850;letter-spacing:.09em}.executive-decision.critical .executive-decision-head span{color:#ffb3a8}.executive-decision h4{margin:3px 0 0;color:#fff;font-size:12px}.executive-decision p{margin:7px 0;color:#c7dde5;font-size:10px;line-height:1.4}.executive-decision-link{flex:0 0 auto;padding:5px 7px;border:1px solid rgba(202,238,244,.28);border-radius:6px;color:#fff;text-decoration:none;font-size:9px;font-weight:750}.executive-decision-meta{display:grid;gap:2px;color:#a9c7d1;font-size:9px;line-height:1.35}
@media(max-width:1180px){.executive-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.executive-overview-actions{align-items:flex-start;margin-top:12px}.executive-kpi-grid,#cold-executive-charts{grid-template-columns:1fr 1fr}#executive-decisions-list{grid-template-columns:1fr}}
@media(max-width:560px){.executive-kpi-grid,#cold-executive-charts{grid-template-columns:1fr}}
