:root{font-family:Inter,system-ui,sans-serif;color:#102c5c;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.page-shell{width:min(1180px,calc(100% - 32px));margin:32px auto 64px}.page-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.eyebrow{margin:0 0 8px;color:#e10514;font-size:12px;font-weight:800;letter-spacing:.12em}.page-hero h1,.section-title h2{margin:0}.page-hero p:not(.eyebrow){color:#64748b;margin:10px 0 0}.card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 35px #102c5c12}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:14px;align-items:end;margin-bottom:20px}label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:800}input,select{width:100%;padding:12px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;font:inherit;color:#102c5c}.primary{display:inline-block;border:0;border-radius:10px;padding:12px 16px;background:#e10514;color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.secondary{display:inline-block;border:0;border-radius:10px;padding:12px 16px;background:#e8eef7;color:#102c5c;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.status,.muted{color:#64748b;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid #edf1f6}th{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em}td{color:#334155}.station-name{font-weight:800;color:#102c5c}.station-sub{display:block;color:#64748b;font-size:12px;margin-top:4px}.price{font-weight:800;color:#e10514}.service{display:inline-block;background:#eef5ff;color:#24538a;border-radius:999px;padding:4px 8px;margin:2px;font-size:11px}.empty{text-align:center;color:#64748b;padding:32px}.auth{width:min(560px,calc(100% - 32px));margin:48px auto}.auth h1{margin:0 0 8px}.auth .lead{color:#64748b;margin:0 0 24px}.auth form{display:grid;gap:16px}.auth label{display:grid;gap:7px}.auth .links{margin-top:22px;color:#64748b}.auth .links a{color:#e10514;font-weight:800}.check{display:flex!important;grid-template-columns:auto 1fr;gap:10px;align-items:start;color:#64748b;font-size:13px}.check input{width:auto;margin-top:3px}.error{background:#fff1f2;color:#be123c;border-radius:10px;padding:12px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.account-form{display:grid;gap:16px}.account-form label{display:grid;gap:7px}.account-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.badge{display:inline-block;background:#fff1cc;color:#8a5b00;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.subpage-body{padding-top:86px}.subpage-body #scrim{position:fixed;inset:0;z-index:30;background:#0b1f3366}.subpage-body .drawer{position:fixed;top:0;left:0;bottom:0;z-index:40;width:min(340px,88vw);background:#fff;box-shadow:15px 0 40px #0b1f3326}.subpage-body .drawer-nav{display:grid;gap:8px;padding:20px}.subpage-body .drawer-nav a{padding:14px 16px;border-radius:10px;color:#0b1f33;text-decoration:none;font-weight:700}.subpage-body .drawer-nav a:hover{background:#eef5ff}@media(max-width:800px){.page-hero{display:block}.page-hero .primary{margin-top:18px}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}}


/* ============================================================
   BREADCRUMB
   ============================================================ */

.subpage-body .breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 20px;
    padding:0;
    color:#94a3b8;
    font-size:13px;
    line-height:1.4;
}

.subpage-body .breadcrumb a{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:9px;
    background:#fff;
    border:1px solid #e4ebf3;
    color:#24538a;
    text-decoration:none;
    font-weight:800;
    box-shadow:0 4px 12px rgba(16,44,92,.04);
    transition:background .14s ease,border-color .14s ease,color .14s ease;
}

.subpage-body .breadcrumb a:hover{
    background:#eef5ff;
    border-color:#d5e2f0;
    color:#102c5c;
    text-decoration:none;
}

.subpage-body .breadcrumb > span{
    color:#c0cad8;
    font-weight:700;
}

.subpage-body .breadcrumb strong{
    color:#102c5c;
    font-weight:800;
}



/* ============================================================
   STATION BREADCRUMB
   ============================================================ */

.station-app .station-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 22px;
    color:#94a3b8;
    font-size:13px;
    line-height:1.4;
}

.station-app .station-breadcrumb a{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border:1px solid #e4ebf3;
    border-radius:9px;
    background:#fff;
    color:#24538a;
    text-decoration:none;
    font-weight:800;
    box-shadow:0 4px 12px rgba(16,44,92,.04);
    transition:background .14s ease,border-color .14s ease,color .14s ease;
}

.station-app .station-breadcrumb a:hover{
    background:#eef5ff;
    border-color:#d5e2f0;
    color:#102c5c;
    text-decoration:none;
}

.station-app .station-breadcrumb > span{
    color:#c0cad8;
    font-weight:700;
}

