/* CartoMoto : langage visuel partagé entre la carte, la communauté et le compte. */
:root{
  color-scheme:light;
  --ui-bg:#f4f6f8;--ui-surface:#fff;--ui-surface-alt:#edf2f5;--ui-inset:#f6f8fa;
  --ui-text:#182d3b;--ui-muted:#607383;--ui-line:#d8e1e7;--ui-line-soft:#e9eef2;
  --ui-accent:#c94d23;--ui-accent-text:#b64721;--ui-accent-soft:#fff0e8;
  --ui-blue:#246887;--ui-blue-soft:#eaf4f8;--ui-on-accent:#fff;
  --ui-success:#237552;--ui-success-soft:#edf8f1;--ui-success-line:#abd7bb;
  --ui-danger:#b73342;--ui-danger-soft:#fff0f1;--ui-danger-line:#e7b2b9;
  --ui-shadow:0 8px 28px rgb(20 36 48 / .08);--ui-radius:16px;
  --bg:var(--ui-bg);--panel:var(--ui-surface);--card:var(--ui-surface-alt);
  --text:var(--ui-text);--muted:var(--ui-muted);--accent:var(--ui-accent);
  --line:var(--ui-line);--blue:var(--ui-blue);--surface:var(--ui-surface);--surface-2:var(--ui-surface-alt);
  --shadow:var(--ui-shadow);--green:var(--ui-success);--red:var(--ui-danger);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;text-rendering:optimizeLegibility;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ui-bg);color:var(--ui-text);font-family:inherit;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea,.button{font-family:inherit}
