/* Rapports de direction (section « Rapports ») */
.rpt{display:flex;flex-direction:column;gap:16px}
section.rpt[hidden]{display:none}
.rpt-bar{gap:10px}
.rpt-doc{display:flex;flex-direction:column;gap:16px}
.rpt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rpt-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.rpt-top h2{margin:2px 0 0}
.rpt-month{display:flex;align-items:center;gap:6px}
.rpt-month select{width:auto;min-width:190px;min-height:40px;font-weight:700}
.rpt-nav{min-width:40px;min-height:40px;font-size:20px;line-height:1;padding:0 10px}
.rpt-nav:disabled{opacity:.35;cursor:default}
.rpt-actions{display:flex;gap:8px;flex-wrap:wrap}
.rpt-actions .btn{min-height:40px}
.rpt-src{margin:0}
.rpt-src .icon{margin-left:4px}

/* bandeau */
.rpt-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:18px 28px;align-items:end;padding:22px 24px;border-radius:16px;color:#fff;
  background:linear-gradient(120deg,#002B66,#1D3FA8 60%,#4A3BDE);box-shadow:0 10px 28px rgba(29,63,168,.32);position:relative;overflow:hidden}
.rpt-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#930B0B}
.rpt-hero .lbl{color:rgba(255,255,255,.72)}
.rpt-hero h1{margin:4px 0 2px;font-size:34px;line-height:1.1;letter-spacing:-.02em;color:#fff}
.rpt-per{font-size:12.5px;color:rgba(255,255,255,.78)}
.rpt-hero-k{display:flex;flex-direction:column;gap:2px;align-items:flex-end;text-align:right}
.rpt-hero-k b{font-size:40px;line-height:1.05;font-weight:800;letter-spacing:-.02em}
.rpt-hero-k>span:not(.lbl){font-size:12.5px;color:rgba(255,255,255,.8)}
.rpt-hd{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:4px}
.rpt-hero .rpt-d{background:rgba(255,255,255,.14);color:#fff}
.rpt-hero .rpt-d.good{background:rgba(76,195,138,.32);color:#fff}
.rpt-hero .rpt-d.bad{background:rgba(242,116,102,.38);color:#fff}
.rpt-hero-p{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.rpt-hero-pl{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.rpt-pbar{height:10px;border-radius:5px;background:rgba(255,255,255,.2);position:relative;overflow:visible}
.rpt-pbar i{display:block;height:100%;border-radius:5px;background:#fff}
.rpt-pbar b{position:absolute;top:-4px;bottom:-4px;width:2px;background:#F07A72;border-radius:1px}

/* variations */
.rpt-d{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--muted)}
.rpt-d i{font-style:normal;font-weight:600;opacity:.8}
.rpt-d.good{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}
.rpt-d.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}

/* cartes */
.rpt-kpis .rpt-k .v{font-size:24px}
.rpt-k.neg .v{color:var(--bad)}
.rpt-k .rpt-d{align-self:flex-start}
.rpt-g{align-items:stretch}
.rpt-sec{gap:12px}
.rpt-h{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rpt-h3{margin:6px 0 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* points d'attention */
.rpt-al{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:8px}
.rpt-a{display:flex;gap:10px;align-items:stretch;padding:10px 12px;border-radius:10px;background:var(--sunk)}
.rpt-a>i{flex:none;width:4px;border-radius:2px}
.rpt-a>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rpt-a .lbl{font-size:10px}
.rpt-ok{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:8px}
.rpt-ok li{position:relative;padding:8px 12px 8px 34px;border-radius:10px;background:color-mix(in srgb,var(--good) 9%,transparent)}
.rpt-ok li::before{content:"";position:absolute;left:12px;top:13px;width:11px;height:6px;border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg)}

/* graphiques */
.rpt-cw{overflow:hidden}
.rpt-chart{width:100%;height:auto;display:block}
.rpt-chart text{font:11px var(--font);fill:var(--muted)}
.rpt-chart text.cur{fill:var(--ink);font-weight:800}
.rpt-chart text.val{fill:var(--ink);font-weight:800;font-size:12.5px}
.rpt-chart text.tl{font-size:10.5px}
.rpt-chart .g{stroke:var(--line)}
.rpt-chart .tgt{stroke:var(--muted);stroke-dasharray:5 4}
.rpt-chart .area{fill:var(--blue);opacity:.12}
.rpt-chart .ln{fill:none;stroke:var(--blue);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.rpt-chart .dep{fill:none;stroke:var(--bordeaux);stroke-width:1.8;stroke-dasharray:4 3;opacity:.85}
.rpt-chart .pt{fill:var(--surface);stroke:var(--blue);stroke-width:2}
.rpt-leg{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rpt-leg .sw{display:inline-block;width:14px;height:8px;border-radius:2px;margin-left:6px}
.rpt-leg .sw:first-child{margin-left:0}
.rpt-leg .sw.dash{height:0;border-top:2px dashed var(--muted);border-radius:0}
.rpt-leg .sw.tick{width:2px;height:12px;background:var(--ink);opacity:.6}
.rpt-lb{display:flex;flex-direction:column;gap:10px}
.rpt-lbr{display:flex;flex-direction:column;gap:5px;min-width:0}
.rpt-lbt{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13.5px}
.rpt-lbt>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rpt-hb{display:block;width:100%;height:8px;border-radius:4px;overflow:hidden}
.rpt-hb2{display:block;width:100%;height:12px}

/* mini-indicateurs */
.rpt-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}
.rpt-mini>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--sunk);min-width:0}
.rpt-mini b{font-size:20px;font-weight:800;line-height:1.15}
.rpt b.num,.rpt .rpt-lbt .num{white-space:nowrap}
.rpt-treso{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--sunk);font-size:13px}
.rpt-wins{display:flex;flex-wrap:wrap;gap:4px}
.rpt-wins .tag{font-size:12px;padding:3px 10px}
.rpt-top5{margin:0;padding:0;list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:12px}
.rpt-top5 li{counter-increment:t;display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center}
.rpt-top5 li::before{content:counter(t);grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);font-weight:800;color:var(--navy)}
.rpt-top5 li .rpt-hb{grid-column:2/4}
.rpt-t td,.rpt-t th{white-space:nowrap}
.rpt-t td:first-child{white-space:normal;min-width:150px}
.rpt-plats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.rpt-plat{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;border:1px solid var(--line);border-top:3px solid var(--aivory)}
.rpt-pl3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.rpt-pl3>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rpt-pl3 .lbl{font-size:9.5px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpt-pl3 .rpt-d{align-self:flex-start;font-size:11px;padding:0 5px}
.rpt-foot{margin:0;text-align:center}

/* liste des rapports enregistrés */
.rpt-saved{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.rpt-si{display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;color:var(--ink);background:var(--sunk);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;padding:12px 14px;cursor:pointer;min-height:44px}
.rpt-si:hover{border-color:var(--navy)}
.rpt-sm{font-weight:800;font-size:15px}
.rpt-hist{margin:6px 0 0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:3px}

@media (max-width:760px){
  .rpt-top{align-items:stretch}
  .rpt-month{width:100%}
  .rpt-month select{flex:1;min-width:0;font-size:16px;min-height:44px}
  .rpt-nav{min-width:44px;min-height:44px}
  .rpt-actions{display:grid;grid-template-columns:1fr 1fr}
  .rpt-actions .btn{min-height:44px;white-space:normal;line-height:1.2}
  .rpt-actions .btn:first-child{grid-column:1/-1}
  .rpt-hero{grid-template-columns:1fr;padding:18px 16px 20px}
  .rpt-hero h1{font-size:28px}
  .rpt-hero-k{align-items:flex-start;text-align:left}
  .rpt-hero-k b{font-size:34px}
  .rpt-hd{justify-content:flex-start}
  .rpt-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .rpt-kpis .rpt-k{padding:12px}
  .rpt-kpis .rpt-k .v{font-size:19px}
  .rpt-kpis .rpt-k .sub{font-size:11.5px}
  .rpt-mini{grid-template-columns:1fr 1fr}
  .rpt-mini b{font-size:18px}
  .rpt-chart text{font-size:13px}
  .rpt-t{font-size:13px}
  .rpt-t td:first-child{min-width:120px}
  .rpt-t td,.rpt-t th{padding:7px 6px}
  #rpt-set textarea,#rpt-to{font-size:16px}
}

/* impression : seul le rapport est imprimé, en clair */
.rpt-printbox{display:none}
@media print{
  @page{size:A4;margin:12mm}
  body.rpt-printing>*:not(#rpt-print-box){display:none!important}
  body.rpt-printing{background:#fff!important;padding:0!important;margin:0!important}
  body.rpt-printing::before{display:none!important}
  body.rpt-printing #rpt-print-box{display:flex!important;flex-direction:column;gap:10px;
    --bg:#fff;--surface:#fff;--sunk:#F3F5FA;--ink:#0E1233;--muted:#5B6180;--line:#DADFEA;--navy:#002B66;--bordeaux:#930B0B;--blue:#1D5BE6;--violet:#7B2FD6;--good:#1E7A4C;--warn:#A86A00;--bad:#B42318;--track:#E6E8F1;--shadow:none;
    color:#0E1233;font-size:11.5px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #rpt-print-box .panel,#rpt-print-box .kpi{box-shadow:none;break-inside:avoid;page-break-inside:avoid;padding:10px 12px}
  #rpt-print-box .rpt-hero{box-shadow:none;break-inside:avoid}
  #rpt-print-box .grid2{grid-template-columns:1fr 1fr;gap:10px}
  #rpt-print-box .rpt-kpis{grid-template-columns:repeat(3,1fr);gap:8px}
  #rpt-print-box .scroll,#rpt-print-box .rpt-scroll{overflow:visible}
  #rpt-print-box .rpt-al,#rpt-print-box .rpt-ok{grid-template-columns:1fr 1fr}
  #rpt-print-box .rpt-src,#rpt-print-box button{display:none!important}
  #rpt-print-box .rpt-t{width:100%}
  #rpt-print-box .rpt-t td,#rpt-print-box .rpt-t th{padding:4px 6px;white-space:normal;min-width:0!important}
}
