:root{--bg:#f5f7fa;--surface:#fff;--texte:#10233f;--texte-2:#64748b;--bord:#e2e8f0;--bord-fort:#cbd5e1;--vert:#157f4a;--vert-fonce:#0f6339;--vert-clair:#e8f5ee;--or:#c9971c;--or-fonce:#7a5a0b;--or-clair:#fbf4e2;--danger:#dc2626;--danger-clair:#fef2f2;--whatsapp:#1da851;--rayon:14px;--rayon-petit:10px;--ombre:0 1px 2px #10233f0d,0 4px 16px #10233f0f;--ombre-forte:0 12px 40px #10233f2e;--tactile:44px;--nav-bas:64px;--entete:64px;--sur:env(safe-area-inset-bottom,0px);--police:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono","Roboto Mono",Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#f5f7fa;background:var(--bg);color:#10233f;color:var(--texte);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--police);font-size:15px;line-height:1.5;min-height:100vh;overflow-x:hidden}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:none;cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit}img{display:block;max-width:100%}h1{font-size:24px;letter-spacing:-.02em;line-height:1.25}h1,h2{font-weight:700}h2{font-size:18px;letter-spacing:-.01em;line-height:1.3}h3{font-size:16px;font-weight:650}:focus-visible{border-radius:6px;outline:3px solid #157f4a73;outline-offset:2px}.texte-secondaire{color:#64748b;color:var(--texte-2)}.icone-or{color:#c9971c;color:var(--or)}.btn{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--rayon-petit);display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;min-height:44px;min-height:var(--tactile);padding:0 18px;text-decoration:none;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.98)}.btn-primaire{background:#157f4a;background:var(--vert);color:#fff}.btn-primaire:hover:not(:disabled){background:#0f6339;background:var(--vert-fonce)}.btn-secondaire{background:#fff;background:var(--surface);border-color:#cbd5e1;border-color:var(--bord-fort);color:#10233f;color:var(--texte)}.btn-secondaire:hover:not(:disabled){background:#f5f7fa;background:var(--bg)}.btn-danger{background:#dc2626;background:var(--danger);color:#fff}.btn-whatsapp{background:#1da851;background:var(--whatsapp);color:#fff}.btn-fantome{background:#0000;color:#64748b;color:var(--texte-2);font-weight:500;padding:0 10px}.btn-fantome:hover{background:#f5f7fa;background:var(--bg);color:#10233f;color:var(--texte)}.btn-fantome-danger,.btn-fantome-danger:hover{color:#dc2626;color:var(--danger)}.btn-fantome-danger:hover{background:#fef2f2;background:var(--danger-clair)}.btn-large{font-size:16px;min-height:52px;width:100%}.btn-aller{font-weight:700;letter-spacing:.01em}.btn-icone{align-items:center;border-radius:10px;border-radius:var(--rayon-petit);color:#64748b;color:var(--texte-2);display:inline-flex;flex-shrink:0;height:44px;height:var(--tactile);justify-content:center;width:44px;width:var(--tactile)}.btn-icone:hover{background:#f5f7fa;background:var(--bg);color:#10233f;color:var(--texte)}.btn-icone-bord{background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--bord-fort);color:#10233f;color:var(--texte)}.btn-icone-vert{color:#157f4a;color:var(--vert)}.btn-icone-vert:hover{background:#e8f5ee;background:var(--vert-clair);color:#0f6339;color:var(--vert-fonce)}.lien{align-items:center;color:#157f4a;color:var(--vert);display:inline-flex;font-weight:600;gap:4px;min-height:44px;min-height:var(--tactile);text-decoration:none}.lien:hover{color:#0f6339;color:var(--vert-fonce)}.cau{align-items:center;align-self:flex-start;background:#fbf4e2;background:var(--or-clair);border:1px solid #c9971c59;border-radius:8px;color:#7a5a0b;color:var(--or-fonce);display:inline-flex;font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:15px;font-weight:700;gap:8px;letter-spacing:.06em;padding:4px 10px}.cau-moyen{font-size:18px;margin:12px auto;padding:6px 14px}.cau-grand{font-size:22px;padding:8px 14px}.cau-copiable{cursor:pointer}.cau-copiable:hover{background:#f7ebcb}.cau-copiable svg{opacity:.6}.cau-petit{color:#7a5a0b;color:var(--or-fonce);font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em}.type-badge{align-items:center;background:#e8f5ee;background:var(--vert-clair);border-radius:99px;color:#0f6339;color:var(--vert-fonce);display:inline-flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.06em;padding:4px 10px;text-transform:uppercase}.type-badge-petit{font-size:11px;padding:3px 8px}.badge-principal{background:#fbf4e2;background:var(--or-clair);border-radius:99px;color:#7a5a0b;color:var(--or-fonce);font-size:11px;font-weight:700;gap:4px;letter-spacing:.05em;padding:4px 8px;text-transform:uppercase}.badge-principal,.type-icone{align-items:center;display:inline-flex}.type-icone{background:#e8f5ee;background:var(--vert-clair);border-radius:12px;flex-shrink:0;height:40px;justify-content:center;width:40px}.statut-actif,.type-icone{color:#157f4a;color:var(--vert)}.statut-actif{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px}.statut-actif .point{background:#22c55e;border-radius:50%;box-shadow:0 0 0 3px #22c55e33;height:8px;width:8px}.app-contenu{padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--nav-bas) + var(--sur) + 24px)}.page{margin:0 auto;max-width:720px;padding:20px 16px}.page-large{max-width:1200px}.page-form{max-width:760px}.page-tete{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.page-tete p{margin-top:2px}.page-tete-retour{align-items:center;justify-content:flex-start}.page-tete-retour h1{font-size:22px}.entete{display:none}.logo{color:#10233f;color:var(--texte);font-size:18px;font-weight:800;gap:10px;letter-spacing:-.02em;text-decoration:none}.logo,.logo-marque{align-items:center;display:inline-flex}.logo-marque{background:#157f4a;background:var(--vert);border-radius:10px;color:#fff;height:34px;justify-content:center;width:34px}.logo-clair{color:#fff}.logo-clair .logo-marque{background:#fff;color:#157f4a;color:var(--vert)}.nav-bas{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border-top:1px solid #e2e8f0;border-top:1px solid var(--bord);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(64px + env(safe-area-inset-bottom, 0px));height:calc(var(--nav-bas) + var(--sur));left:0;padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--sur);position:fixed;right:0;z-index:900}.nav-bas-lien{align-items:center;color:#64748b;color:var(--texte-2);display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:2px;justify-content:center;min-width:0;text-decoration:none}.nav-bas-lien.actif{color:#157f4a;color:var(--vert)}.fab{align-items:center;background:#157f4a;background:var(--vert);border-radius:18px;bottom:calc(80px + env(safe-area-inset-bottom, 0px));bottom:calc(var(--nav-bas) + var(--sur) + 16px);box-shadow:0 8px 24px #157f4a66;color:#fff;display:flex;height:56px;justify-content:center;position:fixed;right:16px;width:56px;z-index:901}.fab:active{transform:scale(.96)}.masquer-mobile{display:none}.demarrage{align-items:center;display:flex;justify-content:center;min-height:100vh}.logo-marque-grand{animation:pulse 1.2s ease-in-out infinite;border-radius:16px;height:56px;width:56px}@keyframes pulse{50%{opacity:.5;transform:scale(.94)}}.recherche{align-items:center;background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--bord-fort);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);display:flex;gap:4px;min-height:52px;padding:0 4px 0 44px;position:relative}.recherche:focus-within{border-color:#157f4a;border-color:var(--vert);box-shadow:0 0 0 4px #157f4a1f}.recherche-icone{color:#64748b;color:var(--texte-2);left:14px;pointer-events:none;position:absolute}.recherche input{background:#0000;border:none;flex:1 1;font-size:16px;height:50px;min-width:0;outline:none}.recherche input::-webkit-search-cancel-button{display:none}.recherche-hero{min-height:60px}.recherche-hero input{font-size:17px;height:58px}.filtres{display:flex;gap:8px;margin:0 -16px;overflow-x:auto;padding:12px 16px 4px;scrollbar-width:none}.filtres::-webkit-scrollbar{display:none}.chip{align-items:center;background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--bord-fort);border-radius:99px;color:#64748b;color:var(--texte-2);display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;gap:6px;min-height:44px;min-height:var(--tactile);padding:0 14px}.chip.actif{background:#10233f;background:var(--texte);border-color:#10233f;border-color:var(--texte);color:#fff}.liste-detail{margin-top:12px}.liste-lieux{grid-gap:12px;display:grid;gap:12px}.carte-lieu{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);padding:16px;position:relative;transition:border-color .15s,box-shadow .15s}.carte-lieu-active{border-color:#157f4a;border-color:var(--vert);box-shadow:0 0 0 3px #157f4a26}.carte-lieu-zone{align-items:flex-start;display:flex;flex-direction:column;gap:8px;padding-right:40px;text-align:left;width:100%}.carte-lieu-tete{display:flex;flex-wrap:wrap;gap:6px}.carte-lieu-nom{font-size:17px;line-height:1.3;word-break:break-word}.carte-lieu-loc{align-items:center;color:#64748b;color:var(--texte-2);display:flex;font-size:14px;gap:6px}.carte-lieu-actions{display:flex;gap:8px;margin-top:14px}.carte-lieu-actions .btn-aller{flex:1 1}.btn-favori{align-items:center;border-radius:12px;color:#cbd5e1;color:var(--bord-fort);display:flex;height:44px;height:var(--tactile);justify-content:center;position:absolute;right:8px;top:8px;width:44px;width:var(--tactile)}.btn-favori:hover{background:#fbf4e2;background:var(--or-clair)}.btn-favori.actif,.btn-favori:hover{color:#c9971c;color:var(--or)}.btn-favori-inline{margin-left:auto;position:static}.skeleton-carte{display:flex;flex-direction:column;gap:10px}.sk{animation:shimmer 1.3s linear infinite;background:linear-gradient(90deg,#e9eef4 25%,#f3f6f9 50%,#e9eef4 75%);background-size:200% 100%;border-radius:8px}.sk-ligne{height:14px}.sk-titre{height:22px}.sk-bouton{height:44px;margin-top:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.etat{align-items:center;display:flex;flex-direction:column;gap:10px;padding:48px 16px;text-align:center}.etat p{max-width:380px}.etat .btn{margin-top:8px;width:auto}.etat-icone{align-items:center;background:#e8f5ee;background:var(--vert-clair);border-radius:20px;color:#157f4a;color:var(--vert);display:flex;height:64px;justify-content:center;width:64px}.detail{display:flex;flex-direction:column;gap:12px}.detail-tete{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.detail-nom{font-size:24px;word-break:break-word}.detail-loc{align-items:flex-start;color:#64748b;color:var(--texte-2);display:flex;gap:8px}.detail-loc svg{flex-shrink:0;margin-top:3px}.detail-gps{align-items:center;align-self:flex-start;background:#f5f7fa;background:var(--bg);border-radius:8px;color:#10233f;color:var(--texte);display:inline-flex;font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:14px;gap:8px;min-height:36px;padding:4px 10px}.detail-gps span{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--police);font-size:11px;font-weight:700;letter-spacing:.06em}.detail-gps span,.detail-gps svg{color:#64748b;color:var(--texte-2)}.detail-gps-statique{cursor:default}.detail-navs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.detail-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);padding:4px 0}.action{align-items:center;background:#f5f7fa;background:var(--bg);border-radius:12px;color:#10233f;color:var(--texte);display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px;justify-content:center;min-height:64px}.action:hover{background:#e8f5ee;background:var(--vert-clair);color:#0f6339;color:var(--vert-fonce)}.detail-infos{border-top:1px solid #e2e8f0;border-top:1px solid var(--bord);display:flex;flex-direction:column;gap:14px;padding-top:14px}.detail-infos h4{color:#64748b;color:var(--texte-2);font-size:12px;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.detail-infos p{white-space:pre-wrap;word-break:break-word}.alias-liste{display:flex;flex-wrap:wrap;gap:6px}.alias{align-items:center;background:#f5f7fa;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:99px;display:inline-flex;font-size:13px;gap:4px;padding:3px 10px}.detail-pied{border-top:1px solid #e2e8f0;border-top:1px solid var(--bord);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding-top:12px}.overlay{align-items:center;animation:fondu .15s ease-out;background:#10233f73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.overlay-sheet{align-items:flex-end;padding:0}@keyframes fondu{0%{opacity:0}}.modal{animation:monte .18s ease-out;background:#fff;background:var(--surface);border-radius:18px;box-shadow:0 12px 40px #10233f2e;box-shadow:var(--ombre-forte);max-height:calc(100vh - 32px);max-width:520px;overflow-y:auto;padding:20px;width:100%}.modal-etroite{max-width:400px}.modal-tete{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.sheet{animation:monte .22s cubic-bezier(.2,.8,.2,1);background:#fff;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 12px 40px #10233f2e;box-shadow:var(--ombre-forte);max-height:92vh;overflow-y:auto;padding:4px 16px calc(20px + env(safe-area-inset-bottom, 0px));padding:4px 16px calc(20px + var(--sur));width:100%}.sheet-poignee{align-items:center;display:flex;height:28px;justify-content:center;width:100%}.sheet-poignee span{background:#cbd5e1;background:var(--bord-fort);border-radius:99px;height:5px;width:40px}@keyframes monte{0%{opacity:.6;transform:translateY(24px)}}.confirm{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center}.confirm .cau{align-self:center}.confirm-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:12px;width:100%}.qr{align-items:center;display:flex;flex-direction:column;text-align:center}.qr-image{border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;height:220px;margin:12px 0 4px;padding:8px;width:220px}.qr-image img,.qr-sk{height:100%;width:100%}.qr .cau{align-self:center;margin:8px 0 4px}.qr-nom{font-weight:600}.qr-marque{color:#64748b;color:var(--texte-2);font-size:12px}.toasts{bottom:calc(152px + env(safe-area-inset-bottom, 0px));bottom:calc(var(--nav-bas) + var(--sur) + 88px);display:flex;flex-direction:column;gap:8px;left:50%;max-width:420px;pointer-events:none;position:fixed;transform:translateX(-50%);width:calc(100% - 32px);z-index:3000}.toast{align-items:center;animation:monte .2s ease-out;background:#10233f;background:var(--texte);border-radius:12px;box-shadow:0 12px 40px #10233f2e;box-shadow:var(--ombre-forte);color:#fff;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 16px}.toast-succes svg{color:#4ade80}.toast-erreur{background:#dc2626;background:var(--danger)}.accueil-hero{padding:8px 0 4px}.accueil-salut{color:#157f4a;color:var(--vert);font-size:14px;font-weight:700;margin-bottom:4px}.accueil-hero h1{font-size:26px;margin-bottom:16px}.resultats-rapides{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);margin-top:8px;overflow:hidden}.resultats-vide{padding:16px}.raccourcis{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:20px}.raccourci{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px;padding:12px 4px}.raccourci:hover{border-color:#157f4a;border-color:var(--vert)}.raccourci-icone{align-items:center;background:#e8f5ee;background:var(--vert-clair);border-radius:12px;color:#157f4a;color:var(--vert);display:flex;height:38px;justify-content:center;width:38px}.bloc{margin-top:24px}.bloc-tete{justify-content:space-between;margin-bottom:8px}.bloc-tete,.bloc-tete h2{align-items:center;display:flex}.bloc-tete h2{font-size:16px;gap:8px}.carte-blanche{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);overflow:hidden}.ligne-lieu{align-items:center;display:flex;gap:4px;min-height:64px;padding:8px 8px 8px 12px}.ligne-lieu+.ligne-lieu{border-top:1px solid #e2e8f0;border-top:1px solid var(--bord)}.ligne-lieu-zone{align-items:center;display:flex;flex:1 1;gap:12px;min-height:44px;min-height:var(--tactile);min-width:0;text-align:left}.ligne-lieu-texte{display:flex;flex-direction:column;min-width:0}.ligne-lieu-texte strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ligne-lieu-meta{align-items:baseline;display:flex;gap:8px;min-width:0}.ligne-lieu-meta .cau-petit{flex-shrink:0}.ligne-lieu-texte .texte-secondaire{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carte-principal{align-items:center;background:linear-gradient(135deg,#10233f,#1c3a63);background:linear-gradient(135deg,var(--texte),#1c3a63);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);color:#fff;display:flex;gap:12px;padding:16px}.carte-principal-zone{align-items:flex-start;color:#fff;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;text-align:left}.carte-principal-zone strong{font-size:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carte-principal .cau-petit{color:#f3d78a}.resume{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.resume p{font-size:13px}.bandeau-upgrade{align-items:center;background:#fbf4e2;background:var(--or-clair);border-radius:10px;border-radius:var(--rayon-petit);color:#7a5a0b;color:var(--or-fonce);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:10px;margin-top:10px;padding:12px 14px;text-decoration:none}.form{gap:16px}.form,.form-bloc{display:flex;flex-direction:column}.form-bloc{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);gap:14px;padding:16px}.form-titre{font-size:16px}.aide{align-items:flex-start;color:#64748b;color:var(--texte-2);display:flex;font-size:14px;gap:8px}.aide svg{flex-shrink:0;margin-top:2px}.champ{display:flex;flex-direction:column;gap:6px}.champ>span{font-size:14px;font-weight:600}.champ input,.champ select,.champ textarea{background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--bord-fort);border-radius:10px;border-radius:var(--rayon-petit);font-size:16px;min-height:44px;min-height:var(--tactile);outline:none;padding:10px 12px;width:100%}.champ textarea{resize:vertical}.champ input:focus,.champ textarea:focus{border-color:#157f4a;border-color:var(--vert);box-shadow:0 0 0 4px #157f4a1f}.champ small{font-size:12px}.grille-2{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.carte-form{border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:10px;border-radius:var(--rayon-petit);height:300px;overflow:hidden}.carte-sk{border-radius:0}.carte-leaflet,.carte-sk{height:100%;width:100%}.types-grille{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.type-choix{align-items:center;border:1px solid #cbd5e1;border:1px solid var(--bord-fort);border-radius:10px;border-radius:var(--rayon-petit);color:#64748b;color:var(--texte-2);display:flex;font-size:14px;font-weight:600;gap:8px;min-height:44px;min-height:var(--tactile);padding:0 12px;text-align:left}.type-choix span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-choix.actif{background:#e8f5ee;background:var(--vert-clair);border-color:#157f4a;border-color:var(--vert);color:#0f6339;color:var(--vert-fonce)}.alias-saisie{align-items:center;background:#fff;background:var(--surface);border:1px solid #cbd5e1;border:1px solid var(--bord-fort);border-radius:10px;border-radius:var(--rayon-petit);display:flex;flex-wrap:wrap;gap:6px;min-height:44px;min-height:var(--tactile);padding:6px 8px}.alias-saisie:focus-within{border-color:#157f4a;border-color:var(--vert);box-shadow:0 0 0 4px #157f4a1f}.alias-saisie input{border:none;flex:1 1;font-size:16px;min-height:32px;min-width:120px;outline:none;padding:0 4px}.alias-retirable button{align-items:center;color:#64748b;color:var(--texte-2);display:inline-flex;height:24px;justify-content:center;width:24px}.interrupteur{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:10px;min-height:44px;min-height:var(--tactile)}.interrupteur input{height:1px;opacity:0;position:absolute;width:1px}.interrupteur-piste{background:#cbd5e1;background:var(--bord-fort);border-radius:99px;flex-shrink:0;height:28px;position:relative;transition:background .15s;width:46px}.interrupteur-piste:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:22px;left:3px;position:absolute;top:3px;transition:transform .15s;width:22px}.interrupteur input:checked+.interrupteur-piste{background:#157f4a;background:var(--vert)}.interrupteur input:checked+.interrupteur-piste:after{transform:translateX(18px)}.interrupteur input:focus-visible+.interrupteur-piste{outline:3px solid #157f4a73;outline-offset:2px}.form-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.confirm-actions .btn,.detail-navs .btn,.form-actions .btn{min-width:0;padding:0 12px}.erreur{background:#fef2f2;background:var(--danger-clair);color:#dc2626;color:var(--danger)}.erreur,.succes{border-radius:10px;border-radius:var(--rayon-petit);font-size:14px;font-weight:500;padding:10px 12px}.succes{background:#e8f5ee;background:var(--vert-clair);color:#0f6339;color:var(--vert-fonce)}.page-carte{display:flex;flex-direction:column;height:calc(100vh - 64px - env(safe-area-inset-bottom, 0px));height:calc(100vh - var(--nav-bas) - var(--sur));height:calc(100dvh - 64px - env(safe-area-inset-bottom, 0px));height:calc(100dvh - var(--nav-bas) - var(--sur))}.app-contenu:has(.page-carte){padding-bottom:0}.carte-barre{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--bord);display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.carte-barre h1{font-size:20px}.carte-barre p{font-size:13px}.carte-consigne{background:#157f4a;background:var(--vert);color:#fff;font-size:14px;font-weight:600;padding:8px 16px;text-align:center}.carte-plein{flex:1 1;min-height:0}.mode-ajout .leaflet-container{cursor:crosshair}.marqueur-lieu{background:none;border:none}.leaflet-container{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--police);z-index:1}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:14px}.popup-lieu{display:flex;flex-direction:column;gap:6px;min-width:200px}.popup-lieu strong{font-size:15px}.popup-actions{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-top:6px}.popup-actions .btn{font-size:14px;min-height:40px;padding:0 10px}.popup-actions .btn-primaire{color:#fff}.public{background:#f5f7fa;background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.public-entete{background:#fff;background:var(--surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--bord);padding:12px 16px}.public-carte{height:38vh;max-height:380px;min-height:220px}.public-corps{background:#fff;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 -8px 24px #10233f14;display:flex;flex:1 1;flex-direction:column;gap:12px;margin:-24px auto 0;max-width:560px;padding:20px 16px 24px;position:relative;width:100%;z-index:2}.public-description{white-space:pre-wrap}.public-cta{align-items:flex-start;background:#f5f7fa;background:var(--bg);border-radius:14px;border-radius:var(--rayon);display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:16px}.public-cta .btn{margin-top:6px}.public-pied{background:#fff;background:var(--surface);color:#64748b;color:var(--texte-2);font-size:13px;padding:16px;text-align:center}.public .etat{flex:1 1}.auth{display:flex;flex-direction:column;min-height:100vh}.auth-presentation{background:linear-gradient(160deg,#0f6339,#10233f);background:linear-gradient(160deg,var(--vert-fonce),var(--texte));color:#fff;padding:28px 20px 56px}.auth-presentation h1{font-size:26px;margin-top:24px}.auth-points{display:none;flex-direction:column;gap:12px;list-style:none;margin-top:24px}.auth-points li{align-items:center;display:flex;gap:10px;opacity:.9}.auth-carte{background:#fff;background:var(--surface);border-radius:20px;box-shadow:0 12px 40px #10233f2e;box-shadow:var(--ombre-forte);display:flex;flex-direction:column;gap:16px;margin:-32px 12px 24px;padding:24px 20px;position:relative}.segments{background:#f5f7fa;background:var(--bg);border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);padding:4px}.segments button{border-radius:9px;color:#64748b;color:var(--texte-2);font-size:14px;font-weight:600;min-height:40px}.segments button.actif{background:#fff;background:var(--surface);box-shadow:0 1px 3px #10233f1f;color:#10233f;color:var(--texte)}.otp{font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:24px!important;letter-spacing:.4em;text-align:center}.separateur{align-items:center;color:#64748b;color:var(--texte-2);display:flex;font-size:13px;gap:12px}.separateur:after,.separateur:before{background:#e2e8f0;background:var(--bord);content:"";flex:1 1;height:1px}.profil-tete{align-items:center;display:flex;gap:14px;margin-bottom:20px}.avatar,.profil-tete h1{font-size:22px}.avatar{align-items:center;background:#157f4a;background:var(--vert);border-radius:18px;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:56px;justify-content:center;width:56px}.quota{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:16px}.quota-tete{display:flex;font-size:14px;justify-content:space-between}.quota-barre{background:#f5f7fa;background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.quota-barre span{background:#157f4a;background:var(--vert);border-radius:99px;display:block;height:100%}.menu{margin-bottom:16px}.ligne-menu{align-items:center;display:flex;font-weight:600;gap:12px;min-height:56px;padding:0 16px;text-align:left;width:100%}.ligne-menu+.ligne-menu{border-top:1px solid #e2e8f0;border-top:1px solid var(--bord)}.ligne-menu:hover{background:#f5f7fa;background:var(--bg)}.ligne-menu-label{flex:1 1}.ligne-menu .texte-secondaire{font-weight:500;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ligne-menu.danger{color:#dc2626;color:var(--danger)}.pied-version{font-size:12px;text-align:center}.politique-overlay{align-items:center;background:#10233f73;display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:2000}.politique-card{background:#fff;background:var(--surface);border-radius:18px;display:flex;flex-direction:column;max-height:calc(100vh - 24px);max-width:720px;overflow:hidden;width:100%}.politique-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--bord);display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.politique-title{font-size:18px;font-weight:700}.politique-date,.politique-sub{color:#64748b;color:var(--texte-2);font-size:13px}.politique-close{border-radius:10px;color:#64748b;color:var(--texte-2);font-size:18px;height:44px;height:var(--tactile);width:44px;width:var(--tactile)}.politique-body{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:20px}.politique-body h3{margin-top:8px}.politique-body ul{padding-left:20px}.politique-body a{color:#157f4a;color:var(--vert)}.politique-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--bord);display:flex;justify-content:flex-end;padding:12px 20px}.btn-primary{background:#157f4a;background:var(--vert);color:#fff}@media (min-width:600px){.page{padding:28px 24px}.liste-lieux{grid-template-columns:1fr 1fr}.raccourcis{grid-template-columns:repeat(6,1fr)}.types-grille{grid-template-columns:repeat(4,minmax(0,1fr))}.carte-form{height:360px}.auth{flex-direction:row}.auth-presentation{display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:48px}.auth-presentation h1{font-size:34px;max-width:420px}.auth-points{display:flex}.auth-carte{align-self:center;margin:auto 48px;width:420px}.filtres{flex-wrap:wrap;margin:0;padding-left:0;padding-right:0}}@media (min-width:960px){:root{--nav-bas:0px}.fab,.nav-bas{display:none}.masquer-mobile{display:inline-flex}.app-contenu{padding-bottom:40px}.toasts{bottom:32px}.entete{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--bord);display:block;height:64px;height:var(--entete);position:-webkit-sticky;position:sticky;top:0;z-index:900}.entete-inner{align-items:center;display:flex;gap:32px;height:100%;margin:0 auto;max-width:1200px;padding:0 24px}.entete-nav{display:flex;flex:1 1;gap:4px}.entete-nav a{border-radius:10px;color:#64748b;color:var(--texte-2);font-weight:600;padding:8px 14px;text-decoration:none}.entete-nav a:hover{background:#f5f7fa;background:var(--bg);color:#10233f;color:var(--texte)}.entete-nav a.active{background:#e8f5ee;background:var(--vert-clair);color:#157f4a;color:var(--vert)}h1{font-size:28px}.accueil-hero h1{font-size:34px}.liste-detail{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 420px}.liste-lieux{grid-template-columns:1fr}.panneau-detail{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--bord);border-radius:14px;border-radius:var(--rayon);box-shadow:0 1px 2px #10233f0d,0 4px 16px #10233f0f;box-shadow:var(--ombre);max-height:calc(100vh - 112px);max-height:calc(100vh - var(--entete) - 48px);overflow-y:auto;padding:20px;position:-webkit-sticky;position:sticky;top:88px;top:calc(var(--entete) + 24px)}.page-carte{height:calc(100vh - 64px);height:calc(100vh - var(--entete))}.public-carte{height:42vh;max-height:440px}}@media (min-width:1200px){.liste-detail{grid-template-columns:minmax(0,1fr) 460px}.liste-lieux{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.a36e06e9.css.map*/