:root{font-family:Inter,system-ui,Arial,sans-serif;color:#192d46;background:#f3f6fb}*{box-sizing:border-box}body{margin:0}header{background:#18375c;color:#fff;padding:14px max(18px,calc((100vw - 1100px)/2));display:flex;align-items:center;gap:20px;flex-wrap:wrap}header strong{font-size:20px}header span{margin-left:auto;font-size:13px}nav{max-width:1100px;margin:18px auto;display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}main{max-width:1100px;margin:auto;padding:0 16px 40px}.narrow{max-width:480px;padding-top:50px}.card{background:#fff;border:1px solid #e2e9f1;border-radius:14px;padding:22px;box-shadow:0 2px 12px #19334a0a}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}h1,h2,h3{margin-top:0}button{border:0;border-radius:8px;padding:11px 15px;background:#225db4;color:#fff;font-weight:600;cursor:pointer}button.secondary{background:#eaf0f7;color:#18375c}button.active{background:#18375c;color:#fff}button.danger{background:#fbe7e7;color:#9a2929;padding:7px 9px}button:disabled{opacity:.45;cursor:not-allowed}input,select{border:1px solid #cbd5e1;border-radius:8px;padding:11px;width:100%;font:inherit;background:#fff}label{display:block;font-weight:600;font-size:14px;margin:12px 0}label input,label select{margin-top:6px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:16px 0}.kpis div{background:#edf3fb;padding:14px;border-radius:10px}.kpis small,.kpis b{display:block}.kpis b{font-size:25px;margin-top:5px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar>b{text-align:center;font-size:12px;padding:8px}.calday{min-height:78px;background:#f4f7fb;color:#18375c;text-align:left;display:flex;flex-direction:column;justify-content:space-between;padding:9px;min-width:0}.calday small{font-size:11px;overflow-wrap:anywhere}.calday.absent{background:#dceafe}.calday.holiday{background:#f9ebdc}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5ebf1;padding:12px 0}.notice{background:#fff0da;padding:14px;border-radius:8px}.message{color:#a34d1d;min-height:1.2em}@media(max-width:600px){header span{order:3;width:100%;margin:0}.card{padding:14px}.two{grid-template-columns:1fr}.calday{min-height:65px;padding:5px}.calday small{font-size:9px}nav button{flex:1}}.bilan-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bilan-controls label{margin:0;min-width:170px}.table-scroll{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0}.report-table th,.report-table td{padding:10px 9px;text-align:right;border-bottom:1px solid #e5ebf1;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table thead{background:#edf3fb}.total-row{background:#e4efff}.note{font-size:13px;color:#56677c;line-height:1.5}.report-columns{margin:24px 0}.export-detail{margin:10px 0 0 10px}@media(max-width:600px){.bilan-controls{width:100%}.bilan-controls label{flex:1;min-width:130px}.report-columns{grid-template-columns:1fr}.export-detail{margin:10px 0 0}}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-row button{white-space:nowrap}.group-toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}.group-toggle input{width:auto}.absence-group{border:1px solid #e2eaf4;border-radius:10px;margin:8px 0;padding:0 12px}.absence-group summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 0}.absence-group .item{margin:0}.group-chevron{font-size:12px;color:#50617a}.absence-group[open] .group-chevron{display:none}@media(max-width:600px){.absence-group summary{align-items:flex-start}.item{flex-wrap:wrap;gap:8px}.action-row button{font-size:13px}}.calday.weekend:not(.holiday):not(.absent){background:#d9dfe7;color:#56677a}.calday.weekend:not(.holiday):not(.absent):hover{background:#c9d1db}.recovery-panel{padding:15px;border:1px solid #dce5f1;border-radius:10px;margin:16px 0}.negative{color:#a72525}.credit-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.credit-form label{max-width:280px;flex:1;min-width:180px}.credit-form button{margin-bottom:12px}.timeline-scroll{overflow-x:auto;margin:20px 0;border:1px solid #e1e7f0;border-radius:10px}.timeline-grid{display:grid;grid-template-columns:minmax(190px,2.4fr) repeat(12,minmax(66px,1fr)) minmax(85px,1fr);min-width:1130px}.timeline-grid>div{padding:9px 5px;border-right:1px solid #e9edf3;border-bottom:1px solid #e9edf3;min-height:43px}.timeline-head{background:#d9e1ec;text-align:center;font-size:12px;font-weight:700}.timeline-name{text-align:left!important;padding-left:12px!important;overflow-wrap:anywhere}.timeline-project{background:#eaf0f7;font-weight:700;font-size:13px}.timeline-phase{background:#fbfcfe;font-size:12px}.timeline-total{text-align:right;font-variant-numeric:tabular-nums}.timeline-cell{display:flex;align-items:center}.timeline-bar{border-radius:5px;background:#f6d979;padding:7px 2px;text-align:center;width:100%;font-size:11px;font-weight:700;white-space:nowrap;color:#27354b}.timeline-bar.tone-1{background:#d8b0df}.timeline-bar.tone-2{background:#a7dbe2}.timeline-bar.tone-3{background:#b6d9ad}.timeline-bar.tone-4{background:#b8cef2}.recovery-details{margin-top:16px}.recovery-details summary{cursor:pointer;font-weight:650;padding:10px 0}.recovery-details .report-table{font-size:12px}.recovery-details .report-table th,.recovery-details .report-table td{padding:8px}
