/* Calculateur du cout des taches repetitives.
   Direction : registre comptable editorial. Chiffres en mono tabulaire,
   alignes a droite, texte en Inter. Palette de la charte TAKIA. */

:root{
  --c-noir:#0A0A0A; --c-noir2:#1A1A1A; --c-gris:#6B6B6B;
  --c-clair:#E5E5E5; --c-blanc:#FFFFFF; --c-fond:#FAFAFA;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

.calc{max-width:1000px;margin:0 auto;padding:0 clamp(20px,5vw,24px) 40px}

/* Bandeau d'en-tete */
.calc-head{max-width:1000px;margin:0 auto;padding:clamp(48px,8vw,88px) clamp(20px,5vw,24px) 0}
.calc-head .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--c-gris);margin:0 0 16px}
.calc-head h1{font-size:clamp(32px,5.6vw,54px);font-weight:800;letter-spacing:-.035em;line-height:1.05;
  margin:0 0 20px;color:var(--c-noir);max-width:18ch}
.calc-head .chapo{font-size:clamp(17px,2.2vw,20px);line-height:1.6;color:var(--c-noir2);max-width:60ch;
  padding-bottom:34px;border-bottom:1px solid var(--c-clair);margin:0 0 4px}

/* Le registre */
.reg{width:100%;border-collapse:collapse;margin-top:34px}
.reg thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--c-gris);font-weight:500;text-align:left;padding:0 10px 12px;border-bottom:1px solid var(--c-noir);
  white-space:nowrap}
.reg thead th.n{text-align:right}
.reg tbody tr{border-bottom:1px solid var(--c-clair)}
.reg td{padding:10px;vertical-align:middle}
.reg td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;
  color:var(--c-noir);white-space:nowrap}
.reg td.n .an{display:block;font-size:11.5px;color:var(--c-gris);margin-top:2px}

.reg input[type=text],.reg input[type=number],.reg select{
  font:inherit;font-size:15px;color:var(--c-noir);background:transparent;
  border:0;border-bottom:1px solid transparent;padding:7px 2px;width:100%;min-width:0;border-radius:0}
.reg input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.reg input:hover,.reg select:hover{border-bottom-color:var(--c-clair)}
.reg input:focus,.reg select:focus{outline:none;border-bottom-color:var(--c-noir);background:#FFF}
.reg input::placeholder{color:#B5B5B5}
.reg select{appearance:none;cursor:pointer;padding-right:14px;
  background-image:linear-gradient(45deg,transparent 50%,var(--c-gris) 50%),linear-gradient(135deg,var(--c-gris) 50%,transparent 50%);
  background-position:calc(100% - 6px) 55%,calc(100% - 2px) 55%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}

/* Colonne stabilite : un interrupteur texte, pas une case a cocher perdue */
.stab{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--c-clair);background:#fff;color:var(--c-gris);padding:7px 10px;cursor:pointer;
  border-radius:100px;white-space:nowrap;transition:all .2s;min-height:32px}
.stab:hover{border-color:var(--c-gris)}
.stab[aria-pressed=true]{background:var(--c-noir);border-color:var(--c-noir);color:#fff}

.sup{border:0;background:none;color:#C5C5C5;cursor:pointer;font-size:17px;line-height:1;padding:8px;
  min-width:36px;min-height:36px;transition:color .2s}
.sup:hover{color:var(--c-noir)}

.reg-vide td{padding:34px 10px;color:var(--c-gris);font-size:15px}

.calc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.btn-l{font:inherit;font-size:14px;font-weight:500;background:none;border:1px solid var(--c-clair);
  color:var(--c-noir);padding:13px 20px;border-radius:100px;cursor:pointer;min-height:44px;transition:border-color .2s}
.btn-l:hover{border-color:var(--c-noir)}

/* Total */
.total{margin-top:44px;background:var(--c-noir);color:#fff;padding:clamp(26px,4vw,38px)}
.total-l{display:flex;gap:clamp(24px,5vw,64px);flex-wrap:wrap}
.total-i{flex:1 1 160px}
.total-i .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:#8A8A8A;margin:0 0 10px}
.total-i .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(26px,4.4vw,40px);
  font-weight:500;letter-spacing:-.02em;line-height:1;margin:0}
.total-i .val.fort{color:#fff}
.total-i .sub{font-size:12.5px;color:#8A8A8A;margin:8px 0 0}

/* Verdict */
.verdict{margin-top:28px;border:1px solid var(--c-clair);background:var(--c-fond);padding:clamp(22px,3.5vw,30px)}
.verdict .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--c-gris);margin:0 0 14px}
.verdict h2{font-size:clamp(19px,2.6vw,24px);font-weight:700;letter-spacing:-.02em;line-height:1.25;
  margin:0 0 10px;color:var(--c-noir)}
.verdict p{font-size:15.5px;line-height:1.65;color:var(--c-noir2);margin:0 0 10px;max-width:66ch}
.verdict p:last-child{margin-bottom:0}
.verdict .rang{list-style:none;padding:0;margin:16px 0 0;border-top:1px solid var(--c-clair)}
.verdict .rang li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--c-clair);font-size:15px}
.verdict .rang .nom{color:var(--c-noir2)}
.verdict .rang .nom b{font-weight:600;color:var(--c-noir)}
.verdict .rang .eur{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--c-noir)}
.verdict .marq{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--c-gris);border:1px solid var(--c-clair);border-radius:100px;padding:2px 8px;margin-left:8px}

.note{font-size:13px;line-height:1.6;color:var(--c-gris);margin:20px 0 0;max-width:70ch}
.note b{color:var(--c-noir2);font-weight:500}

@media (max-width:760px){
  /* Le tableau devient une pile de fiches : un registre reste lisible, une grille non */
  .reg thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .reg,.reg tbody,.reg tr,.reg td{display:block;width:100%}
  .reg tbody tr{border:1px solid var(--c-clair);padding:14px;margin-bottom:14px;position:relative;background:#fff}
  .reg td{padding:7px 0;display:flex;align-items:center;gap:14px}
  .reg td::before{content:attr(data-l);font-family:var(--mono);font-size:10px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--c-gris);flex:0 0 96px}
  .reg td.n{justify-content:space-between;text-align:right}
  .reg td.n .an{display:inline;margin-left:8px}
  .reg td.act{position:absolute;top:8px;right:8px;padding:0;width:auto}
  .reg td.act::before{content:none}
  .reg-vide td{display:block}
  .reg-vide td::before{content:none}
}

@media print{
  nav,footer,.nl,.calc-actions,.sup,.note-print{display:none !important}
  .total{background:#fff;color:#000;border:1px solid #000}
  .total-i .lab,.total-i .sub{color:#555}
  .reg input,.reg select{border:0}
}
