.workflow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0}.flow-step{min-height:92px;padding:13px;border-radius:15px;border:1px solid var(--line);background:#fff;display:flex;gap:9px;align-items:flex-start}.flow-step>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:900}.flow-step strong,.flow-step small{display:block}.flow-step strong{font-size:12px}.flow-step small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}.flow-step.is-done{background:#eff9f2;border-color:#b9dfc5}.flow-step.is-done>span{background:var(--green);color:#fff}.flow-step.is-current{border:2px solid var(--orange);box-shadow:0 7px 20px rgba(237,123,49,.13)}.flow-step.is-current>span{background:var(--orange);color:#fff}.flow-step.is-locked{opacity:.55}.flow-step.is-locked>span{background:#e8eef3}.action-card{margin-bottom:16px}.btn-large{min-height:50px;padding:14px 20px}.photo-card{margin:0;position:relative}.photo-card img{display:block}.photo-card figcaption{font-size:10px;color:var(--muted);padding:5px 2px}.accept-box{margin-top:18px;padding:16px;border:1px solid #f0c49f;border-radius:14px;background:#fff8f2}.confirmation{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.confirmation input{width:auto;margin-top:3px}.customer-mobile{margin-bottom:16px}.btn:disabled{opacity:.55;cursor:wait}
@media(max-width:850px){.workflow{display:block;margin:14px 0;overflow:visible}.workflow .flow-step{display:none;width:100%;min-height:0;padding:16px}.workflow .flow-step.is-current{display:flex}.workflow.workflow-finished .flow-step:last-child{display:flex}.workflow .flow-step strong{font-size:15px}.workflow .flow-step small{font-size:12px}.customer-mobile .actions .btn{flex:1}.action-card{padding:17px}.btn-large{width:100%}}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.calendar-actions,.calendar-modes{display:flex;gap:6px}.calendar-grid{display:grid;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.calendar-grid.week{grid-template-columns:repeat(4,1fr);min-height:620px}.calendar-grid.month{grid-template-columns:repeat(7,1fr)}.calendar-grid.day{grid-template-columns:1fr;min-height:620px}.cal-day{min-width:0;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-grid.month .cal-day{min-height:130px}.cal-day header{display:flex;justify-content:space-between;text-transform:capitalize;color:var(--muted);margin-bottom:8px}.cal-day.today header b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--blue);color:#fff}.cal-day.outside{background:#f5f7f9;opacity:.6}.cal-event{width:100%;display:grid;text-align:left;border:0;border-left:4px solid var(--orange);background:var(--sky);color:var(--ink);border-radius:7px;padding:7px;margin:4px 0;cursor:pointer}.cal-event strong,.cal-event span,.cal-event small{overflow:hidden;text-overflow:ellipsis}.cal-event small{color:var(--muted)}.cal-event .cal-phone{margin-top:3px;color:var(--navy);font-weight:800}
.calendar-search{display:grid;gap:4px;min-width:min(330px,100%)}.calendar-search label{font-size:12px;font-weight:800;color:var(--muted)}.calendar-search input{margin:0}.calendar-date-control{position:relative;display:inline-flex;cursor:pointer}.calendar-date-label{display:inline-flex;align-items:center;min-height:42px;white-space:nowrap}.calendar-date-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.calendar-date-control:focus-within .calendar-date-label{outline:2px solid var(--blue);outline-offset:2px}.calendar-current-title{text-transform:capitalize}.calendar-search-results{display:grid;gap:6px;margin:-4px 0 14px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.calendar-search-results>button{display:grid;gap:2px;text-align:left;border:0;border-radius:9px;background:var(--sky);color:var(--ink);padding:9px 11px;cursor:pointer}.calendar-search-results>button:hover{background:#d8ebf7}.calendar-search-results small{color:var(--muted)}
@media(max-width:850px){.calendar-toolbar{align-items:flex-start}.calendar-search{order:2;width:100%}.calendar-actions{order:3}.calendar-modes{order:4;width:100%}.calendar-modes .btn{flex:1}.calendar-grid.week{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}.calendar-grid.week .cal-day{min-width:0;min-height:104px;padding:12px;border-right:0}.calendar-grid.week .cal-day:last-child{border-bottom:0}.calendar-grid.week .cal-day header{justify-content:flex-start;align-items:center;gap:9px;font-weight:850;color:var(--navy)}.calendar-grid.week .cal-day header b{order:-1;font-size:15px}.calendar-grid.month .cal-day{min-height:86px;padding:5px}.calendar-grid.month .cal-event small,.calendar-grid.month .cal-event span{display:none}}
.signature-pad{display:block;width:100%;height:min(52vh,430px);background:#fff;border:2px dashed #9fb4c6;border-radius:16px;touch-action:none}.signature-screen[hidden]{display:none}.signature-screen{position:fixed;inset:0;z-index:1000;background:#f4f7f9;display:flex;flex-direction:column}.signature-screen-head{height:64px;padding:env(safe-area-inset-top) 18px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.signature-screen-head strong{text-align:center}.signature-close{justify-self:start;border:0;background:transparent;color:var(--blue);font-size:16px;font-weight:800}.signature-screen-body{flex:1;display:flex;flex-direction:column;gap:12px;width:min(850px,100%);margin:auto;padding:18px;overflow:auto}.signature-screen-body p{margin:0}.signature-screen-body .signature-pad{flex:1;min-height:280px}.signature-open{overflow:hidden}.quote-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quote-status-head h2{margin:0}.pdf-icon-action{display:inline-grid;place-items:center;width:48px;height:48px;margin-top:12px;border-radius:13px;background:#e8f3fb;color:var(--blue);font-size:13px;font-weight:900;text-decoration:none}.quote-status-card .accept-box{padding:0;border:0;background:transparent;margin-top:12px}
.cal-event.ongoing{background:#e6f6eb;border-left-color:#27864c;color:#175f35}.cal-event.done{background:#23394d;border-left-color:#102334;color:#fff}.cal-event.done small,.cal-event.done em{color:#d9e5ed}.cal-event.reschedule{background:#fde8f1;border-left-color:#d64f87;color:#842b52}.cal-event em{font-size:10px;font-style:normal;font-weight:800;margin-top:3px}.calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.calendar-legend button{padding:6px 10px;border:2px solid transparent;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer}.calendar-legend button.active{border-color:currentColor;box-shadow:0 0 0 2px #fff inset}.calendar-legend .planned{background:var(--sky);color:var(--blue)}.calendar-legend .ongoing{background:#e6f6eb;color:#175f35}.calendar-legend .done{background:#23394d;color:#fff}.calendar-legend .reschedule{background:#fde8f1;color:#842b52}
.confirmation-state{margin-top:5px;padding:4px 6px;border-radius:6px;background:#fff6cf;color:#765c00!important;font-weight:800}.confirmation-state.confirmee{background:#dff4e5;color:#176332!important}.confirmation-state.reprogrammation_demandee{background:#ffe4cf;color:#8b430f!important}
.cal-event[draggable="true"]{cursor:grab}.cal-event[draggable="true"]:active{cursor:grabbing}.cal-day.drop-target{background:#e8f6ed;outline:2px solid var(--green);outline-offset:-2px}
.cal-event{position:relative}.payment-received{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#16834a;color:#fff!important;font-size:17px;line-height:1;box-shadow:0 1px 4px #0003}.cal-event:has(.payment-received)>strong{padding-right:30px}
.cal-day{display:flex;flex-direction:column}.cal-day>div{flex:1}.day-tools{display:flex;justify-content:flex-end;align-items:center;gap:5px;padding-top:7px;border-top:1px solid var(--line)}.day-tools a,.day-tools button{position:relative;width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 30px;border:1px solid var(--line);background:#fff;color:var(--blue);text-decoration:none;cursor:pointer;padding:0;border-radius:8px;box-shadow:none}.day-tools a:hover,.day-tools button:hover{background:var(--sky);border-color:#9fc4df}.day-tools svg{display:block!important;width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important;fill:currentColor;flex:none}.day-tools .route-part{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--navy);color:#fff;font-size:9px;line-height:1}.day-tools span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.day-tools a{color:#23834a;background:#e9f7ee;border-color:#b8dfc6}.day-tools a:hover{color:#fff;background:#23834a;border-color:#23834a}.day-tools button{color:#c45c17;background:#fff1e7;border-color:#f3c49f}.day-tools button:hover{color:#fff;background:#ed7b31;border-color:#ed7b31}
.validated-euro{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e7f7ec;color:#218149;border:1px solid #aad8b9;font-size:16px;font-weight:950;vertical-align:middle;box-shadow:0 2px 7px rgba(33,129,73,.16)}
.issue-card{border-color:#f2c59f;background:#fffaf6}.issue-history{margin-top:20px;padding-top:16px;border-top:1px solid #efd7c4}.issue-entry{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #f2e4d8}.issue-entry strong{color:#a34c16}.issue-entry small{color:var(--muted)}.cal-event.unpaid{background:#fff0f0;border-left-color:#be3d3d;color:#852828}.calendar-legend .unpaid{background:#fff0f0;color:#852828}
.reprogramming-wait{border-color:#e79cbb;background:#fff2f7}.reprogramming-wait h2{color:#842b52}
.case.case-planned{border-left:5px solid var(--blue);background:#f5faff}.case.case-ongoing{border-left:5px solid #27864c;background:#effaf2}.case.case-done{border-left:5px solid #23394d;background:#f1f4f6}.case.case-reschedule{border-left:5px solid #d64f87;background:#fff2f7}.case.case-unpaid{border-left:5px solid #be3d3d;background:#fff3f3}.badge-planned{background:var(--sky);color:var(--blue)}.badge-ongoing{background:#dff4e5;color:#176332}.badge-done{background:#23394d;color:#fff}.badge-reschedule{background:#f8d8e5;color:#842b52}.badge-unpaid{background:#f8dada;color:#852828}
.warranty-card{border-color:#b8d6ec;background:#f7fbfe}.warranty-card .confirmation{font-weight:850;color:var(--navy)}
.warranty-card h2{margin-bottom:10px}.warranty-toggle{margin:8px 0 12px}.supplier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:8px 0 12px}.supplier-choice{display:grid;place-items:center;gap:5px;min-height:76px;padding:9px 5px;border:2px solid transparent;border-radius:13px;background:#fff;color:var(--navy);cursor:pointer}.supplier-choice b{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#fff;font-size:15px}.supplier-choice span{font-size:11px;font-weight:850}.supplier-choice.wiseo b{background:#155c9b}.supplier-choice.flo b{background:#ef7d00}.supplier-choice.janneau b{background:#174477}.supplier-choice.other b{background:#6c7c89;font-size:24px}.supplier-choice.selected{border-color:var(--orange);box-shadow:0 0 0 2px rgba(237,123,49,.12)}@media(max-width:430px){.supplier-grid{grid-template-columns:repeat(2,1fr)}}
.yes-no-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}.yes-no-choice label{cursor:pointer}.yes-no-choice input{position:absolute;opacity:0;pointer-events:none}.yes-no-choice span{display:block;padding:13px;border:2px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-weight:900}.yes-no-choice input:checked+span{border-color:var(--orange);background:#fff3e8;color:#9b4709}
.appointment-field>small{display:block;margin-top:7px;color:var(--muted)}.ios-appointment{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(105px,.8fr) 28px minmax(105px,.8fr);align-items:center;gap:0;margin-top:7px;padding:5px;background:#eef1f4;border:1px solid #d7dee5;border-radius:16px}.ios-appointment label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:6px 9px;background:#fff;border-radius:11px}.ios-appointment label>span{font-size:12px;font-weight:850;color:var(--muted)}.ios-appointment input{min-width:0;margin:0;padding:6px;border:0;background:transparent;font-weight:800;color:var(--ink);box-shadow:none}.ios-appointment .time-arrow{text-align:center;color:var(--blue);font-weight:900}
@media(max-width:600px){.ios-appointment{grid-template-columns:1fr 28px 1fr}.ios-appointment label:first-child{grid-column:1/-1;margin-bottom:5px}.ios-appointment label{grid-template-columns:1fr;gap:2px}.ios-appointment input{padding:3px 0}.ios-appointment label>span{font-size:10px;text-transform:uppercase;letter-spacing:.04em}}
.appointment-editor{width:min(720px,100%);margin:0 auto 30px;padding:4px 0 24px}.ios-editor-head{width:min(720px,100%);margin:0 auto 13px;display:grid;grid-template-columns:100px 1fr 100px;align-items:center;text-align:center}.ios-editor-head h1{font-size:21px;margin:0}.ios-editor-head p{font-size:12px;color:var(--muted);margin:2px 0 0}.ios-editor-head button{border:0;background:transparent;color:var(--blue);font-weight:750;font-size:16px;padding:10px;cursor:pointer}.ios-editor-head button:first-child{text-align:left}.ios-editor-head button:last-child{text-align:right;font-weight:850}.ios-section-title{margin:20px 14px 7px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:750}.ios-form-group{overflow:visible;background:#fff;border:1px solid #e0e4e8;border-radius:14px;box-shadow:0 2px 8px rgba(20,45,70,.04)}.ios-form-row{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;min-height:52px;padding:4px 12px}.ios-form-row+.ios-form-row{border-top:1px solid #e8ebee}.ios-row-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#fff;font-size:15px;font-weight:900}.ios-row-icon.blue{background:#2382dc}.ios-row-icon.green{background:#35b857}.ios-row-icon.orange{background:#ef8730}.ios-row-icon.red{background:#ef5350}.ios-row-icon.violet{background:#7655d6}.ios-row-icon.cyan{background:#25a7bb}.ios-row-icon.yellow{background:#dba717}.ios-form-row label{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:8px;color:var(--ink);font-size:14px;font-weight:650}.ios-form-row input,.ios-form-row select,.ios-form-row textarea{border:0;border-radius:0;padding:10px 2px;background:transparent;box-shadow:none;text-align:right}.ios-form-row input::placeholder,.ios-form-row textarea::placeholder{color:#9aa6b1}.ios-form-row textarea{text-align:left;min-height:82px}.ios-notes-row{align-items:start;padding-top:11px}.ios-notes-row label{align-items:start}.ios-address-row label{position:relative}.ios-form-row label>select[id],.ios-form-row label>small{grid-column:1/-1;width:100%}.ios-form-row label>select[id]{margin:0 0 7px;padding:9px;border:1px solid var(--line);border-radius:9px;text-align:left;background:#f8fafb}.ios-form-row label>small{color:var(--green);font-size:11px;text-align:right}.ios-title-group .ios-form-row input{font-size:18px;font-weight:700}.ios-schedule-group{padding:1px 12px}.ios-schedule-group .appointment-field{margin:4px 0}.ios-schedule-group .appointment-field>label,.ios-schedule-group .appointment-field>small{display:none}.ios-schedule-group .ios-appointment{border:0;background:transparent;margin:0;padding:5px 0}.ios-submit{display:block;width:100%;margin-top:20px}.appointment-editor .error{margin-top:14px}
.sav-source-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.sav-source-choice>label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}.sav-source-choice input[type=radio]{width:auto;margin:0}.sav-source-choice #sav-dossier-picker{grid-column:1/-1;display:grid;gap:7px;padding:12px;border-radius:10px;background:#f3f7fa}.sav-source-choice #sav-dossier-picker[hidden]{display:none}.sav-source-choice #sav-dossier-picker label{font-size:12px;font-weight:700}.sav-source-choice #sav-dossier-picker input,.sav-source-choice #sav-dossier-picker select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.sav-source-choice #sav-dossier-picker p{margin:0;font-size:12px}
@media(max-width:600px){.sav-source-choice{grid-template-columns:1fr}}
@media(max-width:600px){.ios-editor-head{grid-template-columns:76px 1fr 76px;position:sticky;top:62px;z-index:4;background:rgba(245,248,250,.94);backdrop-filter:blur(12px);padding:6px 0}.ios-editor-head h1{font-size:17px}.ios-editor-head button{font-size:14px;padding:8px 2px}.appointment-editor{padding-bottom:18px}.ios-section-title{margin-top:17px}.ios-form-row{grid-template-columns:29px 1fr;padding:4px 10px}.ios-form-row label{grid-template-columns:90px minmax(0,1fr);gap:5px}.ios-form-row input,.ios-form-row select{padding-left:0;padding-right:0;font-size:14px}.ios-row-icon{width:26px;height:26px}.ios-submit{min-height:52px}}
.native-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.photo-library{width:100%;margin-top:4px}.photo-step-action{cursor:pointer;box-shadow:0 7px 20px rgba(237,123,49,.18)}.photo-step-action:active{transform:scale(.98)}.photo-step-action:focus-visible{outline:3px solid rgba(18,99,163,.25);outline-offset:2px}
.stage-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.stage-navigation .btn{width:100%;min-height:42px;padding:9px 10px;font-size:13px}.stage-navigation .btn:disabled{opacity:.35;cursor:not-allowed}
.customer-quick-actions{display:flex;gap:10px;margin:12px 0}.quick-action{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;text-decoration:none;box-shadow:0 4px 12px rgba(24,50,75,.12);transition:transform .15s ease,box-shadow .15s ease}.quick-action:active{transform:scale(.94)}.quick-action svg{width:22px;height:22px;fill:currentColor}.quick-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.quick-action.call{background:#e6f6eb;color:#1f8147}.quick-action.email{background:#e8f3fb;color:#1263a3}.quick-action.route{background:#fff0e5;color:#d6651d}
.customer-info{display:flex;align-items:center;justify-content:space-between;gap:14px}.customer-info h2,.customer-info p{margin-bottom:4px}.intervention-toolbar h1{margin:5px 0 0}.intervention-quote-card textarea{min-height:64px}
@media(max-width:850px){.intervention-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important}.intervention-toolbar h1{font-size:18px;line-height:1.15;margin:3px 0 0}.intervention-toolbar .meta{font-size:11px;margin:2px 0}.intervention-toolbar>.actions{flex-wrap:nowrap}.intervention-toolbar .btn{width:auto!important;min-height:34px;padding:7px 9px;font-size:12px}.customer-mobile{padding:11px 12px!important;margin-bottom:8px!important}.customer-info{align-items:flex-start}.customer-info h2{font-size:17px;margin:0 0 3px}.customer-info p{font-size:12px;line-height:1.25;margin:0}.customer-quick-actions{flex:none;gap:6px;margin:0}.quick-action{width:38px;height:38px;border-radius:11px;box-shadow:none}.quick-action svg{width:18px;height:18px}.workflow{margin:7px 0!important}.workflow .flow-step{padding:9px 11px!important;border-radius:11px}.workflow .flow-step>span{width:21px;height:21px;font-size:12px}.workflow .flow-step strong{font-size:13px}.workflow .flow-step small{font-size:10px;margin-top:2px}.action-card{padding:12px!important;margin-bottom:8px!important}.action-card h2{font-size:18px;margin-bottom:8px}.action-card h3{font-size:15px;margin-bottom:6px}.action-card .field{margin:8px 0;gap:4px}.action-card input,.action-card select,.action-card textarea{padding:9px 10px}.action-card textarea{min-height:62px}.action-card .btn-large{min-height:42px;padding:9px 12px}.photo-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:6px}.photo-actions .btn{width:100%;padding:8px 6px;font-size:12px}.workflow-photos{display:flex!important;gap:6px;overflow-x:auto;margin:7px 0}.workflow-photos .photo-card{flex:0 0 72px}.workflow-photos img{width:72px;height:72px}.workflow-photos figcaption{display:none}.stage-navigation{margin-top:9px}.intervention-type-panel{margin-top:8px;padding:9px}.intervention-type-choice{margin:6px 0;padding:10px 11px}.intervention-type-choice small{font-size:11px}.yes-no-choice{margin:6px 0 8px}.yes-no-choice span{padding:9px}.supplier-grid{gap:6px;margin:6px 0}.supplier-choice{min-height:58px;padding:5px}.supplier-choice b{width:30px;height:30px;font-size:12px}.intervention-quote-card{padding:12px!important}.quote-line-actions{display:grid;grid-template-columns:1fr 1fr}.quote-line-actions select{grid-column:1/-1}.intervention-quote-card .table th,.intervention-quote-card .table td{padding:6px 4px}.intervention-quote-card .table input,.intervention-quote-card .table select{min-width:72px;padding:7px 5px}}
.intervention-type-panel{margin-top:16px;padding:16px;border:1px solid #f0c49f;border-radius:15px;background:#fff8f2}.intervention-type-panel[hidden]{display:none}.intervention-type-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.intervention-type-choice:hover,.intervention-type-choice:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(237,123,49,.12)}.intervention-type-choice:disabled{opacity:.55;cursor:wait}.intervention-type-choice span,.intervention-type-choice strong,.intervention-type-choice small{display:block}.intervention-type-choice small{margin-top:4px;color:var(--muted);line-height:1.4}.intervention-type-choice>b{color:var(--orange);font-size:25px}.workflow-warranty .flow-step.is-current{border-color:var(--blue);box-shadow:0 7px 20px rgba(18,99,163,.13)}.workflow-warranty .flow-step.is-current>span{background:var(--blue)}
.logout-button,.refresh-button{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800;cursor:pointer}.logout-button{color:var(--red)}.refresh-button{color:var(--blue)}.logout-button:hover{background:#fff0f0}.refresh-button:hover{background:var(--sky)}@media(max-width:600px){.logout-button,.refresh-button{width:38px;height:38px;justify-content:center;margin-left:6px;padding:0;font-size:20px}.logout-button span,.refresh-button span{display:none}.top-brand>span{display:none}}

/* Palette lisible en un coup d'œil, y compris dans la vue mensuelle mobile. */
.cal-event.planned{background:#b9e0ff;border-left-color:#0b65a4;color:#123a5c}
.cal-event.planned small,.cal-event.planned em{color:#123a5c}
.cal-event.ongoing{background:#b8ff45;border-left-color:#267226;color:#153b19;box-shadow:inset 0 0 0 1px #267226}
.cal-event.ongoing small,.cal-event.ongoing em,.cal-event.ongoing .cal-phone{color:#153b19}
.cal-event.done{background:#263b52;border-left-color:#122537;color:#fff}
.cal-event.done .cal-phone{color:#eaf3fa}
.cal-event.reschedule{background:#ffc0df;border-left-color:#b83376;color:#5c133a}
.cal-event.reschedule small,.cal-event.reschedule em{color:#5c133a}
.cal-event.unpaid{background:#ffc6b4;border-left-color:#a3381c;color:#67220f}
.cal-event.unpaid small,.cal-event.unpaid em{color:#67220f}
.cal-event.planned,.cal-event.ongoing,.cal-event.done,.cal-event.reschedule,.cal-event.unpaid{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.calendar-legend .planned{background:#b9e0ff;color:#123a5c}
.calendar-legend .ongoing{background:#b8ff45;color:#153b19}
.calendar-legend .done{background:#263b52;color:#fff}
.calendar-legend .reschedule{background:#ffc0df;color:#5c133a}

.accueil-home-card{grid-column:span 4;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.accueil-home-card h2,.accueil-home-card p{margin:0}
.accueil-home-card .actions{margin-top:auto}
.accueil-home-card .btn{min-height:44px}
@media(max-width:1100px){.accueil-home-card{grid-column:span 6}}
@media(max-width:700px){.accueil-home-card{grid-column:span 12;width:100%}.accueil-home-card .actions,.accueil-home-card .actions .btn{width:100%}}

/* Planning SAV : mêmes repères visuels que le planning des poseurs. */
.calendar-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;margin-bottom:14px}
.calendar-toolbar>div:first-child{min-width:0}
.calendar-toolbar h1{margin-bottom:4px}
.calendar-toolbar>#cal-new{grid-column:2;justify-self:end}
.calendar-toolbar .page-tools{grid-column:3;grid-row:1}
.calendar-search{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:10px;min-width:0;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(28,63,94,.05)}
.calendar-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,99,163,.1)}
.calendar-search label{flex:none;color:var(--blue)}
.calendar-search input{flex:1;min-width:0;margin:0;padding:11px 0;border:0;background:transparent;box-shadow:none}
.calendar-search input:focus{border:0;box-shadow:none}
.calendar-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:44px minmax(230px,auto) 44px;gap:7px;align-items:center}
.calendar-actions>.btn{min-width:44px;min-height:43px;padding:7px}
.calendar-date-control{min-width:230px;height:43px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:800;text-align:center}
.calendar-date-label{min-width:0;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;white-space:normal}
.calendar-modes{grid-column:3;grid-row:3;display:flex;gap:7px}
.calendar-modes .btn{min-height:43px}
.calendar-legend{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.calendar-legend button{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.calendar-legend button:not(.active){background:#fff;color:var(--muted)}
.calendar-legend button.active{box-shadow:inset 0 0 0 1px currentColor}
.calendar-grid.day,.calendar-grid.week{min-height:0}
.calendar-grid.week{grid-template-columns:repeat(4,minmax(0,1fr))}
.calendar-grid.day .cal-day,.calendar-grid.week .cal-day{padding:0;border-bottom:0}
.calendar-grid.week .cal-day:last-child{border-right:0}
.calendar-grid.day .cal-day{border-right:0}
.calendar-grid.day .cal-day header,.calendar-grid.week .cal-day header{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-height:45px;margin:0;padding:10px 12px;border-bottom:1px solid var(--line);background:#f5f8fa;color:var(--navy);font-size:12px;font-weight:850}
.calendar-grid.day .cal-day.today header,.calendar-grid.week .cal-day.today header{background:#edf7ff}
.cal-day header .cal-day-name{text-transform:capitalize}
.cal-day header .cal-day-month{font-size:11px;font-weight:700;color:var(--muted)}
.cal-day header .cal-day-count{margin-left:auto;padding:3px 6px;border-radius:999px;background:#eaf1f6;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
.cal-day.today header b{flex:0 0 27px}
.cal-day-events{display:grid;align-content:start;gap:5px;padding:8px}
.calendar-grid.day .cal-day-events{padding:10px}
.cal-empty{margin:4px;color:#8a9bab;font-size:12px}
.cal-event{min-width:0;margin:0;border:1px solid #bad2e3;border-left-width:5px;border-radius:9px;overflow:hidden;font:inherit;line-height:1.3}
.cal-event:hover,.cal-event:focus-visible{outline:0;border-color:var(--blue);box-shadow:0 4px 14px rgba(24,50,75,.13)}
.cal-event:has(.payment-received){padding-right:37px}
.cal-event:has(.payment-received)>.cal-event-time{padding-right:0}
.cal-event-time{color:var(--navy);font-size:12px;font-weight:900;white-space:nowrap}
.cal-event-client{font-size:12px;font-weight:850;white-space:nowrap}
.cal-event-address{min-width:0;font-size:11px}
.cal-event-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:2px 6px;border:1px solid currentColor;border-radius:999px;background:#ffffffb8;font-size:10px;font-style:normal;font-weight:850;white-space:nowrap}
.cal-event .confirmation-state{min-width:0;margin:0;font-size:10px}
.calendar-grid.day .cal-event{grid-template-columns:90px minmax(120px,.9fr) minmax(150px,1.4fr) minmax(115px,.75fr);grid-template-rows:auto auto;align-items:center;gap:2px 9px;min-height:54px;padding:8px 11px}
.calendar-grid.day .cal-event-time{grid-area:1/1/3/2}
.calendar-grid.day .cal-event-client{grid-area:1/2/2/3}
.calendar-grid.day .cal-phone{grid-area:2/2/3/3;margin:0;font-size:11px}
.calendar-grid.day .cal-event-address{grid-area:1/3/3/4}
.calendar-grid.day .cal-event-status{grid-area:1/4/2/5}
.calendar-grid.day .confirmation-state{grid-area:2/4/3/5}
.calendar-grid.week .cal-event{grid-template-columns:minmax(0,1fr) auto;gap:2px 5px;padding:8px}
.calendar-grid.week .cal-event-time{grid-area:1/1}
.calendar-grid.week .cal-event-client{grid-column:1/-1;grid-row:2}
.calendar-grid.week .cal-event-address,.calendar-grid.week .cal-phone,.calendar-grid.week .confirmation-state{grid-column:1/-1;margin:0}
.calendar-grid.week .cal-event-status{grid-area:1/2}
.calendar-grid.month .cal-day header .cal-day-name,.calendar-grid.month .cal-day header .cal-day-month,.calendar-grid.month .cal-day header .cal-day-count{display:none}
.calendar-grid.month .cal-day header{justify-content:flex-end}
.calendar-grid.month .cal-day-events{padding:0}
.calendar-grid.month .cal-event{margin:3px 0;padding:5px 6px}
.calendar-grid.month .cal-event-address,.calendar-grid.month .cal-phone,.calendar-grid.month .confirmation-state{display:none}
.calendar-grid.month .cal-event-status{padding:0;border:0;background:transparent}
.cal-day .day-tools{padding:7px 9px}
.cal-day.drop-target{background:#e8f6ed}
@media(max-width:850px){
  .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .calendar-toolbar>div:first-child,.calendar-toolbar>#cal-new,.calendar-search,.calendar-actions,.calendar-modes{grid-column:1/-1;grid-row:auto;order:initial}
  .calendar-toolbar>#cal-new{width:100%}
  .calendar-toolbar .page-tools{grid-column:2;grid-row:1}
  .calendar-search{width:100%}
  .calendar-actions{grid-template-columns:44px minmax(0,1fr) 44px;width:100%}
  .calendar-date-control{min-width:0}
  .calendar-modes{width:100%}
  .calendar-modes .btn{flex:1}
  .calendar-legend{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
  .calendar-legend button{flex:0 0 auto}
  .calendar-grid.week{grid-template-columns:minmax(0,1fr)}
  .calendar-grid.week .cal-day{min-height:0;padding:0;border-right:0;border-bottom:1px solid var(--line)}
  .calendar-grid.week .cal-day:last-child{border-bottom:0}
  .calendar-grid.week .cal-day header{justify-content:flex-start;gap:7px;padding:9px 11px}
  .calendar-grid.week .cal-day header b{order:0;font-size:12px}
  .calendar-grid.day .cal-event{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:none;gap:2px 5px;padding:9px}
  .calendar-grid.day .cal-event-time{grid-area:1/1}
  .calendar-grid.day .cal-event-status{grid-area:1/2}
  .calendar-grid.day .cal-event-client{grid-column:1/-1;grid-row:2}
  .calendar-grid.day .cal-event-address,.calendar-grid.day .cal-phone,.calendar-grid.day .confirmation-state{grid-area:auto;grid-column:1/-1}
}
@media(max-width:430px){.cal-day header .cal-day-count{font-size:9px}.calendar-grid.day .cal-day header,.calendar-grid.week .cal-day header{gap:5px}}
@media(min-width:851px){.calendar-grid.week.five-days{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media print{.cal-event{break-inside:avoid}}