button,.button,summary,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.button,summary{touch-action:manipulation}
button,.button{border-radius:11px;font-weight:650;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
button:not(:disabled),.button{cursor:pointer}
button:disabled{cursor:not-allowed}
button:hover:not(:disabled),.button:hover{border-color:#9eafbb}
button:active:not(:disabled),.button:active{transform:translateY(1px)}
:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #2b779b;outline-offset:3px}
:where(input,select,textarea){accent-color:var(--ui-blue)}
:where(input,select,textarea)::placeholder{color:#798b98;opacity:1}
:where(input,select,textarea):focus{border-color:var(--ui-blue)}
[hidden]{display:none!important}
::selection{background:#cbe5f1;color:#102b3b}
:where(dialog,.panel,.admin-main,.public-shell) h2{letter-spacing:-.035em;line-height:1.15}
:where(dialog,.panel,.admin-main,.public-shell) h3{letter-spacing:-.015em}
:where(dialog,.panel) p:empty,.stats:empty{display:none}
:where(dialog,.panel,aside)::-webkit-scrollbar{width:6px;height:6px}
:where(dialog,.panel,aside)::-webkit-scrollbar-thumb{border-radius:99px;background:#bfccd5}
.ui-icon{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-160%);padding:10px 16px;border-radius:9px;background:var(--ui-surface);color:#182d3b;box-shadow:var(--ui-shadow)}
.skip-link:focus{transform:none}
/* En-tête et navigation : la préparation reste l'action dominante. */
.topbar{background:var(--ui-surface);border-bottom:1px solid var(--ui-line);box-shadow:none}
.site-brand{gap:10px}
.site-brand img{filter:none}
.site-brand small{color:var(--ui-text);font-size:16px;font-weight:850;letter-spacing:.06em}
.site-brand h1{color:var(--ui-muted);font-size:11px;font-weight:500;letter-spacing:0}
.free-site-badge{border:0;background:var(--ui-success-soft);color:var(--ui-success);font-size:9px;box-shadow:none}
.main-nav>button,.community-menu>summary,.mobile-more-menu>summary{background:transparent;color:var(--ui-muted);border:0}
.main-nav>button>span,.community-menu>summary>span,.mobile-more-menu>summary>span{display:grid;place-items:center;color:inherit}
.main-nav #new-trip{background:var(--ui-accent);color:#fff;box-shadow:0 4px 12px #e865351c}
.main-nav #donate-button{background:transparent;color:var(--ui-muted);box-shadow:none}
.main-nav #account-button{border:1px solid var(--ui-line);background:var(--ui-inset);color:var(--ui-text)}
.community-menu>div,.mobile-more-menu>div{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow)}
.community-menu>div button:hover,.mobile-more-menu>div button:hover{background:var(--ui-inset);color:var(--ui-text)}
.display-mode-switch{background:var(--ui-inset);border-color:var(--ui-line);box-shadow:none}
.display-mode-switch button.active{background:var(--ui-blue-soft);color:var(--ui-blue);box-shadow:none}
/* Carte : recherche flottante et commandes regroupées. */
.address-search{border-color:var(--ui-line);background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.address-search input{color:var(--ui-text);background:transparent}
.address-search>button{background:var(--ui-accent);color:#fff;border:0}
.address-search>svg{fill:var(--ui-muted)}
.address-results{padding:6px;background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 18px 40px #182d3b1a}
.address-result{border-radius:9px}
.address-result:hover,.address-result[aria-selected="true"]{background:var(--ui-blue-soft)}
.layer-switcher>button,.header-map-menu .map-tools button{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-line);box-shadow:var(--ui-shadow)}
.layer-switcher>button.active,.map-tools button.active{background:var(--ui-blue-soft);color:var(--ui-blue);border-color:var(--ui-line)}
.layer-menu{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow);padding:8px}
.layer-menu button{min-height:42px;background:transparent;color:var(--ui-text)}
.layer-menu button.active{background:var(--ui-blue-soft);color:var(--ui-blue)}
.map-interaction-hint{border:1px solid var(--ui-line);background:var(--ui-overlay);color:var(--ui-text);box-shadow:var(--ui-shadow);backdrop-filter:blur(12px)}
.map-interaction-hint>span{background:var(--ui-blue-soft);color:var(--ui-blue)}
.map-interaction-hint small{color:var(--ui-muted)}
.maplibregl-ctrl-group{overflow:hidden;border:1px solid var(--ui-line);border-radius:12px!important;box-shadow:var(--ui-shadow)!important}
.maplibregl-ctrl-group button{background:var(--ui-surface)}
.site-credit{color:#314958;text-shadow:0 1px 3px #fff;opacity:.85}
/* Créateur : commencer, voir ses étapes, puis affiner les préférences. */
.panel{background:var(--ui-surface);color:var(--ui-text)}
.panel>.eyebrow{margin:0 0 6px;color:var(--ui-accent-text);font-size:10px!important;font-weight:800;letter-spacing:.14em}
.panel>h2{margin:0 0 18px;font-size:25px!important;font-weight:780}
.builder-subtitle{margin:-10px 0 18px;color:var(--ui-muted);font-size:12px}
.roadbook-name-field{margin:16px 0}
.roadbook-name-field label{color:var(--ui-muted);font-size:11px!important;letter-spacing:0;text-transform:none}
.roadbook-name-field input{min-height:44px!important;padding:10px 12px;border-radius:10px;background:var(--ui-inset);font-size:13px!important;font-weight:650}
.roadbook-name-heading{align-items:center}
#reset-route{min-height:32px;padding:4px 8px;border:0;color:var(--ui-muted);background:transparent;font-size:11px}
.route-onboarding{margin:0 0 16px;padding:18px!important;border:1px solid var(--ui-line);border-radius:16px;background:linear-gradient(145deg,var(--ui-welcome-start),var(--ui-welcome-end))}
.route-onboarding>.onboarding-symbol{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--ui-blue)}
.onboarding-symbol>svg{width:30px;height:30px}
.onboarding-symbol>span{padding:3px 8px;border-radius:99px;background:var(--ui-surface);color:var(--ui-blue);font-size:9px;font-weight:750}
.route-onboarding>strong{margin-bottom:5px;font-size:16px!important;letter-spacing:-.02em}
.route-onboarding>p{margin:0 0 13px;color:var(--ui-muted);font-size:12px;line-height:1.6}
.route-onboarding ol{gap:8px;margin-bottom:16px}
.route-onboarding li{grid-template-columns:22px 1fr!important;gap:8px!important;color:var(--ui-muted);font-size:11px!important}
.route-onboarding li b{width:22px!important;height:22px!important;border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-surface);color:var(--ui-blue);font-size:10px}
.onboarding-actions{display:grid;gap:7px}
.onboarding-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;font-size:12px}
.onboarding-actions .primary{background:var(--ui-primary-bg, var(--ui-blue));color:#fff}
.onboarding-actions .secondary{background:transparent;color:var(--ui-blue)}
.onboarding-actions svg{width:17px;height:17px}
.actions.icon-actions{gap:7px;margin:0 0 14px}
.actions.icon-actions>button,.actions.icon-actions>.button{min-height:56px!important;padding:7px 3px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-surface);color:var(--ui-muted);box-shadow:none}
.actions.icon-actions svg{width:19px!important;height:19px!important}
.actions.icon-actions>button>span,.actions.icon-actions>.button>span{font-size:10px!important;font-weight:600}
.actions.icon-actions #save-trip{border-color:var(--ui-line);background:var(--ui-blue-soft);color:var(--ui-blue)}
.actions.icon-actions>button:hover,.actions.icon-actions>.button:hover{background:var(--ui-inset);color:var(--ui-text)}
.route-preferences{margin:12px 0 16px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface)}
.route-preferences>summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:12px;color:var(--ui-text);font-size:12px;font-weight:700;cursor:pointer;list-style:none}
.route-preferences>summary::-webkit-details-marker{display:none}
.route-preferences>summary::after{content:'⌄';margin-left:auto;color:var(--ui-muted);font-size:17px}
.route-preferences[open]>summary::after{transform:rotate(180deg)}
.route-preferences>summary>svg{width:17px;height:17px;color:var(--ui-muted)}
.route-preferences[open]>summary{border-bottom:1px solid var(--ui-line-soft)}
.panel .route-preferences .route-avoid-options{margin:0;padding:12px!important;border:0;border-radius:0;background:transparent;gap:10px}
.panel .route-avoid-options label{font-size:12px!important;gap:10px}
.panel .route-avoid-options input{width:18px!important;height:18px!important;flex-basis:18px!important}
.panel .route-preferences .route-color-control{margin:0;padding:0 12px 8px;border:0}
.panel .route-color-control label{min-height:42px!important;padding:6px 0!important;background:transparent;border:0;font-size:12px!important}
.panel .route-color-control input{width:40px!important;height:30px!important}
.panel .stats{margin:12px 0 16px;padding:0!important;border:0;background:transparent;gap:6px}
.panel .stats div{padding:12px 7px!important;border:1px solid var(--ui-line-soft);border-radius:11px;background:var(--ui-inset)}
.panel .stats strong{font-size:16px!important;color:var(--ui-text)}
.panel .stats small{font-size:10px!important;color:var(--ui-muted)}
.roadbook{margin-top:12px}
.roadbook-heading h3{font-size:14px!important}
.roadbook .step-card{border-color:var(--ui-line);background:var(--ui-surface);box-shadow:0 2px 8px #182d3b05;border-radius:12px}
.roadbook .step-name{font-size:12px;color:var(--ui-text)}
.roadbook .step-profile-switch{background:var(--ui-inset);border-radius:8px}
.roadbook .step-profile-switch button{min-height:30px;padding:5px 8px;border-radius:7px;font-size:10px}
.roadbook .step-profile-switch button.active{background:var(--ui-blue-soft);color:var(--ui-blue)}
.roadbook .step-remove,.roadbook .step-focus{min-height:36px;min-width:32px;border:0;background:transparent}
/* Dialogues, formulaires et états partagés. */
dialog{color:var(--ui-text);border:1px solid var(--ui-line);background:var(--ui-surface);box-shadow:0 25px 90px #102b3b30;border-radius:22px}
dialog::backdrop{background:rgb(17 37 50 / .42);backdrop-filter:blur(5px)}
dialog .dialog-close{display:grid;place-items:center;width:40px;height:40px;min-height:40px;top:14px;right:14px;padding:0;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-inset);color:var(--ui-muted);box-shadow:none;font-size:23px}
dialog .dialog-close:hover{background:var(--ui-surface-alt);color:var(--ui-text)}
dialog :is(.gallery-heading,.trips-dialog-heading,.events-heading,.clubs-heading,.help-heading){padding-right:44px}
dialog :is(.gallery-heading,.trips-dialog-heading,.events-heading,.clubs-heading) h2{font-size:28px}
dialog :is(.gallery-heading,.trips-dialog-heading,.events-heading,.clubs-heading)>p{color:var(--ui-accent-text);font-size:10px;letter-spacing:.13em}
dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){border-color:var(--ui-line);border-radius:10px;color:var(--ui-text);background:var(--ui-inset)}
dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select){min-height:44px}
:where(dialog) :is(button[type=submit],.primary,.gallery-card>button,.account-dialog-actions button){border-color:var(--ui-blue);background:var(--ui-primary-bg, var(--ui-blue));color:#fff;box-shadow:none}
:where(dialog) :is(button[type=submit],.primary,.gallery-card>button):hover{background:#1e5670;color:#fff}
:where(.auth-tabs,.account-section-tabs,.chat-mode-tabs){border-color:var(--ui-line);background:var(--ui-inset);box-shadow:none}
:where(.auth-tabs,.account-section-tabs,.chat-mode-tabs) button.active{background:var(--ui-surface);color:var(--ui-blue);box-shadow:0 2px 8px #182d3b0d}
.form-error{color:var(--ui-danger)}
.danger{color:var(--ui-danger)!important;border-color:var(--ui-danger-line)!important;background:var(--ui-danger-soft)}
.auth-dialog{background:var(--ui-surface)}
.auth-dialog:has(#auth-member:not([hidden]))>.dialog-close{background:var(--ui-inset);color:var(--ui-muted);border-color:var(--ui-line);box-shadow:none}
.auth-form h2{font-size:27px}.auth-form>p{color:var(--ui-muted);font-size:13px}
.auth-required-heading{background:var(--ui-blue-soft);border:0}
.free-access-strip{background:var(--ui-success-soft);color:var(--ui-success)}
.avatar-chooser,.motorcycle-profile,.account-settings-side,.profile-social{background:var(--ui-surface);border-color:var(--ui-line)}
.motorcycle-avatar-gallery button{background:var(--ui-inset);border-color:var(--ui-line)}
.motorcycle-avatar-gallery button.active{background:var(--ui-blue-soft);border-color:#78abc2}
.account-section-tabs button{font-size:12px}
.account-dialog-actions button{background:var(--ui-primary-bg, var(--ui-blue));color:#fff;border:0;box-shadow:none}
.gallery-dialog,.events-dialog,.clubs-dialog,.community-photos-dialog,.help-dialog,.trips-dialog{background:var(--ui-surface)}
.gallery-card,.event-card,.club-card,.club-post,.community-photo-card,.trip-list .trip-list-row{border:1px solid var(--ui-line);background:var(--ui-surface);box-shadow:0 3px 14px #182d3b06}
.gallery-list{gap:18px}.gallery-card{padding:18px;border-radius:17px}
.gallery-card .gallery-cover{border-radius:12px;aspect-ratio:16/10;object-fit:cover}
.gallery-card-top>span{display:none}.gallery-card .gallery-card-top{grid-template-columns:1fr;gap:0}
.gallery-card h3{font-size:17px;line-height:1.35}.gallery-card p{font-size:11px;line-height:1.65}
.gallery-stats span{background:var(--ui-inset)}.gallery-stats b{font-size:14px}
.gallery-country-filter,.trip-list-toolbar,.event-filters{padding:14px;border:1px solid var(--ui-line-soft);border-radius:13px;background:var(--ui-inset)}
.gallery-country-filter select,.trip-list-toolbar select,.trip-list-search input{background:var(--ui-surface)}
.event-date{background:var(--ui-accent-soft);color:var(--ui-accent-text)}
.trip-row-actions .trip-action{width:38px;height:38px;color:var(--ui-muted);background:var(--ui-inset)}
.trip-row-actions .trip-action.primary{background:var(--ui-primary-bg, var(--ui-blue));color:#fff}
.help-content{color:var(--ui-text);line-height:1.7}
.help-sections details{border-color:var(--ui-line);background:var(--ui-surface);border-radius:12px}
.help-sections summary{min-height:58px}.help-sections details[open]{border-color:var(--ui-line);background:var(--ui-inset)}
.help-sections summary>span{background:var(--ui-blue-soft);color:var(--ui-blue)}
.help-support-footer{background:var(--ui-inset);border-color:var(--ui-line)}
.private-messages,.chat-messages{background:var(--ui-inset);border-color:var(--ui-line)}
.private-message{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-line-soft)}
.private-message.mine{background:var(--ui-blue-soft);border-color:var(--ui-line)}
.chat-message,.chat-private-contact{border-color:var(--ui-line);background:var(--ui-surface);color:var(--ui-text)}
#toast,.admin-toast{background:#183a4c;color:#fff;border-color:#315b72;border-radius:12px;box-shadow:var(--ui-shadow);font-size:13px;line-height:1.5}
.context-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.context-actions .context-action{display:grid;place-items:center;gap:8px;min-height:84px;height:auto;width:100%;padding:12px 8px;border-color:var(--ui-line);border-radius:13px;background:var(--ui-inset);color:var(--ui-text)}
.context-actions .context-action::after{content:attr(data-ui-label);position:static;display:block;transform:none;opacity:1;padding:0;border:0;box-shadow:none;background:transparent;color:inherit;white-space:normal;font:650 11px/1.3 inherit}
.context-actions .context-action::before{display:none}
.context-actions .context-action.start{background:var(--ui-success-soft);color:var(--ui-success)}
.context-actions .context-action.destination{background:var(--ui-accent-soft);color:var(--ui-accent-text)}
.waypoint-actions button{background:var(--ui-inset);border-color:var(--ui-line);min-height:66px}
.waypoint-action-icon{background:var(--ui-blue-soft);color:var(--ui-blue)}
/* Pages publiques : photos, titres aérés, contenu lisible. */
.public-header{min-height:88px;border-bottom:1px solid var(--ui-line);padding:18px 0}
.public-brand span{color:var(--ui-text);letter-spacing:.08em;font-size:12px}.public-brand strong{color:var(--ui-muted);font-size:12px;font-weight:500}
.public-button{border-radius:11px;background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line);font-size:13px}
.public-button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}
.public-hero{position:relative;padding:56px 0 34px}.public-kicker{color:var(--ui-accent-text);letter-spacing:.13em}
.public-hero h1{max-width:790px;font-size:clamp(36px,5.5vw,62px);line-height:1.08;letter-spacing:-.05em;font-weight:780}
.public-hero>p:not(.public-kicker){max-width:660px;color:var(--ui-muted);font-size:17px;line-height:1.65}
.roadbook-country-filter{background:var(--ui-surface);box-shadow:0 3px 15px #182d3b04;border-color:var(--ui-line);border-radius:14px}
.roadbook-country-filter label span{color:var(--ui-accent-text)}.roadbook-country-filter select{background:var(--ui-inset);font-size:13px}
.roadbook-grid{gap:22px}.roadbook-card{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow);border-radius:18px}
.roadbook-card h2{font-size:20px;line-height:1.3}.roadbook-card p{font-size:12px;line-height:1.6}
.roadbook-card .public-button{margin-top:auto}.roadbook-stats span{background:var(--ui-inset)}
.roadbook-main,.roadbook-aside>section{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow);border-radius:18px}
.roadbook-content h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;line-height:1.15}
.roadbook-aside{position:sticky;top:20px;align-self:start}.roadbook-aside p{font-size:14px}
.route-preview{background:var(--ui-inset)}.route-preview .route-shadow{stroke:#d7e3e9}.route-preview .route-line{stroke:var(--ui-blue)}
.roadbook-summary div,.waypoint-list li{background:var(--ui-inset)}.roadbook-summary strong{color:var(--ui-blue)}
.waypoint-list b{background:var(--ui-blue-soft);color:var(--ui-blue)}.public-footer a,.public-breadcrumb a{color:var(--ui-blue)}
/* Administration : navigation sombre, espace de travail clair. */
.admin-sidebar{--ui-text:#e9f1f5;--ui-muted:#9cb3c0;--ui-surface:#183747;--ui-inset:#102b3b;--ui-line:#2d4d5e;--ui-line-soft:#244455;--ui-blue:#9dcde2;--sidebar:#102b3b;background:var(--sidebar);color:#e9f1f5;border-right:0;box-shadow:none}
.admin-brand{border-color:#294757}.admin-brand small{color:#f4ad8c}.admin-navigation p{color:#8eabbc;font-size:10px}
.admin-navigation button{color:#acc3d0;min-height:46px;border-radius:10px;font-size:13px}
.admin-navigation button b{font-size:12px}.admin-navigation button.active{background:#254657;color:#fff;box-shadow:inset 3px 0 #f28a5e}
.admin-navigation button:hover{background:#1b3c4e;color:#fff}.admin-sidebar-footer{background:#0d2533;border-color:#294757}
.admin-topbar{background:var(--ui-overlay);border-color:var(--ui-line);min-height:90px;box-shadow:none}
.admin-topbar p{color:var(--ui-accent-text)}.admin-topbar h1{font-size:26px;letter-spacing:-.04em}
.admin-main{max-width:1500px}.admin-topbar-actions a,.admin-topbar-actions button{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}
.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat-card{display:block;min-height:118px;padding:18px;background:var(--ui-surface);border-color:var(--ui-line);border-radius:14px;box-shadow:0 2px 10px #182d3b04}
.admin-stat-card strong{margin:8px 0 4px;color:var(--ui-text);font-size:30px}.admin-stat-card small{color:var(--ui-muted)}.admin-stat-card:after{display:none}
.admin-server-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-server-panel,.admin-panel{background:var(--ui-surface);box-shadow:0 2px 10px #182d3b04;border-color:var(--ui-line)}
.admin-server-metric{background:var(--ui-inset);border-color:var(--ui-line-soft)}.admin-server-copy>strong{font-size:14px}
.admin-server-live{background:var(--ui-success-soft);color:var(--ui-success)}
.admin-list-row,.admin-log-card,.admin-message-card,.admin-support-card,.admin-photo-card{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 2px 10px #182d3b03}
.admin-tools,.admin-message-tools,.admin-support-tools,.admin-activity-tools,.admin-activity-filters{background:var(--ui-inset);border-color:var(--ui-line)}
.admin-section-heading h2{font-size:24px;letter-spacing:-.03em}.admin-section-heading p{font-size:13px}
.admin-page button,.admin-page input,.admin-page select{border-radius:9px}
.admin-page button:not(.admin-navigation button){min-height:38px}
.admin-list-row button,.admin-heading-actions button,.admin-heading-actions a{background:var(--ui-inset);color:var(--ui-text);border-color:var(--ui-line)}
.admin-page .admin-button.primary,.admin-email-form button[type=submit]{background:var(--ui-primary-bg, var(--ui-blue));border-color:var(--ui-blue);color:#fff}
.admin-message-filters button.active,.admin-support-filters button.active,.admin-activity-filters button.active{background:var(--ui-blue-soft);color:var(--ui-blue);border-color:var(--ui-line)}
.admin-badge{background:var(--ui-inset);color:var(--ui-muted)}.admin-badge.yes,.admin-badge.online{background:var(--ui-success-soft);color:var(--ui-success)}
.admin-badge.banned{background:var(--ui-danger-soft);color:var(--ui-danger)}
/* Pages de validation, récupération et rapports. */
body.utility-page{background:var(--ui-bg)}
.utility-page .card{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow)}
.utility-page .card h1{letter-spacing:-.04em;line-height:1.2}.utility-page .primary,.utility-page .back,.utility-page .card>a{background:var(--ui-primary-bg, var(--ui-blue));color:#fff}
.utility-page .icon{color:#fff}.utility-brand{display:flex;align-items:center;gap:9px;margin-bottom:24px;color:var(--ui-text);text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.08em}
.utility-brand img{width:32px;height:32px;object-fit:contain}
body.report-page{background:var(--ui-bg)}.report-page .card{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:var(--ui-shadow)}
.report-page .metric,.report-page .chart{background:var(--ui-inset);border-color:var(--ui-line)}.report-page .metric strong{color:var(--ui-blue)}
.report-page .privacy{background:var(--ui-blue-soft);color:var(--ui-muted)}
/* La disposition mobile garde les zones sûres et la hauteur du clavier. */
@media(min-width:901px){
 html[data-display-mode="desktop"] .topbar{position:relative;z-index:60;display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:80px;gap:0;height:80px;min-height:80px;padding:0 24px}
 html[data-display-mode="desktop"] .site-brand{grid-column:1;grid-row:1;align-items:center}
 html[data-display-mode="desktop"] .site-brand>img{width:44px;height:44px}
 html[data-display-mode="desktop"] .site-brand small{font-size:16px;letter-spacing:.055em}
 html[data-display-mode="desktop"] .site-brand h1{margin:2px 0 0;font-size:11px}
 html[data-display-mode="desktop"] .free-site-badge{display:none}
 html[data-display-mode="desktop"] .topbar .main-nav{grid-column:2;grid-row:1;gap:7px;flex-wrap:nowrap;justify-content:flex-end}
 html[data-display-mode="desktop"] .main-nav>button,html[data-display-mode="desktop"] .community-menu>summary{height:40px;padding:8px 11px;border-radius:10px;font-size:12px;gap:7px}
 html[data-display-mode="desktop"] .main-nav .display-mode-switch{display:none}
 html[data-display-mode="desktop"] .main-nav #account-button{min-width:100px;padding:8px 12px}
 html[data-display-mode="desktop"] .layout{display:grid;grid-template-columns:350px minmax(0,1fr);grid-template-areas:'builder map';height:calc(100dvh - 80px);padding:0;gap:0}
 html[data-display-mode="desktop"] .panel{grid-area:builder;min-width:0;padding:24px 20px;border:0;border-right:1px solid var(--ui-line);overflow-y:auto;scrollbar-gutter:stable}
 html[data-display-mode="desktop"] .map-wrap{grid-area:map;min-width:0;min-height:0;position:relative}
 html[data-display-mode="desktop"] #map{height:100%;min-height:0}
 html[data-display-mode="desktop"] .header-map-menu{position:absolute;z-index:20;top:100px;left:374px;right:174px;display:flex;align-items:flex-start;gap:10px;pointer-events:none}
 html[data-display-mode="desktop"] .header-map-menu>*{pointer-events:auto}
 html[data-display-mode="desktop"] .header-map-menu .address-search{flex:1;max-width:540px;min-width:0;height:50px;min-height:50px;padding:4px 5px 4px 15px;grid-template-columns:20px minmax(0,1fr) 42px;border-radius:13px}
 html[data-display-mode="desktop"] .address-search input{min-width:0;font-size:13px}
 html[data-display-mode="desktop"] .address-search>button{width:40px;height:40px;min-height:40px;padding:0;font-size:0;border-radius:10px}
 html[data-display-mode="desktop"] .address-search>button::after{content:'→';font-size:22px}
 html[data-display-mode="desktop"] .header-map-menu .map-tools{display:flex;flex-wrap:nowrap;gap:7px;padding:0;background:transparent;border:0;box-shadow:none}
 html[data-display-mode="desktop"] .header-map-menu .map-tools button{width:46px;height:50px;min-height:50px;padding:12px;display:grid;place-items:center;border-radius:13px}
 html[data-display-mode="desktop"] .map-tools .map-tool-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 html[data-display-mode="desktop"] .map-tools .map-tool-icon{width:22px;height:22px}
 html[data-display-mode="desktop"] .layer-switcher{top:20px;right:20px;gap:7px}
 html[data-display-mode="desktop"] .layer-switcher>button,html[data-display-mode="desktop"] .layer-switcher #terrain-button{width:48px;height:50px}
 html[data-display-mode="desktop"] .maplibregl-ctrl-top-right{top:84px;right:11px}
 html[data-display-mode="desktop"] .map-interaction-hint{left:24px;bottom:22px;max-width:360px;padding:10px 13px;grid-template-columns:30px minmax(0,1fr);border-radius:13px}
 html[data-display-mode="desktop"] .map-interaction-hint>span{width:30px;height:30px;font-size:17px}
 html[data-display-mode="desktop"] .map-interaction-hint strong{font-size:12px}
 html[data-display-mode="desktop"] .map-interaction-hint small{font-size:10px}
}
@media(min-width:901px) and (max-width:1180px){
 html[data-display-mode="desktop"] .topbar{grid-template-columns:230px minmax(0,1fr);padding-inline:16px}
 html[data-display-mode="desktop"] .main-nav>button,html[data-display-mode="desktop"] .community-menu>summary{gap:5px;padding:8px;font-size:11px}
 html[data-display-mode="desktop"] .main-nav #donate-button{display:none}
 html[data-display-mode="desktop"] .layout{grid-template-columns:320px minmax(0,1fr)}
 html[data-display-mode="desktop"] .panel{padding:22px 16px}
 html[data-display-mode="desktop"] .header-map-menu{left:336px;right:142px;top:96px;gap:6px}
 html[data-display-mode="desktop"] .layer-switcher{top:16px;right:16px}
 html[data-display-mode="desktop"] .header-map-menu .map-tools{display:flex}
}
html[data-display-mode="mobile"] .topbar{background:var(--ui-surface);border-bottom:1px solid var(--ui-line);box-shadow:0 3px 12px #182d3b08}
html[data-display-mode="mobile"] .site-brand h1{color:var(--ui-text);font-size:13px!important;font-weight:700}
html[data-display-mode="mobile"] .site-brand>img{width:32px;height:32px;flex-basis:32px}
html[data-display-mode="mobile"] .header-map-menu .address-search{background:var(--ui-inset);border-color:var(--ui-line);border-radius:12px}
html[data-display-mode="mobile"] .address-search>button{background:var(--ui-accent);color:#fff}
html[data-display-mode="mobile"] #mobile-fullscreen{border-color:var(--ui-line);background:var(--ui-surface);color:var(--ui-muted);box-shadow:none;border-radius:11px}
html[data-display-mode="mobile"] .topbar .main-nav{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 -4px 24px #182d3b0b}
html[data-display-mode="mobile"] .main-nav>button,html[data-display-mode="mobile"] .community-menu>summary,html[data-display-mode="mobile"] .mobile-more-menu>summary{border:0;background:transparent;color:var(--ui-muted);box-shadow:none;font-size:9px}
html[data-display-mode="mobile"] .main-nav>button>span,html[data-display-mode="mobile"] .community-menu>summary>span,html[data-display-mode="mobile"] .mobile-more-menu>summary>span{color:inherit}
html[data-display-mode="mobile"] .main-nav #new-trip{background:var(--ui-accent-soft);color:var(--ui-accent-text)}
html[data-display-mode="mobile"] .main-nav #account-button{background:transparent;color:var(--ui-muted);border:0}
html[data-display-mode="mobile"] #account-button:not(:has(.account-button-name))::before{border-color:var(--ui-muted);color:var(--ui-muted)}
html[data-display-mode="mobile"] #mobile-route-button[aria-expanded="true"],html[data-display-mode="mobile"] .community-menu[open]>summary,html[data-display-mode="mobile"] .mobile-more-menu[open]>summary{background:var(--ui-blue-soft);color:var(--ui-blue);box-shadow:none}
html[data-display-mode="mobile"] #mobile-map-tools-toggle,html[data-display-mode="mobile"] .layer-switcher>button{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-text);box-shadow:var(--ui-shadow);border-radius:12px}
html[data-display-mode="mobile"] #mobile-map-tools-toggle[aria-expanded="true"]{background:var(--ui-blue-soft);color:var(--ui-blue)}
html[data-display-mode="mobile"] .header-map-menu .map-tools,html[data-display-mode="mobile"] .community-menu>div,html[data-display-mode="mobile"] .mobile-more-menu>div{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 14px 40px #182d3b1f}
html[data-display-mode="mobile"] .community-menu>div>button,html[data-display-mode="mobile"] .mobile-more-menu>div>button,html[data-display-mode="mobile"] .map-tools button{background:var(--ui-inset);color:var(--ui-text);border-color:var(--ui-line);box-shadow:none}
html[data-display-mode="mobile"] .panel{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:0 -8px 32px #182d3b1a}
html[data-display-mode="mobile"] .mobile-builder-toggle{background:var(--ui-surface);color:var(--ui-text);border-bottom:1px solid var(--ui-line-soft);box-shadow:none}
html[data-display-mode="mobile"] .mobile-builder-toggle b{color:var(--ui-text)}
html[data-display-mode="mobile"] .mobile-builder-toggle small{color:var(--ui-muted)}
html[data-display-mode="mobile"] .mobile-builder-toggle i{color:var(--ui-blue)}
html[data-display-mode="mobile"] .mobile-builder-handle{background:#bacbd6}
html[data-display-mode="mobile"] body.mobile-builder-open .mobile-builder-toggle{background:var(--ui-blue-soft);border-color:var(--ui-line)}
html[data-display-mode="mobile"] .route-onboarding{padding:15px!important;margin-bottom:14px}
html[data-display-mode="mobile"] .onboarding-actions{grid-template-columns:1fr 1fr;gap:6px}
html[data-display-mode="mobile"] .onboarding-actions button{font-size:11px;padding-inline:8px}
html[data-display-mode="mobile"] .panel>h2{margin-bottom:18px;font-size:23px!important}
html[data-display-mode="mobile"] .builder-subtitle{font-size:12px}
html[data-display-mode="mobile"] .actions.icon-actions>button,html[data-display-mode="mobile"] .actions.icon-actions>.button{min-height:59px!important;grid-template-rows:22px auto;row-gap:4px}
html[data-display-mode="mobile"] dialog{border-radius:19px;max-width:calc(100vw - 16px)}
html[data-display-mode="mobile"] dialog :is(.gallery-heading,.trips-dialog-heading,.events-heading,.clubs-heading) h2{font-size:24px}
html[data-display-mode="mobile"] .trip-row-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;justify-content:stretch}
html[data-display-mode="mobile"] .trip-row-actions .trip-action{width:100%;height:56px;padding:7px 3px;gap:4px;align-content:center;grid-template-rows:20px auto}
html[data-display-mode="mobile"] .trip-action::after{content:attr(data-ui-label);position:static;display:block;max-width:100%;padding:0;border:0;background:transparent;color:inherit;box-shadow:none;transform:none;opacity:1;font-size:9px;line-height:1.2;white-space:normal}
@media(max-width:900px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-server-list{grid-template-columns:1fr}.roadbook-aside{position:static}}
@media(max-width:620px){
 .public-header{gap:10px}.public-brand img{width:36px;height:36px}.public-brand strong{font-size:10px}.public-brand span{font-size:10px}
 .public-nav .public-button{padding:9px 11px;font-size:11px}
 .public-hero{padding-top:30px}.public-hero h1{font-size:38px}.public-hero>p:not(.public-kicker){font-size:15px}
 .roadbook-grid{gap:16px}.roadbook-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.roadbook-summary div{padding:12px 8px}.roadbook-summary strong{font-size:15px}.roadbook-summary small{font-size:10px}
 .roadbook-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.roadbook-stats span:last-child{grid-column:auto}
 .admin-topbar{padding:12px 14px}.admin-topbar h1{font-size:22px}.admin-main{padding:14px}.admin-stat-card{min-height:105px;padding:14px}.admin-stat-card strong{font-size:26px}
 .account-section-tabs button{font-size:10px}.admin-page button:not(.admin-navigation button){min-height:44px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.desktop-display-menu{position:relative;flex-shrink:0}
.desktop-display-menu>summary{display:grid;place-items:center;width:38px;height:40px;border:1px solid var(--ui-line);border-radius:10px;color:var(--ui-muted);cursor:pointer;list-style:none}
.desktop-display-menu>summary::-webkit-details-marker{display:none}
.desktop-display-panel{position:absolute;z-index:80;right:0;top:calc(100% + 10px);width:210px;padding:14px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.desktop-display-panel>strong{display:block;margin-bottom:9px;font-size:12px}
html[data-display-mode="desktop"] .main-nav .desktop-display-panel .display-mode-switch{display:flex;justify-content:center;height:auto}
html[data-display-mode="desktop"] .desktop-display-panel .display-mode-switch button{min-height:36px;color:var(--ui-muted)}
html[data-display-mode="desktop"] .desktop-display-panel .display-mode-switch button.active{color:var(--ui-blue);background:var(--ui-blue-soft)}
html[data-display-mode="mobile"] .desktop-display-menu{display:none}
@media(min-width:901px) and (max-width:1180px){html[data-display-mode="desktop"] .main-nav #donate-button{display:inline-flex}html[data-display-mode="desktop"] .main-nav #admin-button{font-size:0;min-width:36px;padding:8px}}
/* Ajustements de contraste et de lisibilité vérifiés sur les écrans réels. */
dialog::backdrop{background:rgb(17 37 50 / .42)!important;backdrop-filter:blur(5px)!important}
dialog .auth-form button.primary,dialog .account-dialog-actions button,dialog .gallery-card>button,dialog .event-create-form footer button,dialog .events-heading>button,dialog .community-photo-form button[type=submit]{background:var(--ui-primary-bg, var(--ui-blue));border-color:var(--ui-blue);color:#fff}
.auth-required-heading{margin:0 0 10px;padding:0 28px 0 0;background:transparent;border:0;align-items:center;gap:12px}
.auth-required-heading img{width:48px!important;height:48px!important;object-fit:contain}
.auth-required-heading strong{font-size:16px;line-height:1.3}
.auth-required-heading small{margin-top:5px;font-size:12px;line-height:1.55}
.auth-free-note{margin:15px 0 22px;padding:10px 12px;border-radius:10px;background:var(--ui-success-soft);color:var(--ui-success);font-size:11px;line-height:1.5}
.auth-tabs{margin-bottom:22px}.auth-tabs button{min-height:44px;font-size:12px}
.auth-form h2{margin:0 0 3px;font-size:25px}.auth-form label{font-size:12px}.auth-form{gap:15px}
html[data-display-mode="mobile"] body.mobile-builder-open .mobile-builder-toggle b,html[data-display-mode="mobile"] body.mobile-builder-open .mobile-builder-toggle i{color:var(--ui-blue)}
.map-tool-icon svg.ui-icon{fill:none;stroke:currentColor;width:21px;height:21px}
.context-actions .context-action::after{font-family:inherit;font-weight:650;font-size:12px;line-height:1.3}
@media(min-width:901px){html[data-display-mode="desktop"] .header-map-menu{position:fixed;grid-row:auto;grid-column:auto}html[data-display-mode="desktop"] .header-map-menu .address-search{max-width:540px}}
@media(max-width:620px){.auth-required-heading strong{font-size:15px}.auth-required-heading small{font-size:11px}.auth-form h2{font-size:23px}.auth-free-note{font-size:11px}}

/* Messagerie : les raccourcis privés restent accessibles sur petit écran. */
.chat-mode-tabs button.active,.chat-message-avatar,.online-avatar,.chat-dialog .chat-form>button,.chat-room-form button{color:#fff}
.chat-dialog .chat-compose:focus-within{border-color:var(--ui-blue);box-shadow:0 0 0 2px var(--ui-blue-soft)}
.chat-dialog .chat-compose textarea{background:transparent;border:0;border-radius:0}
.chat-dialog .chat-attachments select{background-color:var(--ui-inset)}
.chat-dialog .chat-notice{color:var(--ui-muted)}
.admin-sidebar-overlay{background:rgb(17 37 50 / .42)}
.admin-navigation button i{color:var(--ui-danger)}
.admin-server-metric>b{color:var(--ui-blue)}
.utility-page .message{color:var(--ui-text)}
.trip-list-toolbar .trip-select-visible{display:flex;align-items:center;gap:8px}
@media(max-width:720px){
 .chat-mode-tabs{height:auto;grid-template-columns:1fr;gap:4px;padding:6px 4px}
 .chat-mode-tabs button,.chat-mode-tabs button+button{display:grid;place-items:center;min-height:44px;padding:4px 1px;font-size:10px;border-radius:8px;line-height:1.3}
 .chat-mode-tabs button:first-child::after{content:none}
 .chat-dialog .chat-compose{grid-template-columns:minmax(0,1fr);padding:8px}
 .chat-dialog .chat-compose textarea{grid-column:1;width:100%;min-height:42px;padding:4px;font-size:16px}
 .chat-dialog .chat-attachments{grid-column:1;grid-row:2;justify-content:flex-start}
 .chat-dialog .chat-attachments button,.chat-dialog .chat-attachments .button,.chat-dialog .chat-attachments select{width:44px;height:44px;min-height:44px}
 .chat-dialog .chat-form>button{align-self:end;margin-bottom:8px}
 .chat-header-status{font-size:10px;white-space:nowrap}
 .chat-dialog .chat-message header{flex-wrap:wrap;gap:2px 8px}
 html[data-display-mode="mobile"] dialog.auth-dialog>.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;min-height:44px}
}

.chat-dialog .chat-attachments select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607383' stroke-width='1.8'%3E%3Cpath d='m3 6 5-2 8 3 5-2v13l-5 2-8-3-5 2V6Z'/%3E%3Cpath d='M8 4v13M16 7v13'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:19px}

.trip-list-toolbar .trip-select-visible input{width:20px;height:20px;min-height:20px;flex:0 0 20px}
/* Les trois modes de route restent lisibles dans la colonne du créateur. */
.roadbook .step-meta{display:block}
.roadbook .step-copy{padding:8px 6px}
.roadbook .step-copy strong{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.roadbook .step-copy small{display:block;margin-top:3px}
.roadbook .step-routing-controls{margin-top:6px}
.roadbook .step-profile-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:1px}
.roadbook .step-profile-switch button{padding:4px 2px;font-size:9px}
.panel .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel .stats>div:last-child{grid-column:auto}

.utility-page .card .utility-brand{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:auto;min-height:0;margin:0 0 24px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ui-text);box-shadow:none;font-size:13px;line-height:1.3}

/* Deux palettes pour les mêmes composants. Le thème clair reste le défaut. */
:root{--ui-primary-bg:#246887;--ui-overlay:#ffffffed;--ui-welcome-start:#eff7fa;--ui-welcome-end:#f7fbfc}
:root[data-theme="dark"]{
 color-scheme:dark;
 --ui-bg:#101b26;--ui-surface:#172735;--ui-surface-alt:#203544;--ui-inset:#13222f;
 --ui-text:#edf3f7;--ui-muted:#a7b9c8;--ui-line:#354c5d;--ui-line-soft:#293e4d;
 --ui-accent:#c94d23;--ui-accent-text:#ffad85;--ui-accent-soft:#3b2924;
 --ui-blue:#8cd0ed;--ui-blue-soft:#203e50;--ui-primary-bg:#286783;
 --ui-success:#8ed9af;--ui-success-soft:#173c30;--ui-success-line:#386951;
 --ui-danger:#ffacb5;--ui-danger-soft:#402730;--ui-danger-line:#824652;
 --ui-shadow:0 8px 28px rgb(0 0 0 / .25);--ui-overlay:#172735ed;
 --ui-welcome-start:#1b3545;--ui-welcome-end:#172b39;
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid var(--ui-line);border-radius:11px;background:var(--ui-inset);color:var(--ui-text);font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
.theme-toggle .ui-icon{width:20px;height:20px}
.theme-toggle:focus-visible{outline:3px solid var(--ui-blue);outline-offset:3px}
.desktop-display-panel>.theme-toggle{width:100%;margin:3px 0 12px}
html[data-display-mode="mobile"] #mobile-more-panel>.theme-toggle{display:flex;align-items:center;justify-content:flex-start;min-height:44px}
.public-nav>.theme-toggle,.admin-topbar-actions>.theme-toggle{width:44px;height:44px;padding:10px;flex:0 0 44px}
.public-nav>.theme-toggle>span,.admin-topbar-actions>.theme-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.utility-page .card>.theme-toggle{float:right;position:relative;margin:0 0 16px 10px;width:44px;padding:10px}
.utility-page .card>.theme-toggle>span{display:none}
.utility-page .card>.theme-toggle~.icon{clear:both}
.report-page header>.theme-toggle{margin-left:auto;order:2}
:root[data-theme="dark"] :is(button,a,summary,input,select,textarea):focus-visible{outline-color:var(--ui-blue)}
:root[data-theme="dark"] ::placeholder{color:#9aafbf}
:root[data-theme="dark"] .route-preview .route-shadow{stroke:#355161}
:root[data-theme="dark"] .route-preview .route-line{stroke:var(--ui-blue)}
:root[data-theme="dark"] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1)}
:root[data-theme="dark"] .maplibregl-ctrl-scale{color:#172735;background:#ffffffc9;color-scheme:light}
:root[data-theme="dark"] .maplibregl-ctrl-attrib{color-scheme:light;color:#172735}
:root[data-theme="dark"] .maplibregl-ctrl-attrib a{color:#172735}
:root[data-theme="dark"] .site-brand>img,:root[data-theme="dark"] .public-brand img,:root[data-theme="dark"] .utility-brand img,:root[data-theme="dark"] .auth-required-heading img{background:#fff;border-radius:50%}
:root[data-theme="dark"] dialog::backdrop{background:rgb(3 10 17 / .62)!important}
@media(max-width:620px){.public-nav{gap:6px}.public-nav>.theme-toggle{width:40px;flex-basis:40px;padding:9px}.admin-topbar-actions{gap:5px}}

/* Icônes de pièces jointes adaptées aux surfaces sombres. */
:root[data-theme="dark"] .chat-dialog #emoji-button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7b9c8' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 14.5c1.8 2 5.2 2 7 0M9 9.5h.01M15 9.5h.01' stroke-linecap='round'/%3E%3C/svg%3E")}
:root[data-theme="dark"] .chat-dialog .chat-attachments .button{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7b9c8' stroke-width='1.8'%3E%3Crect x='3' y='5.5' width='18' height='14' rx='2.5'/%3E%3Ccircle cx='12' cy='12.5' r='3.5'/%3E%3Cpath d='m8 5.5 1-2h6l1 2'/%3E%3C/svg%3E")}
:root[data-theme="dark"] .chat-dialog .chat-attachments select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7b9c8' stroke-width='1.8'%3E%3Cpath d='m3 6 5-2 8 3 5-2v13l-5 2-8-3-5 2V6Z'/%3E%3Cpath d='M8 4v13M16 7v13'/%3E%3C/svg%3E")}
:root[data-theme="dark"] .chat-dialog .chat-attachments select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7b9c8' stroke-width='1.8'%3E%3Cpath d='m3 6 5-2 8 3 5-2v13l-5 2-8-3-5 2V6Z'/%3E%3Cpath d='M8 4v13M16 7v13'/%3E%3C/svg%3E")}

:root[data-theme="dark"] .auth-required-heading img{flex:0 0 48px}
