*{box-sizing:border-box}body{margin:0;background:#f4f5f7;color:#152233;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.app{min-height:100dvh;max-width:650px;margin:auto;background:#fff;display:flex;flex-direction:column}header{padding:calc(12px + env(safe-area-inset-top)) 22px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef0f2}.brand{display:flex;flex-direction:column;align-items:center;line-height:1.15}.brand svg{width:72px;height:25px}.brand strong{font-size:16px;letter-spacing:.04em}.brand span{font-size:10px;color:#ba820d;letter-spacing:.2em}.round{border:0;background:#f4f5f7;border-radius:50%;width:40px;height:40px;color:#7a8490}main{padding:24px 20px 110px;flex:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;color:#bd8618}h1{font-size:28px;margin:6px 0}h2{font-size:18px;margin:0 0 8px}p{margin:5px 0 0}.welcome{margin-bottom:25px}.welcome p,.muted{color:#687686}.notice,.panel{padding:20px;border-radius:18px;margin-bottom:16px}.notice{background:#fff7e5;border:1px solid #f4dfaa}.panel{background:#f7f8fa;border:1px solid #eef0f2}.offline{padding:14px;border-radius:12px;background:#fee2e2;color:#831f1f}nav{position:sticky;bottom:0;background:#fff;border-top:1px solid #edf0f3;display:grid;grid-template-columns:repeat(5,1fr);padding:10px 5px calc(10px + env(safe-area-inset-bottom));gap:3px}nav a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#657183;font-size:11px;border-radius:12px;padding:6px 1px}nav a span{font-size:24px;line-height:1.3}nav a[aria-current=page]{color:#25211b;background:#f9e6b0;font-weight:700}@media(min-width:650px){.app{box-shadow:0 0 40px #0001}}.auth-zone{max-width:460px;margin:22px auto;padding:20px;border:1px solid #e9e1d2;border-radius:22px;background:white;box-shadow:0 10px 25px #00000009}.auth-zone h2{margin:0 0 14px}.auth-zone label{display:block;font-size:14px;font-weight:650;margin:13px 0 6px}.auth-zone input{display:block;width:100%;box-sizing:border-box;border:1px solid #d6d5d1;border-radius:12px;padding:13px;font:inherit;background:#fff;color:#171717}.auth-zone button{width:100%;margin:18px 0 8px;background:#d7a334;color:#18130a;border:0;border-radius:13px;padding:14px;font:inherit;font-weight:750;cursor:pointer}.auth-zone button:disabled{opacity:.55}.auth-zone a{color:#806018}.auth-zone .form-error{color:#a32525;min-height:22px}.auth-zone .form-info{color:#275d3b;min-height:22px}.auth-zone .auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.auth-zone p{line-height:1.5}
/* Lot 3 — Tableau de bord chauffeur */
.dashboard{display:grid;gap:16px;margin-bottom:18px}.driver-card{background:linear-gradient(145deg,#fffdf8,#fff);border:1px solid #e8dcc4;border-radius:22px;padding:20px;box-shadow:0 8px 26px #20150808}.driver-card h2{font-size:22px;margin:6px 0 2px}.status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}.status-pill{display:inline-flex;align-items:center;gap:7px;font-weight:750;color:#8d4d16;background:#fff1df;padding:8px 12px;border-radius:20px;font-size:13px}.status-pill:before{content:'';height:9px;width:9px;border-radius:50%;background:#d98b28}.status-pill.is-online{color:#176b44;background:#e5f8ed}.status-pill.is-online:before{background:#1caa68}.availability-btn{border:0;background:#e5aa26;color:#251c0c;border-radius:13px;padding:12px 16px;font:inherit;font-weight:750;cursor:pointer}.availability-btn:disabled{opacity:.5;cursor:wait}#dashboard-error{color:#b42318;font-size:14px}.dashboard-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dashboard-links a{display:flex;flex-direction:column;gap:8px;border:1px solid #ece9e2;border-radius:17px;padding:18px;text-decoration:none;color:#192536;font-weight:750;background:#fff}.dashboard-links small{font-size:12px;font-weight:500;color:#718094}
/* Lot 4 — cartes de courses, une carte géographique par proposition */
.rides-board{margin:0 0 20px}.rides-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.rides-toolbar button{border:1px solid #ead4a5;background:#fffaf0;border-radius:10px;padding:8px 12px;font:inherit;font-size:13px}.rides-list{display:grid;gap:16px;margin-top:15px}.ride-card{border:1px solid #e9e0ce;border-radius:20px;padding:17px;background:#fff;box-shadow:0 6px 18px #1b24300b}.ride-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.ride-fare{font-weight:800;color:#996914}.ride-time{color:#596878;font-size:14px;margin:6px 0 13px}.ride-route{border-left:2px solid #e6c478;margin:12px 0 16px 5px;padding-left:15px;display:grid;gap:13px}.ride-route>div{display:flex;position:relative}.ride-dot{position:absolute;left:-21px;top:7px;width:10px;height:10px;border-radius:50%;background:#d49b26;border:2px solid #fff}.ride-dot.arrival{background:#183b57}.ride-route small{display:block;color:#687686}.ride-route strong{display:block;font-size:14px;overflow-wrap:anywhere}.ride-map{overflow:hidden;border:1px solid #e9e9e9;border-radius:14px;background:#f5f7f9;margin-bottom:14px}.ride-map iframe{border:0;width:100%;height:160px;display:block}.ride-map p{font-size:11px;color:#687686;padding:8px 10px;margin:0}.ride-map-empty{height:125px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:12px}.ride-map-empty span{font-size:25px;color:#a6aeb8}.ride-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ride-actions button{padding:13px 8px;border-radius:12px;font:inherit;font-weight:750;cursor:pointer;border:1px solid #d8dce1;background:#fff;color:#344256}.ride-actions button[data-action=accept]{background:#e5aa26;border-color:#e5aa26;color:#251c0c}.ride-actions button:disabled{opacity:.5;cursor:wait}#rides-message{color:#5c6877;font-size:14px}
.ride-map{height:210px;min-height:210px;border-radius:14px;overflow:hidden;background:#f3f1ec;display:block;color:#625c50;padding:0}.ride-map:not(:has(.leaflet-pane)){display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;font-size:13px}.ride-map .leaflet-control-attribution{font-size:9px}
/* Lot 5 — mes courses */
.rides-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 17px;padding:5px;border-radius:15px;background:#f4f2ed}.rides-tabs button{border:0;background:transparent;padding:12px 7px;border-radius:11px;font:inherit;font-weight:750;color:#596575}.rides-tabs button[aria-selected=true]{background:#e5aa26;color:#241b0c;box-shadow:0 2px 6px #00000012}.mine-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}.mine-filters button{white-space:nowrap;padding:9px 12px;border:1px solid #e7dfcf;border-radius:18px;background:#fff;color:#465366;font:inherit;font-size:13px}.mine-filters button[aria-pressed=true]{background:#fff1cc;border-color:#d6a436;color:#654608;font-weight:750}.mine-open,.mine-directions{display:block;text-align:center;padding:12px;border-radius:12px;background:#e5aa26;color:#251c0c;text-decoration:none;border:0;font:inherit;font-weight:750;width:100%;cursor:pointer}.mine-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 0}.mine-pages button,#mine-back{padding:10px 12px;background:#fff;border:1px solid #e4d7bb;border-radius:11px;color:#725219;font:inherit}.mine-pages button:disabled{opacity:.4}.mine-detail{border:1px solid #e9e0ce;border-radius:18px;padding:16px}.mine-detail h2{margin:15px 0}.mine-detail p{margin:9px 0;overflow-wrap:anywhere}.mine-detail .ride-map{margin:16px 0}
[hidden]{display:none!important}

/* Lot 6: mobile mission controls */
.mission-panel{border:1px solid #e7d8b4;background:#fffdf8;border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 3px 14px #31250b0c}.mission-panel h3{margin:0 0 8px}.mission-status{font-weight:750;color:#805a16;font-size:1.12rem}.mission-steps{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.mission-steps span{font-size:.69rem;padding:5px 7px;border-radius:20px;background:#f1f1f1;color:#666}.mission-steps .done{background:#f7e7b9;color:#654809}.mission-actions{display:flex;flex-direction:column;gap:10px}.mission-actions button{min-height:48px;width:100%;border-radius:12px}.mission-history{padding-left:22px;font-size:.87rem}.mission-history li{margin:5px 0}#mission-error{color:#a22} 

/* V006.2 — informations mises à jour sans modifier le thème */
.ride-extra{font-size:13px;color:#596878;margin:8px 0 14px}.ride-extra summary{cursor:pointer;color:#806018}.ride-extra p{margin:4px 0;overflow-wrap:anywhere}.auth-feedback{color:#275d3b;margin-bottom:12px}.auth-zone>a[data-go]{display:block;text-align:center;margin-top:10px}#driver-presence{font-size:13px;margin-top:10px}
