/* Swiss TrottiPass — finition visuelle v11 (chargée en dernier).
   Même structure et mêmes menus : seules les couleurs, tailles, espacements et états d'accès changent. */
:root{--v11-red:#ed2038;--v11-red-d:#c8142b;--v11-ink:#14243c;--v11-mut:#4f5f76;--v11-line:#e3e9f1;--v11-shadow:0 1px 2px rgba(20,36,60,.05),0 12px 32px rgba(20,36,60,.06)}
body{font-feature-settings:"cv11","ss01";letter-spacing:-.005em}

/* ── Accès : focus, cibles tactiles, contraste, mouvement ───────────────── */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #1f5fd6!important;outline-offset:3px!important}
button,.btn,[role=button],select,input:not([type=checkbox]):not([type=radio]){min-height:44px}
input,select,textarea{font-size:16px}
::selection{background:#ffd5da}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (prefers-contrast:more){:root{--v11-mut:#2f3d52}.card,.admin-surface{border-color:#8795a8}}

/* ── Boutons : plus nets, plus modernes ─────────────────────────────────── */
button,.button{transition:transform .12s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease}
button:not(:disabled):active{transform:translateY(1px) scale(.99)}
button:not(.outline):not(.text-button):not(.admin-secondary):not(.admin-text-button):not([data-admin-tab]):not([data-workspace]):not(.link-button){border-radius:12px;font-weight:700}
button.outline,.admin-secondary{border-radius:12px;font-weight:700}
form button:not(.outline):not(.text-button):not(.link-button):not(:disabled){box-shadow:0 8px 20px rgba(237,32,56,.22)}

/* ── Compte client : menu latéral clair (fini le grand bloc bleu foncé) ─── */
#dashboard.workspace{gap:22px}
#dashboard.workspace>nav{background:#fff!important;color:var(--v11-ink)!important;border:1px solid var(--v11-line)!important;border-radius:22px!important;box-shadow:var(--v11-shadow)!important}
#dashboard.workspace>nav *{color:inherit}
#dashboard.workspace>nav .sidebar-brand strong{color:var(--v11-ink)!important;font-size:18px}
#dashboard.workspace>nav .sidebar-brand small,#dashboard.workspace>nav p,#dashboard.workspace>nav .sidebar-free,#dashboard.workspace>nav .sidebar-footer{color:var(--v11-mut)!important}
#dashboard.workspace>nav button[data-workspace]{color:#34445c!important;background:transparent!important;border:1px solid transparent!important;border-radius:14px!important;min-height:48px;font-size:15px!important;font-weight:700;box-shadow:none!important}
#dashboard.workspace>nav button[data-workspace]:hover{background:#f3f6fb!important}
#dashboard.workspace>nav button[data-workspace][aria-pressed="true"]{background:#fff1f3!important;color:var(--v11-red-d)!important;border-color:#f8c9d0!important}
#dashboard.workspace>nav .sidebar-number{color:#8795a8!important;opacity:1}
#dashboard.workspace>nav button[aria-pressed="true"] .sidebar-number{color:var(--v11-red)!important}
#dashboard.workspace>nav a{color:var(--v11-red-d)!important;font-weight:700}
.workspace-content{border-radius:22px}
.workspace-screen .form-card,.workspace-screen details,.security-card{border-radius:18px}

/* ── Administration : menu latéral clair + lisibilité ───────────────────── */
.admin-sidebar{background:#fff!important;color:var(--v11-mut)!important;border-right:1px solid var(--v11-line);padding:28px 16px 22px!important}
.admin-wordmark{color:var(--v11-ink)!important;font-size:20px!important}
.admin-wordmark>span{color:var(--v11-red)!important}
.admin-wordmark small{color:#66758c!important;font-size:10px!important;letter-spacing:1.3px!important}
.admin-nav-label{font-size:11px!important;color:#7a8799!important;letter-spacing:1.2px!important}
.admin-sidebar .admin-tabs button{font-size:14.5px!important;font-weight:650!important;color:#34445c!important;border-radius:13px!important;min-height:48px!important;padding:12px 14px!important}
.admin-sidebar .admin-tabs button>span{color:#7a8ba3!important;font-size:18px!important}
.admin-sidebar .admin-tabs button:hover{background:#f3f6fb!important}
.admin-sidebar .admin-tabs button.active{background:#fff1f3!important;color:var(--v11-red-d)!important;border-color:#f8c9d0!important}
.admin-sidebar .admin-tabs button.active>span{color:var(--v11-red)!important}
.admin-sidebar .admin-tabs b{background:var(--v11-red)!important;color:#fff!important;border-radius:99px!important;font-size:11px!important;padding:2px 8px!important;max-width:none!important}
.admin-side-note{font-size:12.5px!important;border-bottom:1px solid var(--v11-line)!important;color:var(--v11-mut)!important}
.admin-side-note p{font-size:12.5px!important;color:var(--v11-mut)!important}
.admin-secure-dot{width:8px!important;height:8px!important}
.admin-sidebar #admin-session p{font-size:12px!important;color:var(--v11-mut)!important}
.admin-sidebar #admin-session strong{font-size:13px!important;color:var(--v11-ink)!important}
.admin-sidebar #admin-logout{font-size:14px!important;color:var(--v11-ink)!important;border:1px solid #c9d3e0!important;border-radius:12px!important;background:#fff!important}
.admin-topbar{min-height:104px}
.admin-breadcrumb{font-size:11px!important;color:#66758c!important}.admin-breadcrumb b{font-size:11px!important}
.admin-topbar h2{font-size:30px!important;letter-spacing:-.8px!important}
.admin-topbar p{font-size:14.5px!important;color:var(--v11-mut)!important}
.admin-console .admin-secondary{font-size:13.5px!important;padding:11px 18px!important}
.admin-kicker{font-size:12px!important;color:var(--v11-red-d)!important}
.admin-overview-intro h3{font-size:34px!important}
.admin-overview-intro>p{font-size:12.5px!important;color:var(--v11-mut)!important;max-width:none!important}
.admin-metric-grid article,.admin-surface{border-radius:20px!important;border-color:var(--v11-line)!important;box-shadow:var(--v11-shadow)}
.admin-metric-grid article>span{font-size:13px!important;color:var(--v11-mut)!important}
.admin-metric-grid article>strong{font-size:42px!important;letter-spacing:-1.8px!important}
.admin-metric-grid article>small{font-size:12px!important;color:#66758c!important}
.admin-metric-grid .admin-metric-accent{background:linear-gradient(145deg,#ed2038,#ff5a4f)!important;border-color:transparent!important;color:#fff!important}
.admin-metric-grid .admin-metric-accent>span,.admin-metric-grid .admin-metric-accent>small{color:#ffe3e6!important}
.admin-section-heading h3,.admin-directory-heading h3{font-size:18px!important}
.admin-section-heading p,.admin-directory-heading p{font-size:13px!important;color:var(--v11-mut)!important}
.admin-console .admin-text-button{font-size:13px!important;color:var(--v11-red-d)!important;font-weight:700}
.admin-live-label{font-size:11px!important;color:#55657c!important}
.admin-console table{font-size:14px}.admin-console th{font-size:12px!important;color:#55657c!important}
.admin-console td{padding-top:12px;padding-bottom:12px}
.admin-console input,.admin-console select,.admin-console textarea{font-size:15px;border-radius:12px;border:1px solid #c9d3e0}
.admin-console .admin-chart-column small,.admin-console .admin-chart-column span{font-size:11px}

/* ── Pages publiques : lisibilité et cartes ─────────────────────────────── */
.card,.form-card,.result,.public-page section{border-radius:20px}
.cookie-notice{border-radius:20px!important;box-shadow:0 18px 50px rgba(20,36,60,.2)!important}
a{text-underline-offset:3px}
.admin-surface small,.admin-surface li small,.admin-attention small{font-size:12.5px!important;color:#5b6b82!important}
.admin-chart-column{font-size:12px}