.station-app .station-breadcrumb strong{
    max-width:min(100%,420px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#102c5c;
    font-weight:800;
}



.stations-table .station-name-link{
    display:block;
    text-decoration:none;
}

.stations-table .station-name-link:hover{
    color:#e10514;
    text-decoration:none;
}

.stations-table .station-favorite{
    position:relative;
    z-index:2;
}


/* Navigation secondaire */
.drawer-group{display:grid;gap:4px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #edf1f6}
.drawer-group-end{border-bottom:0;margin-bottom:0;padding-bottom:0}
.drawer-group-title{padding:0 16px 6px;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.drawer-group a{display:block}
.drawer-submenu{margin:0}
.drawer-submenu summary{padding:14px 16px;border-radius:10px;color:#0b1f33;text-decoration:none;font-weight:700;cursor:pointer;list-style:none}
.drawer-submenu summary::-webkit-details-marker{display:none}
.drawer-submenu summary::after{content:'›';float:right;color:#94a3b8;transition:transform .15s ease}
.drawer-submenu[open] summary{background:#f4f7fb}
.drawer-submenu[open] summary::after{transform:rotate(90deg)}
.drawer-submenu-links{display:grid;gap:2px;padding:2px 0 2px 12px}
.drawer-submenu-links a{padding:10px 16px;font-size:13px;color:#475569}
.drawer-submenu-links a:hover{background:#eef5ff}
.drawer-developer{border-bottom:0;padding:0;margin-top:-4px}
.drawer-developer summary{color:#64748b;font-size:13px}

/* Administration */
.admin-shell{width:min(1240px,calc(100% - 32px));margin:32px auto 64px}
.admin-hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.admin-stat{position:relative;overflow:hidden}
.admin-stat::after{content:'';position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;background:#eef5ff}
.admin-stat-label{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.admin-stat-value{display:block;margin-top:8px;color:#102c5c;font-size:30px;line-height:1;font-weight:900}
.admin-stat-meta{display:block;margin-top:9px;color:#94a3b8;font-size:12px}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.admin-list{display:grid;gap:0}
.admin-list-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid #edf1f6}
.admin-list-row:last-child{border-bottom:0}
.admin-list-main{font-weight:800;color:#102c5c}
.admin-list-sub{display:block;margin-top:3px;color:#64748b;font-size:12px}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.admin-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#eef5ff;color:#24538a;font-size:12px;font-weight:800}
.admin-form{display:grid;gap:14px}
.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.admin-panel-title{margin:0 0 6px;color:#102c5c;font-size:18px}
.admin-note{margin:0;color:#64748b;font-size:13px;line-height:1.5}
.admin-section{margin-top:18px}
.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-field{display:grid;gap:7px}
.admin-field-wide{grid-column:1/-1}
.admin-back{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:#e10514;font-weight:800}
.api-doc-shell{width:min(1120px,calc(100% - 32px));margin:32px auto 72px}
.api-doc-hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.api-doc-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef5ff;color:#24538a;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.api-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.api-endpoint{border:1px solid #e4ebf3;border-radius:14px;padding:18px;background:#fff}
.api-method{display:inline-flex;padding:5px 8px;border-radius:7px;background:#102c5c;color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em}
.api-route{display:block;margin-top:10px;padding:11px 12px;background:#f4f7fb;border:1px solid #e7edf4;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#102c5c;overflow:auto}
.api-description{margin:10px 0 0;color:#64748b;font-size:13px}
.api-code-block{margin-top:14px;padding:14px;border-radius:12px;background:#0f172a;color:#e2e8f0;overflow:auto;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}
.api-table-wrap{overflow:auto}
.api-table{width:100%;min-width:640px;border-collapse:collapse}
.api-table th,.api-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf1f6}
.api-table th{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.api-table td{color:#334155;font-size:13px}
.api-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.api-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.api-plan-card{background:#fff;border:1px solid #e4ebf3;border-radius:14px;padding:18px}
.api-plan-card.is-free{border-color:#cfe0f2}
.api-plan-card h3{margin:0;color:#102c5c}
.api-plan-price{margin:7px 0 12px;font-size:22px;font-weight:900;color:#e10514}
.api-plan-list{display:grid;gap:7px;margin:0;padding:0;list-style:none;color:#475569;font-size:12px}
.api-plan-list strong{color:#102c5c}
.api-callout{border-left:4px solid #e10514;background:#fff7f7;padding:14px 16px;border-radius:10px;color:#475569;font-size:13px}
.api-callout strong{color:#102c5c}
.api-anchor-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.api-anchor-nav a{display:inline-flex;padding:8px 11px;border-radius:999px;background:#eef5ff;color:#24538a;font-size:12px;font-weight:800}
.api-anchor-nav a:hover{text-decoration:none;background:#e2ecfb}
@media(max-width:980px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.api-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-hero,.api-doc-hero{display:block}.admin-actions{margin-top:16px}.admin-settings-grid,.api-doc-grid{grid-template-columns:1fr}.api-plan-grid{grid-template-columns:1fr}.admin-shell,.api-doc-shell{width:min(100% - 24px,1180px);margin-top:22px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat-value{font-size:25px}}

.account-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;padding:6px;background:#fff;border:1px solid #e4ebf3;border-radius:14px;box-shadow:0 8px 24px #102c5c0a;position:sticky;top:96px;z-index:8}
.account-subnav a{display:inline-flex;padding:9px 12px;border-radius:9px;color:#334155;text-decoration:none;font-size:12px;font-weight:800}
.account-subnav a:hover{background:#eef5ff;color:#102c5c}
.account-subnav .is-planned{color:#94a3b8}
.account-planned-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.account-planned{min-height:170px;opacity:.86}
.account-planned h2{margin:0 0 8px;color:#102c5c}
.account-planned .eyebrow{color:#94a3b8}
@media(max-width:980px){.account-planned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-subnav{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none}.account-subnav::-webkit-scrollbar{display:none}.account-subnav a{white-space:nowrap}.account-planned-grid{grid-template-columns:1fr}}


/* ============================================================
   FORM / LINK POLISH
   ============================================================ */

input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    width:19px;
    height:19px;
    min-height:19px;
    flex:0 0 19px;
    margin:0;
    padding:0;
    border:1.5px solid #cbd5e1;
    border-radius:6px;
    background:#fff;
    display:inline-grid;
    place-content:center;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(16,44,92,.05);
    transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;
}

input[type="checkbox"]::before{
    content:"";
    width:9px;
    height:5px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg) scale(0);
    transform-origin:center;
    transition:transform .12s ease;
    margin-top:-2px;
}

input[type="checkbox"]:checked{
    background:#102c5c;
    border-color:#102c5c;
    box-shadow:0 3px 9px rgba(16,44,92,.18);
}

input[type="checkbox"]:checked::before{
    transform:rotate(-45deg) scale(1);
}

input[type="checkbox"]:hover{
    border-color:#94a3b8;
}

input[type="checkbox"]:focus-visible{
    outline:3px solid rgba(16,44,92,.12);
    outline-offset:2px;
}

.account-checkbox{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row;
    align-items:center!important;
    gap:10px!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    cursor:pointer;
}

.account-checkbox input[type="checkbox"]{
    width:19px!important;
    height:19px!important;
    min-height:19px!important;
}

.account-shell a{
    text-decoration:none;
}

.account-shell a:hover{
    text-decoration:none;
}

.account-overview-value a{
    color:#102c5c;
}

.account-planned-card{
    color:inherit;
    text-decoration:none!important;
    transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}

.account-planned-card:hover{
    text-decoration:none!important;
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(16,44,92,.08);
    border-color:#d5dfeb;
}

.account-planned-card h2,
.account-planned-card p{
    text-decoration:none!important;
}

/* ============================================================
   MAPOMPE ACCOUNT / ADMIN / API - POLISH
   ============================================================ */

.drawer-head-sub{display:block;margin-top:3px;color:#94a3b8;font-size:11px;font-weight:600;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-nav .drawer-group a{display:flex;align-items:center;gap:10px}
.drawer-link-icon{width:22px;flex:0 0 22px;text-align:center;color:#64748b;font-size:15px}
.drawer-summary-left{display:flex;align-items:center;gap:10px}
.drawer-item-soon{margin-left:auto;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#94a3b8;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.drawer-submenu-links a{display:flex!important;align-items:center;gap:8px}
.drawer-submenu-links a:hover .drawer-item-soon{background:#e2e8f0}
.drawer-developer{border-top:1px solid #edf1f6;padding-top:8px;margin-top:2px}

/* ============================================================
   COMPTE
   ============================================================ */

.account-shell{width:min(1180px,calc(100% - 32px));margin:32px auto 72px}
.account-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:28px 30px;background:linear-gradient(135deg,#102c5c 0%,#0b1f33 100%);border-radius:24px;box-shadow:0 18px 45px rgba(11,31,51,.16);color:#fff}
.account-hero .eyebrow{color:#b9cae0}
.account-hero h1{margin:0;font-size:34px;letter-spacing:-.03em}
.account-hero>div:first-child>p:last-child{max-width:640px;margin:10px 0 0;color:#c7d3e0}
.account-hero .secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16)}
.account-hero-user{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07);min-width:250px}
.account-hero-user strong,.account-hero-user span{display:block}
.account-hero-user strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.account-hero-user span{margin-top:2px;color:#b9c8d8;font-size:11px}
.account-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#102c5c;font-weight:900}
.account-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.account-overview-card{display:flex;align-items:center;gap:13px;padding:17px 18px;background:#fff;border:1px solid #e4ebf3;border-radius:17px;box-shadow:0 8px 24px rgba(16,44,92,.05)}
.account-overview-card-primary{border-color:#dbe7f4;background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%)}
.account-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;color:#24538a;font-size:18px}
.account-overview-label{display:block;color:#94a3b8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.account-overview-value{display:block;margin-top:4px;color:#102c5c;font-size:17px;font-weight:900}
.account-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px;align-items:start}
.account-main-column,.account-side-column{display:grid;gap:18px}
.account-card{padding:24px}
.account-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.account-card-head h2{margin:0;color:#102c5c;font-size:21px;letter-spacing:-.02em}
.account-note{margin:7px 0 0;color:#64748b;font-size:13px;line-height:1.55}
.account-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-feature{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:76px;padding:14px 15px;border:1px solid #e4ebf3;border-radius:15px;text-decoration:none;background:#fff;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.account-feature:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(16,44,92,.07);border-color:#cedbea;text-decoration:none}
.account-feature-active{border-color:#d7e4f2}
.account-feature-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f4f7fb;color:#24538a;font-size:17px}
.account-feature strong{display:block;color:#102c5c;font-size:13px}
.account-feature small{display:block;margin-top:3px;color:#64748b;font-size:11px;line-height:1.35}
.account-feature-arrow{color:#e10514;font-size:19px;font-weight:800}
.account-feature-status{padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase}
.account-profile-list{display:grid;gap:0}
.account-profile-list>div{padding:12px 0;border-bottom:1px solid #edf1f6}
.account-profile-list>div:last-child{border-bottom:0}
.account-profile-list span{display:block;color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.account-profile-list strong{display:block;margin-top:4px;color:#334155;font-size:13px;word-break:break-word}
.account-form{display:grid;gap:14px}
.account-form label{display:grid;gap:7px}
.account-form input,.account-form select{min-height:44px}
.account-quiet-card{display:flex;gap:12px;padding:17px 18px;background:#f7fafc;border:1px solid #e4ebf3;border-radius:16px}
.account-quiet-icon{font-size:18px}
.account-quiet-card strong{display:block;color:#102c5c;font-size:13px}
.account-quiet-card p{margin:4px 0 0;color:#64748b;font-size:11px;line-height:1.5}
.account-admin-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;background:#102c5c;color:#fff;border-radius:16px;text-decoration:none}
.account-admin-card:hover{text-decoration:none;transform:translateY(-1px)}
.account-admin-card span{font-size:18px}
.account-admin-card strong,.account-admin-card small{display:block}
.account-admin-card strong{font-size:13px}
.account-admin-card small{margin-top:2px;color:#c5d2df;font-size:10px}
.account-admin-card b{color:#fff;font-size:18px}
.account-planned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.account-planned-card{display:flex;gap:15px;min-height:175px;padding:20px}
.account-planned-card h2{margin:0;color:#102c5c;font-size:18px}
.account-planned-card p:not(.eyebrow){margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.55}
.account-planned-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#f4f7fb;font-size:18px}
.account-alert{display:flex;gap:8px;align-items:center;padding:13px 16px;border-radius:13px;margin-bottom:18px;font-size:13px}.account-alert[hidden]{display:none!important}
.account-alert-success{background:#ecfdf5;color:#166534;border:1px solid #d1fae5}
.account-alert-error{background:#fff1f2;color:#be123c;border:1px solid #ffe4e6}
.account-api-secret{padding:22px;background:linear-gradient(135deg,#eef5ff,#f8fbff);border:1px solid #d7e5f4;border-radius:18px;margin-bottom:18px}
.account-api-secret h2{margin:0;color:#102c5c}
.account-api-secret p:not(.eyebrow){color:#64748b;font-size:12px}
.account-secret-value{display:flex;gap:10px;align-items:center;padding:12px;background:#102c5c;color:#fff;border-radius:12px;overflow:auto}
.account-secret-value code{flex:1;min-width:0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.account-copy-button{background:#fff;color:#102c5c;flex:0 0 auto}
.api-account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.api-account-plan-card{padding:24px;border-radius:20px;background:linear-gradient(135deg,#102c5c 0%,#183f70 100%);color:#fff;box-shadow:0 14px 36px rgba(16,44,92,.16)}
.api-account-plan-top{display:flex;justify-content:space-between;gap:20px}
.api-account-plan-top h2{margin:4px 0 0;font-size:28px;letter-spacing:-.03em}
.api-account-plan-top .account-overview-label{color:#b9c8d8}
.account-plan-price{padding:7px 10px;height:max-content;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800}
.api-quota{margin-top:24px}
.api-quota-head{display:flex;justify-content:space-between;gap:12px;color:#d7e1eb;font-size:12px}
.api-quota-head strong{color:#fff}
.api-quota-track{height:8px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}
.api-quota-track span{display:block;height:100%;border-radius:999px;background:#fff}
.api-quota p{margin:7px 0 0;color:#b9c8d8;font-size:10px}
.api-limit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.api-limit-grid>div{padding:11px 12px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.06)}
.api-limit-grid span{display:block;color:#b9c8d8;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.api-limit-grid strong{display:block;margin-top:4px;color:#fff;font-size:13px}
.api-security-note{display:flex;gap:9px;margin-top:16px;padding:12px;border-radius:12px;background:rgba(255,255,255,.07)}
.api-security-note p{margin:0;color:#cbd7e3;font-size:10px;line-height:1.45}
.api-key-list{display:grid;gap:8px}
.api-key-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e5ebf2;border-radius:13px;background:#fbfcfe}
.api-key-row.is-revoked{opacity:.6}
.api-key-main{min-width:0}
.api-key-main strong,.api-key-main code,.api-key-main span{display:block}
.api-key-main strong{color:#102c5c;font-size:12px}
.api-key-main code{margin-top:4px;color:#475569;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis}
.api-key-main span{margin-top:3px;color:#94a3b8;font-size:10px}
.api-create-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:13px}
.api-create-form label{display:grid;gap:6px}
.api-create-form input{min-height:44px}
.api-empty{padding:22px 10px;text-align:center;color:#64748b}
.api-empty span{display:block;font-size:25px}
.api-empty strong{display:block;margin-top:5px;color:#102c5c}
.api-empty p{margin:4px 0 0;font-size:11px}
.account-api-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}

/* ============================================================
   ADMINISTRATION
   ============================================================ */

.admin-hero{padding:27px 30px;border-radius:24px;background:linear-gradient(135deg,#102c5c 0%,#0b1f33 100%);color:#fff;box-shadow:0 18px 45px rgba(11,31,51,.15)}
.admin-hero .eyebrow{color:#b9c8d8}
.admin-hero h1{font-size:32px;letter-spacing:-.03em}
.admin-hero>div:first-child p:last-child{color:#c7d3e0}
.admin-hero .primary{box-shadow:none}
.admin-stat{border:1px solid #e3eaf2!important;box-shadow:0 8px 24px rgba(16,44,92,.05)!important}
.admin-stat:nth-child(1) .admin-stat-value{color:#102c5c}
.admin-stat:nth-child(2) .admin-stat-value{color:#24538a}
.admin-stat:nth-child(3) .admin-stat-value{color:#e10514}
.admin-stat:nth-child(4) .admin-stat-value{color:#16863c}
.admin-list-row{transition:background .12s ease}
a.admin-list-row:hover{background:#f8fafc;text-decoration:none;padding-left:8px;padding-right:8px;border-radius:10px}
.admin-list-row .admin-list-main{font-size:13px}
.admin-panel-title{font-size:19px;letter-spacing:-.015em}
.admin-chip{background:#f0f6fd}
.admin-field input,.admin-field select{min-height:44px}
.admin-section .card{overflow:hidden}

/* ============================================================
   API DOCUMENTATION
   ============================================================ */

.api-doc-shell{width:min(1160px,calc(100% - 32px));margin:32px auto 72px}
.api-doc-hero{padding:30px;border-radius:24px;background:linear-gradient(135deg,#102c5c 0%,#0b1f33 100%);color:#fff;box-shadow:0 18px 45px rgba(11,31,51,.15)}
.api-doc-hero .api-doc-badge{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.10)}
.api-doc-hero h1{font-size:34px;letter-spacing:-.03em}
.api-doc-hero p{color:#c7d3e0;max-width:660px}
.api-doc-hero .secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.15)}
.api-anchor-nav{position:sticky;top:12px;z-index:10;padding:8px;background:rgba(244,247,251,.88);backdrop-filter:blur(12px);border:1px solid #e4ebf3;border-radius:15px;box-shadow:0 8px 22px rgba(16,44,92,.06)}
.api-anchor-nav a{color:#334155;background:#fff;border:1px solid #e4ebf3}
.api-anchor-nav a:hover{background:#eef5ff;color:#102c5c}
.api-doc-shell>.card{border:1px solid #e4ebf3;box-shadow:0 10px 28px rgba(16,44,92,.055);border-radius:20px}
.api-code-block{border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.api-route{font-size:13px;font-weight:800}
.api-table th{background:#f8fafc}
.api-table tbody tr:hover{background:#fbfcfe}
.api-plan-card{position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(16,44,92,.04)}
.api-plan-card.is-free{background:linear-gradient(180deg,#f9fbff,#fff)}
.api-plan-card:not(.is-free){border-color:#dbe5f0}
.api-plan-card:nth-child(3){border-color:#c7d8ea;box-shadow:0 12px 28px rgba(16,44,92,.08)}
.api-plan-price small{font-size:11px;color:#64748b;font-weight:700}
.api-callout{border-left-width:3px}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:980px){
    .account-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .account-layout{grid-template-columns:1fr}
    .api-account-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
    .account-shell{width:min(100% - 24px,1180px);margin-top:22px}
    .account-hero{display:block;padding:22px;border-radius:20px}
    .account-hero h1{font-size:28px}
    .account-hero-user{margin-top:16px;min-width:0}
    .account-overview-grid{grid-template-columns:1fr 1fr;gap:9px}
    .account-overview-card{padding:13px}
    .account-card-icon{width:36px;height:36px}
    .account-feature-grid,.account-planned-grid,.account-api-links{grid-template-columns:1fr}
    .api-create-form{grid-template-columns:1fr}
    .api-key-row{grid-template-columns:1fr}
    .api-key-row form{justify-self:start}
    .admin-hero,.api-doc-hero{padding:22px;border-radius:20px}
    .api-doc-hero h1{font-size:28px}
}


/* ============================================================
   ABONNEMENT API
   ============================================================ */

.api-subscription-card{
    padding:26px;
    margin-top:18px;
}

.api-subscription-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding-bottom:20px;
    border-bottom:1px solid #e8edf3;
}

.api-subscription-header h2{
    margin:2px 0 0;
    color:#102c5c;
    font-size:23px;
    letter-spacing:-.02em;
}

.api-billing-manage-form{
    flex:0 0 auto;
}

.api-plan-selector{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:20px;
    align-items:stretch;
}

.api-plan-choice{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:20px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 22px rgba(16,44,92,.045);
    transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}

.api-plan-choice:hover{
    border-color:#cbd8e7;
    box-shadow:0 12px 28px rgba(16,44,92,.075);
    transform:translateY(-1px);
}

.api-plan-choice.is-current{
    border:2px solid #102c5c;
    padding:19px;
    background:linear-gradient(180deg,#f7faff 0%,#fff 100%);
    box-shadow:0 12px 30px rgba(16,44,92,.10);
}

.api-plan-choice-free{
    background:#fbfcfe;
}

.api-plan-choice-pro{
    border-color:#cbd9e8;
}

.api-plan-choice-topline{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    min-height:72px;
}

.api-plan-choice-heading{
    min-width:0;
}

.api-plan-choice-name{
    display:block;
    color:#64748b;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.api-plan-choice-price-wrap{
    display:flex;
    align-items:baseline;
    gap:5px;
    margin-top:5px;
}

.api-plan-choice-price{
    color:#102c5c;
    font-size:27px;
    line-height:1.05;
    letter-spacing:-.04em;
}

.api-plan-choice-period{
    color:#64748b;
    font-size:11px;
    font-weight:700;
}

.api-current-badge,
.api-plan-badge{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    font-size:9px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    white-space:nowrap;
}

.api-current-badge{
    background:#102c5c;
    color:#fff;
}

.api-plan-badge{
    background:#eef5ff;
    color:#24538a;
    border:1px solid #dce8f6;
}

.api-plan-choice-limits{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:17px;
}

.api-plan-limit{
    padding:10px 11px;
    border:1px solid #e9eef4;
    border-radius:11px;
    background:#f8fafc;
}

.api-plan-limit span{
    display:block;
    color:#94a3b8;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.api-plan-limit strong{
    display:block;
    margin-top:4px;
    color:#334155;
    font-size:12px;
    font-weight:900;
}

.api-plan-choice-action{
    margin-top:auto;
    padding-top:18px;
}

.api-plan-choice-action form,
.api-plan-choice-action button{
    width:100%;
}

.api-plan-choice-action button{
    min-height:42px;
}

.api-plan-choice-action button:disabled{
    opacity:.55;
    cursor:default;
}

.api-billing-info{
    display:flex;
    gap:11px;
    align-items:flex-start;
    margin-top:18px;
    padding:13px 15px;
    border-radius:13px;
    background:#f7fafc;
    border:1px solid #e4ebf3;
}

.api-billing-info-icon{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:9px;
    background:#eef5ff;
    font-size:14px;
}

.api-billing-info strong{
    display:block;
    color:#102c5c;
    font-size:12px;
}

.api-billing-info p{
    margin:3px 0 0;
    color:#64748b;
    font-size:11px;
    line-height:1.5;
}

@media(max-width:1100px){
    .api-plan-selector{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .api-subscription-card{
        padding:20px;
    }

    .api-subscription-header{
        display:block;
    }

    .api-billing-manage-form{
        margin-top:14px;
    }

    .api-billing-manage-form button{
        width:100%;
    }

    .api-plan-selector{
        grid-template-columns:1fr;
    }

    .api-plan-choice{
        padding:18px;
    }

    .api-plan-choice.is-current{
        padding:17px;
    }
}

/* Push notifications */
.account-push-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}.account-push-box>div{display:flex;flex-direction:column;gap:5px;min-width:0}.account-push-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.account-push-actions .primary,.account-push-actions .secondary{min-height:44px}.account-push-box strong{color:var(--navy);font-size:15px}.account-push-box span{color:var(--muted);font-size:13px;line-height:1.4}@media(max-width:767px){.account-push-box{align-items:stretch;flex-direction:column}.account-push-actions{display:grid;grid-template-columns:1fr;width:100%}.account-push-actions .primary,.account-push-actions .secondary{width:100%}}

/* Notification preferences */
.account-notification-form{display:grid;gap:10px;margin-top:16px}
.account-notification-section{display:grid;gap:12px;padding:14px 0;border-top:1px solid #edf1f6}
.account-notification-section>div:first-child{display:grid;gap:4px}
.account-notification-section strong{color:var(--navy);font-size:13px}
.account-notification-section span{color:var(--muted);font-size:11px;line-height:1.45}
.account-notification-section select,
.account-notification-section input[type=time]{min-height:40px}
.account-switch{display:flex!important;align-items:center;justify-content:space-between;gap:12px!important;min-height:40px;padding:9px 11px;border:1px solid #e4ebf3;border-radius:11px;background:#f8fafc;color:var(--navy)!important}
.account-switch input{width:18px!important;height:18px;min-height:0!important;accent-color:#102c5c}
.account-switch span{color:var(--navy)!important;font-size:11px!important;font-weight:800}
.account-notification-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.account-notification-inline>label{display:grid;gap:6px}
.account-notification-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:14px;border-top:1px solid #edf1f6}
.account-notification-actions .primary,
.account-notification-actions .secondary{text-align:center;min-height:44px}
@media(max-width:767px){
  .account-notification-inline{grid-template-columns:1fr}
  .account-notification-actions{grid-template-columns:1fr}
}

/* Notification center */
.account-notification-summary{overflow:hidden}
.account-notification-hub{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px 16px;border:1px solid #dce6f1;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#f5f9fd 100%);text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.account-notification-hub:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,44,92,.07);border-color:#cbd9e8;text-decoration:none}
.account-notification-hub-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;font-size:18px}
.account-notification-hub strong{display:block;color:var(--navy);font-size:13px}
.account-notification-hub small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.notification-center-shell{width:min(900px,calc(100% - 24px));margin:30px auto 70px}
.notification-center-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:22px;background:linear-gradient(135deg,#102c5c 0%,#0b1f33 100%);color:#fff;box-shadow:0 16px 38px rgba(11,31,51,.15)}
.notification-center-hero h1{margin:0;font-size:28px;letter-spacing:-.03em}
.notification-center-hero p{margin:7px 0 0;color:#c7d3e0;font-size:12px;line-height:1.5}
.notification-center-back{color:#fff;text-decoration:none;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;white-space:nowrap}
.notification-center-grid{display:grid;gap:14px;margin-top:16px}
.notification-center-card{padding:20px;border:1px solid #e4ebf3;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,44,92,.045)}
.notification-center-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.notification-center-card-title{display:flex;gap:12px;align-items:center}
.notification-center-card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;font-size:18px}
.notification-center-card h2{margin:0;color:var(--navy);font-size:16px}
.notification-center-card p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.notification-center-controls{display:grid;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid #edf1f6}
.notification-center-control{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:13px;background:#f8fafc}
.notification-center-control>div:first-child{min-width:0}
.notification-center-control strong{display:block;color:var(--navy);font-size:12px}
.notification-center-control small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.notification-center-control select,.notification-center-control input[type=time]{min-height:40px}
.notification-center-switch{position:relative;display:inline-flex!important;align-items:center;flex:0 0 auto;cursor:pointer}
.notification-center-switch input{position:absolute;opacity:0;width:1px;height:1px}
.notification-center-switch span{display:block;width:46px;height:27px;border-radius:999px;background:#cbd5e1;position:relative;transition:background .15s ease}
.notification-center-switch span:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.2);transition:transform .15s ease}
.notification-center-switch input:checked+span{background:#102c5c}
.notification-center-switch input:checked+span:after{transform:translateX(19px)}
.notification-center-inline{display:flex;align-items:center;gap:10px}
.notification-center-select{display:grid;gap:5px;min-width:130px}
.notification-center-select span{color:var(--muted);font-size:10px;font-weight:800}
.notification-center-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid #edf1f6}
.notification-center-actions .primary{min-height:44px}
.notification-center-device{display:grid;gap:10px}
.notification-center-device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e4ebf3;border-radius:13px;background:#f8fafc}
.notification-center-device-row strong{display:block;color:var(--navy);font-size:12px}
.notification-center-device-row small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
@media(max-width:700px){
 .notification-center-shell{margin-top:18px}
 .notification-center-hero{display:block;padding:21px}
 .notification-center-back{display:inline-block;margin-top:15px}
 .notification-center-card{padding:17px}
 .notification-center-control{align-items:flex-start}
 .notification-center-inline{flex-direction:column;align-items:stretch}
 .notification-center-actions{display:grid}
 .notification-center-actions .primary{width:100%}
}


/* Mes pleins : formulaire + historique côte à côte */
.account-fills-layout{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start}
.account-fills-form-column,.account-fills-history-column{display:grid;gap:18px;min-width:0}
.account-fills-history-column .account-card{position:sticky;top:110px}
@media(max-width:980px){
  .account-fills-layout{grid-template-columns:1fr}
  .account-fills-history-column .account-card{position:static}
}


.account-station-picker{position:relative}
.account-station-picker>label small{font-size:10px;color:#94a3b8;font-weight:700}
.account-station-results{position:relative;margin-top:6px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(16,44,92,.10);overflow:hidden;z-index:20}
.account-station-result{display:grid;width:100%;gap:3px;padding:11px 13px;text-align:left;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:#102c5c;cursor:pointer;font:inherit}
.account-station-result:last-child{border-bottom:0}
.account-station-result:hover{background:#f4f8fc}
.account-station-result strong{font-size:13px}
.account-station-result small{font-size:11px;color:#64748b}
.account-station-empty{padding:12px;color:#64748b;font-size:12px}
.account-station-selected{margin:7px 0 0;color:#16863c;font-size:11px;font-weight:800}

/* Station picker - finition UI */
.account-station-picker{position:relative}
.account-station-picker .account-station-label{display:flex!important;align-items:center;gap:8px;margin-bottom:7px}
.account-station-picker .account-station-label small{display:inline-flex!important;align-items:center;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:9px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.account-station-picker>label{display:block!important}
.account-station-picker #fillStationSearch{width:100%;box-sizing:border-box}
.account-station-results{position:absolute;left:0;right:0;top:100%;margin-top:7px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;box-shadow:0 16px 36px rgba(16,44,92,.14);overflow:hidden;z-index:100;max-height:300px;overflow-y:auto}
.account-station-result{appearance:none!important;-webkit-appearance:none!important;display:block!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:12px 14px!important;text-align:left!important;border:0!important;border-bottom:1px solid #edf1f6!important;border-radius:0!important;background:#fff!important;color:#102c5c!important;cursor:pointer!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.35!important;box-shadow:none!important}
.account-station-result:last-child{border-bottom:0!important}
.account-station-result:hover,.account-station-result:focus{background:#f6f9fc!important;outline:none!important}
.account-station-result strong{display:block!important;margin:0!important;color:#102c5c!important;font-size:13px!important;font-weight:800!important}
.account-station-result small{display:block!important;margin-top:3px!important;color:#718096!important;font-size:10px!important;font-weight:500!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-station-empty{padding:13px 14px;color:#64748b;font-size:11px;background:#fff}
.account-station-selected{margin:8px 0 0;padding:7px 10px;border-radius:9px;background:#effaf3;color:#16863c;font-size:10px;font-weight:800}


/* ============================================================
   STATIONS PAGE - ACTIONS / FILTER TOGGLE
   ============================================================ */

.page-hero-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex:0 0 auto;
}

.page-hero-actions .primary,
.page-hero-actions .secondary{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.page-hero-locate{
    border:1px solid #d7e1ec;
    background:#fff;
    color:#102c5c;
    box-shadow:0 6px 18px rgba(16,44,92,.06);
}

.page-hero-locate:hover{
    background:#f7f9fc;
    border-color:#c8d5e3;
}

.page-hero-locate-icon{
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    font-size:18px;
    line-height:1;
}

.filters .filter-inline-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-height:46px;
    padding:0 4px;
    color:#334155!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap;
    cursor:pointer;
}

.filters .filter-inline-toggle input[type="checkbox"]{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    flex:0 0 19px!important;
    margin:0!important;
}

.filters .filter-inline-toggle span{
    display:inline!important;
    visibility:visible!important;
    opacity:1!important;
    color:#334155!important;
    line-height:1.2;
}

@media(max-width:800px){
    .page-hero-actions{
        display:flex;
        justify-content:flex-start;
        flex-wrap:wrap;
        margin-top:18px;
    }

    .page-hero-actions .primary,
    .page-hero-actions .secondary{
        flex:1 1 auto;
    }

    .filters .filter-inline-toggle{
        grid-column:1/-1;
        min-height:42px;
    }
}

@media(max-width:520px){
    .page-hero-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .page-hero-actions .primary,
    .page-hero-actions .secondary{
        width:100%;
        min-height:48px;
    }
}


/* Stations - libellé checkbox ouvert maintenant */
.filters .filter-inline-toggle{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:max-content;
    min-width:190px;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    cursor:pointer;
}

.filters .filter-inline-toggle input#openNow{
    display:block!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 19px!important;
}

.filters .filter-inline-toggle .filter-inline-label{
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    visibility:visible!important;
    opacity:1!important;
}


/* ============================================================
   STATIONS FILTER — TOGGLE OUVERTES
   ============================================================ */
.filters{
    grid-template-columns:minmax(260px,2fr) repeat(3,minmax(170px,1fr)) minmax(190px,auto);
}
.filters .filter-inline-toggle{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    align-self:end!important;
    width:100%!important;
    min-width:190px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 4px!important;
    gap:10px!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    cursor:pointer;
}
.filters .filter-inline-toggle input#openNow{
    display:inline-grid!important;
    flex:0 0 19px!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    margin:0!important;
}
.filters .filter-inline-toggle .filter-inline-label{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    visibility:visible!important;
    opacity:1!important;
    overflow:visible!important;
}
@media(max-width:980px){
    .filters{
        grid-template-columns:1fr 1fr!important;
    }
    .filters label:first-child{
        grid-column:1/-1;
    }
    .filters .filter-inline-toggle{
        grid-column:1/-1!important;
        width:max-content!important;
        min-width:190px!important;
    }
}


/* ============================================================
   STATIONS — FILTERS + RESULTS HEADER
   ============================================================ */
.stations-results-card{
    padding:24px 24px 18px;
}
.stations-results-heading{
    min-width:0;
}
.stations-results-heading h2{
    margin:2px 0 5px;
    color:#102c5c;
    font-size:24px;
    line-height:1.15;
    letter-spacing:-.025em;
}
.stations-results-count{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}
.stations-results-card .section-title{
    align-items:center;
    margin-bottom:14px;
}
.stations-results-card .status{
    align-self:flex-end;
    padding-bottom:2px;
}
.stations-table-wrap{
    border:1px solid #e4ebf3;
    border-radius:14px;
    overflow:auto;
}
.stations-table{
    background:#fff;
}
.stations-table thead{
    background:#f7f9fc;
}
.stations-table th{
    padding:13px 14px;
    border-bottom:1px solid #e4ebf3;
}
.stations-table td{
    padding:16px 14px;
}
@media(max-width:700px){
    .stations-results-card{
        padding:20px 16px 14px;
    }
    .stations-results-card .section-title{
        align-items:flex-start;
    }
    .stations-results-heading h2{
        font-size:21px;
    }
}

/* Stations — filtre Ouvert */
.filters .filter-inline-toggle{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-width:90px!important;
    margin:0!important;
    padding:0!important;
}
.filters .filter-inline-toggle .filter-inline-label{
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}
.filters .filter-inline-toggle input#openNow{
    display:grid!important;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    margin:0!important;
    flex:0 0 19px!important;
}




/* Admin console: operational tables and controls */
.admin-console-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:8px;border:1px solid #e4eaf2;border-radius:16px;background:#f8fafc}
.admin-console-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border-radius:10px;color:#334155;font-size:13px;font-weight:800;text-decoration:none}
.admin-console-tabs a:hover{background:#eaf1f8;text-decoration:none}
.admin-console-tabs a.is-active{background:#102c5c;color:#fff}
.admin-message{margin:0 0 18px;padding:13px 16px;border:1px solid #d5e8db;border-radius:12px;font-size:14px;font-weight:700}
.admin-message.is-success{background:#effaf3;color:#166534;border-color:#cbead5}
.admin-message.is-error{background:#fff4f2;color:#9f1239;border-color:#fecdd3}
.admin-table-wrap{width:100%;overflow-x:auto}
.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.admin-table th{padding:11px 12px;background:#f8fafc;color:#475569;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.admin-table td{padding:12px;border-bottom:1px solid #e9eef4;vertical-align:top;color:#334155}
.admin-table td strong,.admin-table td small{display:block}
.admin-table td strong{color:#102c5c;font-weight:850}
.admin-table td small{margin-top:4px;color:#64748b;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.admin-table tr:last-child td{border-bottom:0}
.admin-table form{margin:0}
.admin-search{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.admin-search input{flex:1;min-width:200px}
.admin-record-list{display:grid;gap:12px;margin-top:16px}
.admin-record{border:1px solid #e4eaf2;border-radius:14px;padding:16px;background:#fff}
.admin-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.admin-record-head>div:first-child{min-width:0}
.admin-record-head strong,.admin-record-head span,.admin-record-head small{display:block}
.admin-record-head strong{font-size:14px;color:#102c5c}
.admin-record-head span{margin-top:5px;color:#334155;font-size:12px}
.admin-record-head small{margin-top:4px;color:#64748b;font-size:11px}
.admin-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:850;white-space:nowrap}
.admin-state.is-ok{background:#eaf8ef;color:#166534}
.admin-state.is-bad{background:#fff0f0;color:#b91c1c}
.admin-record-details{margin-top:12px;border-top:1px solid #eef2f7;padding-top:12px}
.admin-record-details>summary{cursor:pointer;color:#24538a;font-size:13px;font-weight:850}
.admin-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.admin-record-form button{align-self:end;min-height:44px}
.admin-price-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(130px,.8fr) minmax(110px,1fr) auto;gap:10px;align-items:end;padding:10px 0;border-top:1px solid #f0f3f7}
.admin-price-row .admin-field{margin:0}
.admin-price-row input,.admin-price-row select{width:100%;min-width:0}
.admin-job-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.admin-job-launch{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:16px}
.admin-job-launch strong{color:#102c5c;font-size:14px}
.admin-job-launch p{flex:1}
.admin-job-launch button{width:100%;margin-top:auto}
.admin-check-list{display:grid;gap:0}
.admin-check-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f6}
.admin-check-row:last-child{border-bottom:0}
.admin-check-row strong,.admin-check-row small{display:block}
.admin-check-row strong{color:#102c5c;font-size:12px}
.admin-check-row small{margin-top:3px;color:#64748b;font-size:11px;overflow-wrap:anywhere}
.admin-check-dot{width:9px;height:9px;border-radius:50%;background:#dc2626}
.admin-check-dot.is-ok{background:#16a34a}
.admin-code,.admin-job-output{max-width:100%;overflow:auto;padding:14px;border-radius:10px;background:#0f172a;color:#dbeafe;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-job-output{margin-top:8px;max-height:360px;min-width:260px}
.admin-table details summary{cursor:pointer;color:#24538a;font-weight:800}
.admin-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:22px 4px;color:#94a3b8;font-size:11px}
.admin-plan-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-plan-admin{min-width:0;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#fbfdff}
.admin-plan-admin h3{margin:0;color:#102c5c;font-size:16px}
.admin-plan-admin h3 small{color:#64748b;font-size:11px}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-plan-admin .admin-field{margin:0}
.admin-plan-admin .admin-check-inline{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:750;color:#475569}
.admin-plan-admin .admin-check-inline input{width:auto;min-height:auto}
.admin-toggle-plan{margin-top:10px;padding-top:10px;border-top:1px solid #e6ecf3}
.admin-action-stack{display:grid;gap:8px;min-width:170px}
.admin-plan-assign{display:grid;gap:6px}
.admin-plan-assign select{min-width:0;max-width:100%}
.admin-action-stack button{white-space:nowrap}
@media(max-width:900px){
 .admin-job-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-plan-admin-grid{grid-template-columns:1fr}
 .admin-price-row{grid-template-columns:1fr 1fr}
 .admin-record-head{display:block}
 .admin-inline-actions{justify-content:flex-start;margin-top:12px}
}
@media(max-width:600px){
 .admin-console-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-console-tabs a{justify-content:center}
 .admin-job-launch-grid{grid-template-columns:1fr}
 .admin-record-form,.admin-form-grid{grid-template-columns:1fr}
 .admin-price-row{grid-template-columns:1fr}
 .admin-footer{display:block}
 .admin-footer span{display:block;margin-top:5px}
 .admin-table{font-size:12px}
 .admin-table td{padding:10px 8px}
}


/* Dashboard-managed schedules */
.admin-schedule-form{display:grid;gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;margin-top:14px}
.admin-schedule-form h3{margin:0;color:#102c5c;font-size:15px}
.admin-schedule-list{display:grid;gap:12px;margin-top:16px}
.admin-schedule-card{padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;min-width:0}
.admin-schedule-card strong{display:block;color:#102c5c;font-size:14px}
.admin-schedule-card small{display:block;margin-top:4px;color:#64748b;font-size:11px}
.admin-schedule-card details{margin-top:14px;border-top:1px solid #edf1f6;padding-top:12px}
.admin-schedule-card details>summary{cursor:pointer;color:#24538a;font-size:13px;font-weight:850}


.admin-static-value{display:block;min-height:40px;padding:10px 2px;color:#102c5c;font-size:13px;font-weight:850}
.admin-job-inline-action{margin-top:8px!important}
.admin-job-inline-action button{font-size:11px;min-height:32px;padding:6px 10px}
.admin-stat-meta+.admin-stat-meta{margin-top:4px}
