/* Le CSS décrit l'apparence. Les couleurs communes sont regroupées ici. */
:root{color-scheme:light;--bg:#f7f7f7;--panel:#ffffff;--accent:#181818;--text:#181818;--muted:#666666;--line:#e0e0e0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:#ededed;color:var(--text)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}
.app{max-width:560px;min-height:100dvh;margin:auto;background:var(--bg);padding:0 24px 110px}.brand{height:112px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:2px;font-weight:700}.brand div span{display:block;font-size:10px;color:var(--muted);letter-spacing:3px;margin-top:5px}.monogram{border:1px solid var(--accent);color:var(--accent);width:44px;height:44px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px;letter-spacing:0}.version{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}
main{padding-top:35px}.eyebrow{color:var(--accent);letter-spacing:2px;font-size:9px;font-weight:700}h1{font-size:34px;letter-spacing:-1px;margin:12px 0 6px;font-weight:600}.accent{color:var(--accent)}.intro{color:var(--muted);margin:0 0 24px;font-size:14px}.status{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:11px;margin-bottom:22px}.primary{width:100%;border:0;border-radius:10px;background:var(--accent);color:#ffffff;padding:17px;font-weight:700;font-size:14px;display:flex;justify-content:center;align-items:center;gap:8px;min-height:52px}.primary span{font-size:22px;line-height:1}.primary:hover{background:#333333}
.list-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 16px}h2{font-size:16px;font-weight:600;margin:0}.list-heading>span{font-size:11px;color:var(--muted)}.dossier{width:100%;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:12px;display:block}.dossier:hover{border-color:var(--accent)}.card-top{display:flex;justify-content:space-between;gap:12px}.tag{font-size:9px;white-space:nowrap;color:var(--accent);background:#eeeeee;padding:5px 8px;border-radius:5px}.vehicle{font-size:18px;font-weight:600;display:block;margin:4px 0 7px}.client{font-size:12px;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:20px;padding-top:13px;border-top:1px solid var(--line)}.arrow{color:var(--accent);font-size:16px}.empty{border:1px dashed var(--line);border-radius:12px;padding:34px 22px;text-align:center}.empty p,.info-card p,dialog p{color:var(--muted);font-size:13px;line-height:1.7}.empty .empty-symbol{font-size:32px;color:var(--accent);margin-bottom:12px}.info-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:20px}
nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);display:flex;background:#ffffff;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom))}.nav-button{background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;font-size:11px;padding:7px;min-height:48px}.nav-button span{font-size:21px}.nav-button.active{color:var(--accent)}dialog{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);width:calc(100% - 32px);max-width:460px;padding:24px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#000b}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading button{border:0;background:none;color:var(--muted);font-size:26px;min-width:44px;min-height:44px}label{display:block;font-size:12px;margin:18px 0 8px}input{display:block;width:100%;background:var(--bg);color:var(--text);border:1px solid #bdbdbd;border-radius:8px;padding:14px}form .primary{margin-top:24px}#form-error{color:#333333}.notice{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:12px 18px;border-radius:10px;width:max-content;max-width:90%;font-size:12px;box-shadow:0 4px 30px #0005}@media(min-width:700px){.app{margin:24px auto;border:1px solid var(--line);border-radius:20px;min-height:calc(100dvh - 48px)}nav{border-radius:0 0 18px 18px;bottom:24px}}@media(max-width:350px){.app{padding-left:16px;padding-right:16px}h1{font-size:32px}}

/* Identité textuelle temporaire, en attendant le fichier du logo. */
.brand{height:96px}.eyebrow{color:var(--muted)}.dossier{box-shadow:0 2px 8px #00000004}.primary{border-radius:8px}.version{letter-spacing:1px}

fieldset{border:1px solid var(--line);border-radius:10px;margin:22px 0;padding:0 16px 18px}legend{font-size:12px;font-weight:700;padding:0 8px}textarea{font:inherit;width:100%;resize:vertical;background:var(--bg);color:var(--text);border:1px solid #bdbdbd;border-radius:8px;padding:14px;font-size:16px}input{font-size:16px}textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5;cursor:wait}.save-hint{font-size:11px!important}#detail-error{color:var(--text)}

#photos-section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}h3{font-size:14px;margin:0}.photo-group{margin:20px 0}.photo-group .list-heading{margin:16px 0 12px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-actions button,.secondary{background:#fff;border:1px solid #bbb;color:var(--text);padding:12px;border-radius:8px;min-height:44px;font-size:12px}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.photo-gallery figure{margin:0;min-width:0}.photo-preview{display:block;width:100%;border:0;padding:0;background:#eee;border-radius:8px;overflow:hidden}.photo-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-gallery figcaption{color:var(--muted);font-size:10px;margin-top:6px}.photo-remove{background:none;border:0;padding:8px 0;color:var(--text);text-decoration:underline;font-size:11px;min-height:44px}.photo-empty{grid-column:1/-1;font-size:12px;color:var(--muted);background:#f4f4f4;border-radius:8px;padding:20px;margin:0}#photo-message{font-size:12px;line-height:1.6}#photo-viewer{max-width:900px}#photo-viewer img{display:block;width:100%;max-height:70dvh;object-fit:contain}

#defects-section{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}select{font:inherit;font-size:16px;width:100%;background:var(--bg);color:var(--text);border:1px solid #bdbdbd;border-radius:8px;padding:14px}select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.defect-card{padding:16px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.defect-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.defect-card p{white-space:pre-wrap;overflow-wrap:anywhere}.defect-card .photo-actions{margin-top:14px}#defect-message{font-size:12px;line-height:1.6}#cancel-defect-edit{margin-top:10px;width:100%}

.vehicle-map{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:20px;background:#fafafa;text-align:center}.map-label{font-size:10px;letter-spacing:1.5px}.vehicle-map svg{display:block;width:100%;max-width:260px;margin:auto}.car-outline{fill:#fff;stroke:#777;stroke-width:2}#car-zones>*{fill:#e9e9e9;stroke:#777;stroke-width:1;cursor:pointer}#car-zones>*:hover,#car-zones>*.selected{fill:#ccc;stroke:#111;stroke-width:2}#car-zones>*:focus-visible{outline:none;stroke:#000;stroke-width:4}.car-labels{fill:#666;font-size:10px;text-anchor:middle;pointer-events:none}#defect-markers g{cursor:pointer}#defect-markers circle{fill:#111;stroke:#fff;stroke-width:2}#defect-markers text{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:12px;font-weight:700;pointer-events:none}#defect-markers g:focus-visible circle{stroke:#555;stroke-width:4}#draft-marker{pointer-events:none}#draft-marker circle{fill:#fff;stroke:#111;stroke-width:3;stroke-dasharray:3 2}#map-selection{font-size:12px;line-height:1.6}.defect-card .photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}#defect-photo-viewer{max-width:900px}#defect-photo-viewer img{display:block;width:100%;max-height:70dvh;object-fit:contain}#defect-photo-message{font-size:12px;line-height:1.6}

#services-section{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.services-summary,.line-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:#f1f1f1;border-radius:8px;font-size:13px;margin:14px 0}.services-summary strong{font-size:22px;white-space:nowrap}.service-fields{display:grid;grid-template-columns:1fr 2fr;gap:12px}.line-summary{background:none;border:1px solid var(--line);font-size:12px}#service-message{font-size:12px;line-height:1.6}#cancel-service{margin-top:10px;width:100%}#services-list strong{white-space:nowrap;font-size:14px}#services-list h3{overflow-wrap:anywhere}

#signature-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}#signature-canvas{display:block;width:100%;height:auto;background:#fff;border:1px solid #999;border-radius:8px;touch-action:none;cursor:crosshair;margin-bottom:12px}#signature-saved img{width:100%;height:auto;display:block;margin-top:16px;border:1px solid var(--line);border-radius:8px;background:#fff}#signature-caption,#signature-message{font-size:12px;line-height:1.6}#cancel-signature{width:100%;margin-top:10px}
#brand-logo{width:64px;height:64px;object-fit:contain}#brand-name{overflow-wrap:anywhere;letter-spacing:1px}#atelier-preview{display:block;width:100%;max-height:180px;object-fit:contain;margin:16px 0;background:white;border:1px solid var(--line)}#atelier-reset{margin-top:12px;width:100%}#atelier-message{font-size:13px;line-height:1.6}#atelier-fields{border:0;padding:0;margin:0}#atelier-form input[type=file]{font-size:12px}
.backup-check{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.backup-check input{width:20px;flex:none;margin-top:3px}#backup-message{font-size:13px;line-height:1.6}
