.calc{--ink:#141b26;--ink-soft:#4b5768;--ink-faint:#8996a8;--surface:#fff;--surface-sunk:#e3e7eb;--line:#d7dce1;--line-soft:#e7eaed;--accent:#2955a3;--accent-dark:#1d3f80;--accent-soft:#e4ebf6;--navy:#02354a;--amber:#c97f1e;--amber-soft:#fbedd6;--good:#2e7d5b;--good-soft:#e1f0e8;--bad:#b23a2e;--bad-soft:#fbe7e4;--radius-sm:6px;--radius:10px;--radius-lg:18px;color:var(--ink);font-size:14px;line-height:1.5}.calc .tabular{font-variant-numeric:tabular-nums}.calc button{cursor:pointer}.calc button:disabled{cursor:not-allowed}.calc .compare-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}@media (max-width:640px){.calc .compare-grid{grid-auto-flow:row}}.calc .mode-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:9px;row-gap:2px;padding:8px 12px;text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);transition:border-color .15s,opacity .15s,background .15s}.calc .mode-card:hover:not(:disabled){border-color:var(--accent)}.calc .mode-check{width:16px;height:16px;border-radius:4px;border:1.5px solid #a1a1aa;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}.calc .mode-label{font-weight:700;font-size:12.5px;line-height:1.3}.calc .mode-rac{font-size:14.5px;font-weight:800;white-space:nowrap}.calc .mode-card.expanded{background:var(--accent-soft);border-color:var(--navy)}.calc .mode-card.expanded .mode-check{background:var(--navy);border-color:var(--navy)}.calc .mode-card.expanded .mode-label,.calc .mode-card.expanded .mode-rac{color:var(--navy)}.calc .mode-card.unavailable{cursor:default;opacity:.55}.calc .mode-card.card-dim{cursor:not-allowed;background:#f4f4f5}.calc .mode-card.card-dim .mode-check{background:#e4e4e7;border-color:#d4d4d8}.calc .mode-card.card-dim .mode-label{color:#71717a}.calc .mode-card .reason{grid-column:2/-1;margin:0;font-size:11.5px;line-height:1.4;color:#52525b}.calc .compare-grid.has-open .mode-card:not(.expanded):not(.card-dim){opacity:.6}.calc .compare-grid.has-open .mode-card:not(.expanded):not(.card-dim):hover{opacity:.9}.calc .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px}.calc h2.app-section{font-size:16px;font-weight:800;color:var(--accent-dark);margin:0 0 14px}.calc h3.app-subsection{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin:0 0 -6px}.calc h3.app-subsection-next{margin-top:10px;padding-top:18px;border-top:1px solid var(--line-soft)}.calc .panel-stack{display:flex;flex-direction:column;gap:16px}.calc .panel-stack>.app-verif{margin:0}.calc .panel>:last-child{margin-bottom:0}.calc .app-verif{margin:0 0 20px;border:1px solid #fde68a;border-radius:var(--radius);background:#fffbeb}.calc .app-verif>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;color:#92400e}.calc .app-verif>summary::-webkit-details-marker{display:none}.calc .app-verif>summary:before{content:"›";font-size:16px;line-height:1;transition:transform .15s}.calc .app-verif[open]>summary:before{transform:rotate(90deg)}.calc .verif-list{list-style:none;margin:0;padding:0 14px 12px 36px;font-size:13px;line-height:1.55;color:#3f3f46}.calc .verif-list li{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}.calc .verif-list li:last-child{border-bottom:none}.calc .verif-list li:before{content:"☐";color:var(--amber);font-size:16px;line-height:1.35;flex:none}.calc .verif-empty{margin:0;padding:0 14px 12px;font-size:13px;color:#71717a}.calc .param-bar{display:flex;flex-wrap:wrap;gap:18px;background:var(--accent-soft);border:1px solid #cfdcef;border-radius:var(--radius);padding:16px 18px;margin-bottom:20px}.calc .param-bar.four{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:40px;row-gap:14px}.calc .param-bar.four>.param:nth-child(n+3){padding-top:14px;border-top:1px solid #cfdcef}.calc .param{min-width:170px;flex:1}.calc .param label{display:block;font-size:11.5px;font-weight:700;color:var(--accent-dark);margin-bottom:6px}.calc .label-weekday{font-weight:400;color:var(--ink-faint);font-size:11px;margin-left:4px}.calc .param .valline{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-faint);margin-top:4px;min-height:18px}.calc .param .valline.bad{color:var(--bad)}.calc .date-stepper{display:flex;align-items:stretch;gap:4px}.calc .date-stepper input[type=date]{flex:1;min-width:0;height:34px;padding:0 10px;font-size:13px;border:1.5px solid var(--navy);border-radius:var(--radius-sm);background:#fff}.calc .readonly-date{height:34px;display:flex;align-items:center;padding:0 10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunk);font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.calc .step-btn{border:1.5px solid #cfdcef;background:#fff;color:var(--accent-dark);border-radius:var(--radius-sm);width:34px;flex:0 0 34px;line-height:1;display:flex;align-items:center;justify-content:center}.calc .step-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.calc .step-btn.step-day{font-size:16px}.calc .step-btn.step-week{font-size:14px}.calc .tl-block{margin-bottom:20px}.calc .tl-body{padding:14px 18px 16px;border-top:1px solid var(--line-soft)}.calc .tl-badge{font-weight:700;font-size:12px;text-transform:none;letter-spacing:0;text-align:right}.calc .tl{--tl-label:96px;position:relative}.calc .tl-grid{position:absolute;left:var(--tl-label);right:0;top:22px;bottom:0;pointer-events:none}.calc .tl-line{position:absolute;top:0;bottom:0;width:1px;background:var(--line-soft)}.calc .tl-row,.calc .tl-scale-row{display:grid;grid-template-columns:var(--tl-label) 1fr;align-items:center}.calc .tl-scale{position:relative;height:22px}.calc .tl-tick{position:absolute;transform:translateX(-50%);font-size:10.5px;color:var(--ink-faint);white-space:nowrap;top:4px}.calc .tl-row{margin-top:8px}.calc .tl-lbl{font-size:12px;font-weight:600;color:var(--ink-soft)}.calc .tl-track{position:relative;height:30px;background:var(--surface-sunk);border-radius:6px}.calc .tl-bar{position:absolute;top:4px;height:22px;border-radius:5px;display:flex;align-items:center;padding:0 8px;overflow:hidden;min-width:2px}.calc .tl-bar span{font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.calc .lg-cours,.calc .tl-bar-formation{background:var(--accent)}.calc .lg-contrat,.calc .tl-bar-contrat{background:var(--amber)}.calc .lg-poei,.calc .tl-bar-poei{background:var(--good)}.calc .tl-bar-alternance{background:repeating-linear-gradient(135deg,rgba(41,85,163,.2),rgba(41,85,163,.2) 5px,rgba(41,85,163,.06) 0,rgba(41,85,163,.06) 10px);border:1px dashed rgba(41,85,163,.45);justify-content:center}.calc .tl-bar-alternance span{color:#2b4a7a}.calc .tl-marker{position:absolute;top:-2px;bottom:0;width:0;border-left:1.5px dashed var(--ink-soft)}.calc .tl-marker-max{border-left-color:var(--bad)}.calc .tl-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:11px;color:var(--ink-soft)}.calc .tl-legend span{display:inline-flex;align-items:center;gap:5px}.calc .tl-legend .lg{width:16px;height:11px;border-radius:2px;display:inline-block}.calc .lg-alt{background:repeating-linear-gradient(135deg,rgba(41,85,163,.2),rgba(41,85,163,.2) 3px,rgba(41,85,163,.06) 0,rgba(41,85,163,.06) 6px);border:1px dashed rgba(41,85,163,.45)}.calc .lg-last{border-left:1.5px dashed var(--ink-soft)}.calc .lg-last,.calc .lg-max{width:0!important;height:14px!important;border-radius:0!important}.calc .lg-max{border-left:1.5px dashed var(--bad)}.calc .tl-validity{margin-top:14px;font-size:12.5px;font-weight:500;border-radius:var(--radius-sm);padding:10px 12px;line-height:1.6}.calc .tl-validity.ok{color:var(--good);background:var(--good-soft)}.calc .tl-validity.bad{color:var(--bad);background:var(--bad-soft)}.calc .tl-validity .info{color:var(--amber)}.calc .blocks{display:flex;flex-direction:column;gap:16px}.calc .block{border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.calc .block-head{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;user-select:none;background:var(--surface-sunk);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.calc .block-head.toggle{cursor:pointer}.calc .block-head.toggle:before{content:"›";font-size:16px;line-height:1;transition:transform .15s}.calc .block.open>.block-head.toggle:before{transform:rotate(90deg)}.calc .block-head .right{margin-left:auto;display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:400}.calc .kv{display:flex;justify-content:space-between;align-items:baseline;padding:9px 14px;border-top:1px solid var(--line-soft);font-size:13px;gap:10px}.calc .kv .k{color:var(--ink-soft)}.calc .kv .v{font-weight:600;white-space:nowrap}.calc .kv .v.minus:before{content:"− "}.calc .kv.plus .v:before{content:"+ "}.calc .kv-calc{display:block;font-size:11px;color:var(--ink-faint);font-weight:400;margin-top:2px;font-variant-numeric:tabular-nums}.calc .kv.key{background:#eef3f6}.calc .kv.key .k{color:var(--accent-dark);font-weight:700}.calc .kv.key .v{color:var(--accent-dark);font-size:16px;font-weight:800}.calc .kv.key.total{background:var(--navy)}.calc .kv.key.total .k,.calc .kv.key.total .v{color:#fff}.calc .block.editable .kv.key{background:var(--navy)}.calc .block.editable .kv.key .k,.calc .block.editable .kv.key .v{color:#fff}.calc .block.navy-top>.block-head{box-shadow:inset 2px 0 0 var(--navy),inset -2px 0 0 var(--navy),inset 0 2px 0 var(--navy);border-radius:var(--radius) var(--radius) 0 0}.calc .block.navy-top.open{border-left:2px solid var(--navy);border-right:2px solid var(--navy)}.calc .block.navy-top.open>.block-head{box-shadow:inset 0 2px 0 var(--navy)}.calc .salaire-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line-soft)}.calc .salaire-hint{padding:0 14px 10px;font-size:11.5px;color:var(--ink-faint)}.calc .di-field{display:flex;align-items:center;gap:7px;height:28px;padding:0 8px;border:1.5px solid var(--navy);border-radius:var(--radius-sm);background:#fff}.calc .di-field input{width:64px;border:none;outline:none;background:transparent;font-weight:700;font-size:15px;color:var(--ink);-moz-appearance:textfield}.calc .di-field .di-unit{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}.calc .btn-reset-legal{height:28px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:var(--radius-sm);padding:0 10px;font-size:12px;font-weight:600;white-space:nowrap}.calc .btn-reset-legal:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.calc .btn-info{border:1px solid #cfdcef;background:#fff;color:var(--accent);border-radius:var(--radius-sm);padding:3px 10px;font-size:11px;font-weight:700;white-space:nowrap}.calc .btn-info:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.calc .sal-alert{font-size:12px;font-weight:600;color:var(--bad);background:rgba(178,58,46,.08);border:1px solid rgba(178,58,46,.25);border-radius:var(--radius-sm);padding:6px 10px}.calc-explain{font-size:13.5px;line-height:1.55;color:#141b26}.calc-explain p{margin:0 0 10px}.calc-explain .step-line{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border:1px solid #d7dce1;border-radius:6px;background:#fff;margin-bottom:8px}.calc-explain .step-num{flex:none;width:24px;height:24px;border-radius:50%;background:#2955a3;color:#fff;font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center;margin-top:1px}.calc-explain .step-line.op .step-num{background:#c97f1e}.calc-explain .step-body{flex:1}.calc-explain .step-title{font-weight:700;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.calc-explain .step-amt{font-variant-numeric:tabular-nums;white-space:nowrap}.calc-explain .step-desc{font-size:12.5px;color:#4b5768;margin-top:3px}.calc-explain .modal-note{background:#e4ebf6;border:1px solid #cfdcef;border-radius:6px;padding:10px 12px;font-size:12.5px;color:#4b5768;margin-top:12px}.calc.locked .block-head .right,.calc.locked .mode-card,.calc.locked .param-bar{pointer-events:none}.calc.locked .di-field,.calc.locked .param-bar{opacity:.8}