.crumb{font-size:.9rem;opacity:.85;margin:0 0 8px}.crumb a{color:#fff}
.controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.controls>div{min-width:120px}.controls .grow{flex:1;min-width:220px}
.controls label{margin:0 0 6px}
select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%}
input[type=range]{width:100%;accent-color:var(--navy);height:34px}
.opts{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 4px}
label.check{font-weight:400;display:inline-flex;align-items:center;gap:6px;margin:0}
.big-result{font-size:1.15rem;background:#eef1fa;border-radius:12px;padding:14px 16px;margin:16px 0 6px}
.windows{padding-left:20px}.windows li{margin:8px 0}
.year-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
@media(max-width:820px){.year-cal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.year-cal{grid-template-columns:repeat(2,1fr)}}
.month h4{margin:0 0 4px;text-transform:capitalize;font-size:.92rem}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.72rem;text-align:center}
.mgrid span{padding:3px 0;border-radius:4px}.mgrid .hd{color:var(--muted);font-weight:600}
.mgrid .we{background:#eef0f5;color:#777}.mgrid .hol{background:#c0392b;color:#fff;font-weight:700}
.mgrid .leave{background:var(--navy);color:#fff;font-weight:700}.mgrid .off{background:#cfe9da;color:#145c33}
.cal-legend{font-size:.82rem;color:var(--muted);margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cal-legend .k{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:8px}
.k.hol{background:#c0392b}.k.leave{background:var(--navy)}.k.off{background:#cfe9da}.k.we{background:#eef0f5}
.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}
.tag-we{font-size:.8rem;background:#eef0f5;color:#666;border-radius:99px;padding:2px 8px}.tag-wk{font-size:.8rem;background:var(--yes-bg);color:#145c33;border-radius:99px;padding:2px 8px}
.bridge h3{margin:16px 0 4px}.bridge ul{margin:0;padding-left:20px}.bridge li{margin:4px 0}
.links{font-size:.9rem;color:var(--muted);line-height:1.9}
@media print{.year-cal{grid-template-columns:repeat(4,1fr);gap:8px}.mgrid{font-size:7pt}.mgrid span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.links{display:none}}
@media print{
  main>section:not(#outil),.links,.crumb,.hero p{display:none!important}
  #outil{break-inside:auto;border:0;padding:0}
  #outil h2{display:none}
  .hero h1{font-size:16pt;margin:0}
  .windows li{margin:2px 0;font-size:9.5pt}.big-result{padding:8px 10px;margin:6px 0}
  .year-cal{break-inside:avoid;gap:4px 10px;margin-top:8px}.mgrid span{padding:1px 0}.month h4{margin:0}
}
