:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fa;--bg-accent:#e4eef6;--surface:#fff;--ink:#414042;--muted:#6b6a6c;--brand:#2f7bb8;--brand-2:#256899;--brand-soft:#d7e8f5;--danger:#9b2c2c;--border:#d0d7de;--shadow:0 10px 30px #2f7bb81f;--radius:14px;--font:"Segoe UI", "Avenir Next", "Helvetica Neue", sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left, #c9ddf0 0%, transparent 42%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.stack{flex-direction:column;gap:.9rem;display:flex}.row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.app-shell{grid-template-rows:auto 1fr auto;width:100%;min-width:0;max-width:720px;min-height:100dvh;margin:0 auto;display:grid;overflow-x:hidden}.app-header{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem .75rem;display:flex}.app-header__identity{align-items:center;gap:.75rem;min-width:0;display:flex}.app-header__logo{object-fit:contain;flex-shrink:0;width:52px;height:52px}.app-header__brand{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0;font-size:.78rem;font-weight:700}.app-header__title{margin:.15rem 0 0;font-size:1.15rem}.app-main{min-width:0;padding:0 1.1rem 1.2rem;overflow-x:hidden}.bottom-nav{padding:.65rem 1.1rem calc(.65rem + var(--safe-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);background:#f7faf7eb;grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:sticky;bottom:0}.bottom-nav__link{text-align:center;color:var(--muted);border-radius:999px;padding:.7rem .5rem;font-weight:600}.bottom-nav__link.active{background:var(--brand);color:#fff}.page{padding-bottom:1rem}.page-heading h2{margin:0}.muted{color:var(--muted);margin:.2rem 0 0}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.7rem 1rem;font-weight:650;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--brand);color:#fff}.btn--ghost{border-color:var(--border);color:var(--ink);background:0 0}.panel,.job-card,.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.field{flex-direction:column;gap:.35rem;display:flex}.field span,.field-label{color:var(--muted);font-size:.85rem;font-weight:600}.field input,.field select,.field textarea,.date-strip input[type=date]{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.7rem .8rem}.error-banner{color:var(--danger);background:#fde8e8;border-radius:10px;margin:0;padding:.7rem .85rem}.empty-state{text-align:center;color:var(--muted);padding:2rem 1rem}.date-strip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.job-card__meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;display:flex}.job-card__time{color:var(--muted);margin-left:auto;font-size:.9rem;font-weight:600}.job-card--done{background:linear-gradient(#fff 0%,#f3f8fc 100%);border-color:#9ec5e8}.job-card--future{opacity:.92}.badge--status-waiting{color:#1f7a3f;background:#e5f4ea}.badge--status-in_progress{color:#9b2c2c;background:#fde8e8}.badge--status-done{background:var(--brand-soft);color:var(--brand-2)}.badge--status-problem{color:#9b2c2c;background:#fde8e8}.row-between{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.info-banner{background:var(--brand-soft);color:var(--brand-2);border-radius:10px;margin:0;padding:.7rem .85rem}.agenda-page{gap:.85rem;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.agenda-title-bar{margin:-.25rem 0 0}.agenda-title-bar h2{text-align:center;margin:0}.agenda-calendar{width:100%;min-width:0;max-width:100%;padding:.85rem;overflow:hidden}.agenda-month-nav{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;margin-bottom:.75rem;display:flex}.agenda-month-nav strong{text-align:center;flex:1;min-width:0}.agenda-weekdays,.agenda-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;width:100%;display:grid}.agenda-weekdays span{text-align:center;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:.2rem 0;font-size:.68rem;overflow:hidden}.agenda-day{aspect-ratio:1;width:100%;max-width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:0;padding:0;font-size:.85rem;font-weight:600}.agenda-day.is-empty{visibility:hidden;pointer-events:none}.agenda-day.is-past{color:#9aa3ab}.agenda-day.has-dispo:not(.is-selected){box-shadow:inset 0 -3px 0 var(--brand)}.agenda-day.is-selected{background:var(--brand);color:#fff}.agenda-fullday{border:1.5px solid var(--brand);width:100%;max-width:100%;color:var(--brand);cursor:pointer;box-sizing:border-box;background:#eef5fb;border-radius:12px;padding:.8rem 1rem;font-weight:700}.agenda-fullday.is-active{background:var(--brand);color:#fff}.agenda-fullday:disabled{opacity:.55;cursor:not-allowed}.agenda-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;width:100%;max-width:100%;display:grid}.agenda-slot{color:#333;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:100%;min-width:0;max-width:100%;min-height:3.4rem;padding:.45rem .3rem;display:flex;overflow:hidden}.agenda-slot__time{white-space:nowrap;font-size:.78rem;font-weight:650}.agenda-slot__status{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:100%;padding:0 .15rem;font-size:.62rem;line-height:1.15;overflow:hidden}.agenda-slot.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}.agenda-slot.is-locked{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.agenda-slot.is-booked{color:#b71c1c;opacity:.85;cursor:default;background:#ffebee;border-color:#ef9a9a}.agenda-slot:disabled:not(.is-locked):not(.is-booked){opacity:.55;cursor:not-allowed}.agenda-save{box-sizing:border-box;width:100%;max-width:100%;margin-top:.25rem}@media (width<=380px){.agenda-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-slot__time{font-size:.72rem}}.job-card__title{margin:.45rem 0 .2rem;font-size:1.05rem}.job-card__address{color:var(--muted);margin:.25rem 0 0}.job-card__actions{margin-top:.75rem}.badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge--inter{background:var(--brand-soft);color:var(--brand-2)}.badge--mission{color:var(--ink);background:#ececf1}.login-page{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.login-card{width:min(100%,420px)}.login-card__logo{width:min(100%,220px);height:auto;margin:0 auto .75rem;display:block}.login-card h1{text-align:center;margin:.2rem 0 .4rem}.login-card__hint{color:var(--muted);text-align:center;margin:0 0 1rem}.wizard-top{gap:.75rem;display:grid}.stepper{grid-template-columns:repeat(5,1fr);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.stepper--3{grid-template-columns:repeat(3,1fr)}.stepper li{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.25rem;font-size:.68rem;display:flex}.stepper__btn{border:1px solid var(--border);background:#fff;border-radius:999px;width:2rem;height:2rem;font-weight:700}.stepper__btn.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.stepper__btn.is-done:not(.is-active){background:var(--brand-2);color:#fff;border-color:var(--brand-2)}.photo-picker__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;display:flex}.photo-picker__grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.photo-picker__grid li{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;position:relative;overflow:hidden}.photo-picker__grid img{object-fit:cover;width:100%;height:100%}.photo-picker__remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:999px;width:1.5rem;height:1.5rem;position:absolute;top:.2rem;right:.2rem}.signature-pad__canvas{border:1px dashed var(--border);touch-action:none;background:#fff;border-radius:12px;width:100%;height:160px;margin-bottom:.5rem;display:block}@media (width<=480px){.stepper,.mission-stepper{grid-template-columns:repeat(3,1fr)}.page .stepper:has(li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}.app-shell--dossier{max-width:720px}.app-main--dossier{flex-direction:column;min-height:0;padding:0;display:flex}.dossier{background:#e8e8e8;flex-direction:column;min-height:100dvh;display:flex}.dossier__header{background:var(--brand);color:#fff;flex-shrink:0;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;min-height:50px;padding:.35rem .5rem;display:grid}.dossier__back{color:#fff;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.35rem;font-weight:700;display:inline-flex}.dossier__title{text-align:center;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;overflow:hidden}.dossier__scroll{padding:.5rem .5rem calc(.5rem + 72px + var(--safe-bottom));flex:1;overflow-y:auto}.dossier__card{background:#fff;border-radius:2px;overflow:hidden}.dossier__row{align-items:flex-start;gap:.85rem;padding:.95rem 1rem;display:flex}.dossier__text{color:var(--ink);flex:1;min-width:0;margin:0;font-size:1.05rem;line-height:1.35}.dossier__text p{margin:0}.dossier__sub{color:var(--muted);font-size:.9rem;margin-top:.35rem!important}.dossier__label{color:var(--ink)}.dossier__notes{white-space:pre-wrap;text-transform:uppercase;font-size:.98rem}.dossier__time{align-items:center;gap:.55rem;display:flex}.dossier__time-arrow{color:var(--brand);font-weight:700}.dossier__sep{background:#e8e8e8;height:4px}.dossier__steps{background:#e8e8e8;padding:.65rem .5rem}.dossier-stepper{align-items:center;gap:.65rem;margin-bottom:.55rem;padding:0 .25rem;display:flex}.dossier-stepper__badge{background:var(--brand);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;font-weight:700;display:inline-flex}.dossier-stepper__list{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.dossier-stepper__dot{color:#fff;cursor:pointer;background:#c5c5c5;border:1px solid #c5c5c5;border-radius:999px;width:1.7rem;height:1.7rem;font-size:.8rem;font-weight:700}.dossier-stepper__dot.is-active,.dossier-stepper__dot.is-done{background:var(--brand);border-color:var(--brand)}.dossier-stepper__dot:disabled{opacity:.55;cursor:not-allowed}.dossier-step-body .panel{box-shadow:none;background:#fff;border:none;border-radius:0;padding:.85rem}.dossier-cta{padding:.35rem .25rem .15rem}.dossier-cta__btn{text-transform:uppercase;letter-spacing:.02em;border-radius:6px;width:100%;padding:.85rem 1rem}.dossier__footer{width:min(100%,720px);padding:.45rem .5rem calc(.45rem + var(--safe-bottom));z-index:20;background:#2f6fad;grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.dossier__action{color:#fff;background:#3a3a3a;border-radius:8px;justify-content:center;align-items:center;min-height:52px;display:flex}.dossier__action.is-disabled{opacity:.45}.dossier-ico{background:var(--brand-soft);border-radius:999px;flex-shrink:0;width:36px;height:36px;display:inline-block;position:relative}.dossier-ico:before{content:"";border:2px solid var(--brand);border-radius:999px;position:absolute;inset:9px}.dossier-ico--user:before{border-radius:999px 999px 40% 40%;inset:8px 10px 10px}.dossier-ico--pin:before{border-radius:50% 50% 50% 0;inset:8px 11px 10px;transform:rotate(-45deg)}.dossier-ico--clock:before{border-radius:999px}.dossier-ico--doc{border-radius:6px}.dossier-ico--doc:before{border-radius:3px;inset:7px 10px}.dossier-ico--car:before{border-radius:4px;inset:12px 6px 10px}.dossier-ico--plate{background:var(--brand);border-radius:4px}.dossier-ico--plate:before{content:"AA";color:#fff;letter-spacing:.04em;border:none;justify-content:center;align-items:center;font-size:.55rem;font-weight:800;display:flex;inset:0}.dossier-ico--code:before{content:"#";color:var(--brand);border:none;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex;inset:0}.dossier-ico--glass:before{border-radius:4px 4px 40% 40%;inset:8px 8px 10px}.dossier-ico--wrench:before{border-radius:2px;inset:10px 14px;transform:rotate(45deg)}.dossier__action .dossier-ico{background:0 0;width:28px;height:28px}.dossier__action .dossier-ico:before{border-color:#fff}.dossier-ico--phone:before,.dossier-ico--sms:before,.dossier-ico--waze:before,.dossier-ico--discord:before{border-radius:6px;inset:6px}.edl-form{background:#fff;padding:.75rem .85rem 1rem}.edl-form__title{text-align:center;color:#2f4f7a;margin:0 0 .75rem;font-size:1.15rem;font-weight:700;line-height:1.3}.edl-field{flex-direction:column;gap:.2rem;display:flex}.edl-field span{color:var(--ink);font-size:.95rem;font-weight:600}.edl-field input{background:0 0;border:none;border-bottom:2px solid #f07a3a;border-radius:0;padding:.55rem .2rem;font-size:1rem}.edl-field input:focus{border-bottom-color:var(--brand);outline:none}.edl-car-preview{border:1px solid var(--border);cursor:pointer;background:#fff;width:min(100%,280px);margin:.35rem auto;padding:0;display:block;position:relative;overflow:hidden}.edl-car-preview img{width:100%;height:auto;display:block}.edl-car-preview.is-locked{opacity:.72}.edl-car-preview__marker{pointer-events:none;width:18%;position:absolute;transform:translate(-50%,-50%)}.edl-car-preview__marker img{width:100%;height:auto}.edl-car-preview__badge{background:var(--brand);color:#fff;border-radius:999px;padding:.2rem .45rem;font-size:.7rem;font-weight:700;position:absolute;bottom:.4rem;right:.4rem}.edl-ras{align-items:center;gap:.5rem;margin:.15rem 0;font-size:1.05rem;font-weight:650;display:inline-flex}.edl-ras input{width:1.15rem;height:1.15rem;accent-color:var(--brand)}.edl-submit,.edl-cancel{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;width:100%;font-weight:700}.edl-toast{color:#fff;text-align:center;background:#414042;border-radius:8px;margin:0;padding:.65rem .8rem;font-size:.9rem}.edl-modal{z-index:80;background:#fff;flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:fixed;inset:0}.edl-modal__header{background:var(--brand);color:#fff;flex-shrink:0;justify-content:center;align-items:center;min-height:52px;display:flex;position:relative}.edl-modal__header h2{letter-spacing:.04em;margin:0;font-size:1.05rem}.edl-modal__close{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:8px;padding:.35rem .6rem;font-weight:650;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.edl-modal__body{background:#f7f7f7;flex:1;place-items:center;padding:.75rem;display:grid;overflow:auto}.edl-canvas{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;width:min(100%,420px);position:relative}.edl-canvas>img{pointer-events:none;width:100%;height:auto;display:block}.edl-label{color:#1a3a6b;pointer-events:none;font-size:.78rem;font-weight:700;position:absolute}.edl-label--gauche{top:4%;left:50%;transform:translate(-50%)}.edl-label--droite{bottom:4%;left:50%;transform:translate(-50%)}.edl-label--avant{top:48%;right:3%}.edl-label--arriere{top:48%;left:3%}.edl-marker{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;width:16%;padding:0;display:flex;position:absolute;transform:translate(-50%,-55%)}.edl-marker img{width:100%;height:auto;display:block}.edl-marker span{color:#1a3a6b;text-transform:lowercase;margin-top:.1rem;font-size:.62rem;font-weight:700}.edl-modal__toolbar{padding:.45rem .4rem calc(.45rem + var(--safe-bottom));background:#111;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:stretch;gap:.35rem;display:flex}.edl-tool-types{flex:1;justify-content:center;gap:.3rem;display:flex}.edl-tool{color:#fff;cursor:pointer;background:#2a2a2a;border:none;border-radius:8px;min-width:3.4rem;padding:.45rem .5rem;font-size:.68rem;font-weight:650}.edl-tool:disabled{opacity:.4;cursor:not-allowed}.edl-tool--type{flex-direction:column;align-items:center;gap:.15rem;min-width:3.8rem;display:flex}.edl-tool--type img{object-fit:contain;width:22px;height:22px}.edl-tool--type.is-active,.edl-tool--primary{background:var(--brand)}.edl-hint{padding:.4rem .75rem calc(.5rem + var(--safe-bottom));color:#ddd;text-align:center;background:#111;margin:0;font-size:.75rem}.damage-page{background:#fff;flex-direction:column;gap:.65rem;min-height:320px;margin:-.65rem -.5rem;display:flex}.damage-page__header{background:var(--brand);color:#fff;text-align:center;padding:.7rem .75rem}.damage-page__header h3{letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.damage-page__body{padding:.35rem .65rem .25rem}.damage-slot__label{color:var(--brand);margin:0 0 .3rem;font-size:.88rem;font-weight:600;line-height:1.3}.damage-slot__box{cursor:pointer;background:#fff;border:1.5px solid #cfd8e3;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:120px;padding:.5rem;display:flex;overflow:hidden}.damage-slot__empty{color:var(--brand);flex-direction:column;align-items:center;gap:.35rem;display:flex}.damage-slot__cloud{border:3px solid var(--brand);box-sizing:border-box;border-radius:14px 14px 10px 10px;width:42px;height:28px;position:relative}.damage-slot__cloud:before{content:"";background:var(--brand);width:2px;height:12px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.damage-slot__cloud:after{content:"";border-left:2px solid var(--brand);border-top:2px solid var(--brand);box-sizing:border-box;width:10px;height:10px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)rotate(45deg)}.damage-slot__placeholder{font-size:.95rem;font-weight:700}.damage-slot__preview{object-fit:contain;width:100%;max-height:160px;display:block}.damage-page__suiv{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;margin:.25rem .65rem .75rem;font-weight:700}.damage-chooser,.photo-picker__chooser{border:1px solid var(--border);background:#f7fafc;border-radius:10px;gap:.45rem;margin-top:.45rem;padding:.55rem;display:grid}.damage-chooser .btn,.photo-picker__chooser .btn{border-radius:8px;width:100%}.finish-page{background:#fff;flex-direction:column;gap:.65rem;min-height:320px;margin:-.65rem -.5rem;display:flex}.finish-page__header{background:var(--brand);color:#fff;text-align:center;padding:.7rem .75rem}.finish-page__header h3{letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.finish-page__body{flex-direction:column;gap:.75rem;padding:.5rem .75rem .25rem;display:flex}.finish-comment input{background:0 0;border:none;border-bottom:2px solid #f07a3a;border-radius:0;width:100%;padding:.85rem .2rem .55rem;font-size:1rem}.finish-comment input:focus{border-bottom-color:var(--brand);outline:none}.finish-row__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.finish-row__label{color:var(--ink);font-size:.92rem;font-weight:500}.finish-row__pick{letter-spacing:.02em;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:.55rem .7rem;font-size:.72rem;font-weight:700}.finish-row__sep{background:#e0e0e0;height:2px;margin-top:.55rem}.finish-row__grid{margin-top:.55rem}.finish-page__submit{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;margin:.35rem .75rem .85rem;font-weight:700}.review-overlay{z-index:90;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.review-sheet{width:min(100%,720px);padding:1.1rem 1rem calc(1rem + var(--safe-bottom));background:#f3f3f3;border-radius:18px 18px 0 0;position:relative;box-shadow:0 -8px 28px #0000002e}.review-sheet__close{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:999px;width:2rem;height:2rem;font-size:1.25rem;line-height:1;position:absolute;top:.65rem;right:.75rem}.review-sheet__title{text-align:center;color:var(--ink);margin:.25rem 2.5rem .85rem 0;font-size:1.05rem;font-weight:650}.review-sheet__stars{justify-content:center;gap:.55rem;margin-bottom:.65rem;display:flex}.review-star{color:#0000;-webkit-text-stroke:2px var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:2rem;line-height:1}.review-star.is-active{color:var(--brand);-webkit-text-stroke:1px var(--brand)}.review-sheet__thanks{text-align:center;color:var(--muted);margin:0 0 .85rem;font-size:.95rem}.review-sheet__send{text-transform:uppercase;letter-spacing:.03em;border-radius:8px;width:100%;font-weight:700}
