:root{--bg:#0f1317;--surface:#171c21;--surface2:#20262c;--line:#2d353d;--text:#f4f7f8;--muted:#9ba8b1;--brand:#43d6c5;--brand2:#7fe6db;--danger:#ffb0a7;--shadow:0 18px 50px rgba(0,0,0,.22)}*{box-sizing:border-box}[hidden]{display:none!important}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;background:radial-gradient(circle at 70% -10%,rgba(67,214,197,.09),transparent 35%),var(--bg)}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#11161a;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px}.brand img{width:42px;height:42px;border-radius:12px}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{font-size:12px;color:var(--brand)}nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:var(--muted);text-align:left;padding:12px 14px;border-radius:10px;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--surface2);color:var(--text)}.sidebar-card{margin-top:auto;background:linear-gradient(145deg,rgba(67,214,197,.13),rgba(67,214,197,.03));border:1px solid rgba(67,214,197,.25);padding:16px;border-radius:16px}.sidebar-card p{font-size:13px;color:var(--muted);line-height:1.45}.content{padding:30px;max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.topbar h1{margin:3px 0 0;font-size:30px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}select,input{background:#10151a;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px 11px}button{cursor:pointer}.primary,.ghost,.icon-btn{border-radius:10px;padding:10px 14px;border:1px solid var(--line)}.primary{background:var(--brand);color:#072b28;border-color:transparent;font-weight:750}.primary:hover{filter:brightness(1.04)}.primary.small{padding:8px 10px;font-size:13px}.ghost,.icon-btn{background:transparent;color:var(--text)}.view{display:none}.view.active{display:block}.hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{padding:20px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:31px;margin:10px 0 6px}.metric.featured{border-color:rgba(67,214,197,.35);background:linear-gradient(145deg,rgba(67,214,197,.14),var(--surface))}.two-col,.section-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px}.section-grid{grid-template-columns:1fr 1fr}.panel{padding:20px}.panel h2{margin:5px 0 16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.highlight-panel{background:linear-gradient(145deg,rgba(67,214,197,.12),var(--surface))}.highlight-panel>p{color:var(--muted);line-height:1.55}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.comparison div{background:rgba(0,0,0,.15);padding:14px;border-radius:12px}.comparison span,.comparison small,.comparison strong{display:block}.comparison span,.comparison small{color:var(--muted);font-size:12px}.comparison strong{font-size:25px;margin:6px 0}.platform-list{display:grid;gap:12px}.platform-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center}.bar{height:8px;background:#0d1115;border-radius:100px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--brand);border-radius:inherit}.platform-row strong{font-variant-numeric:tabular-nums}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}.form-grid .wide{grid-column:1/-1}.form-grid button{justify-self:start}.simple-list{display:grid;gap:8px;max-height:500px;overflow:auto}.simple-item{display:flex;justify-content:space-between;gap:14px;padding:12px;background:#11161a;border-radius:10px}.simple-item span{display:block;color:var(--muted);font-size:12px}.simple-item strong{font-size:14px}.dropzone{border:1px dashed #49606a;border-radius:14px;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;background:#11161a;margin-top:20px}.file-button{display:inline-block}.import-preview{margin-top:18px;padding:15px;background:#11161a;border-radius:12px}.hidden{display:none}.invoice-sheet{background:white;color:#172027;border-radius:10px;padding:26px}.invoice-sheet h3{font-size:25px;margin:0 0 20px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.invoice-total{margin-top:22px;border-top:2px solid #172027;padding-top:12px;font-size:22px;font-weight:800}.mobile-only{display:none}@media(max-width:1050px){.hero-grid{grid-template-columns:repeat(2,1fr)}.two-col,.section-grid{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:-280px;width:255px;transition:.2s}.sidebar.open{left:0}.content{padding:20px 14px}.mobile-only{display:inline-block}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.hero-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.comparison{grid-template-columns:1fr}.metric strong{font-size:28px}}@media print{body>*{display:none!important}.invoice-sheet{display:block!important;position:absolute;left:0;top:0;width:100%;border-radius:0}}
.auth-gate{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 60% 10%,rgba(67,214,197,.12),transparent 35%),#0f1317;display:flex;align-items:center;justify-content:center;padding:22px}.auth-gate.hidden{display:none}.auth-card{width:min(460px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#171c21;border:1px solid #2d353d;border-radius:20px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.38)}.auth-card>img{width:54px;height:54px;border-radius:14px;margin-bottom:18px}.auth-card h1{font-size:30px;line-height:1.1;margin:8px 0 12px}.auth-card>p{color:var(--muted);line-height:1.5}.auth-form{display:grid;gap:12px;margin:20px 0 12px}.auth-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.auth-note{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.auth-error{background:rgba(255,84,84,.12);color:#ffc4c0;border:1px solid rgba(255,84,84,.25);padding:10px;border-radius:10px}.sync-pill{font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#11161a}
.full{width:100%;margin-top:8px}.subtle{color:var(--muted)}#languageSelect,.language-select{min-width:66px}.auth-card .language-select{align-self:flex-end;margin-bottom:4px}.auth-separator{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:14px 0}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}.privacy-pill{font-size:12px;padding:7px 10px;border-radius:999px;background:rgba(67,214,197,.09);border:1px solid rgba(67,214,197,.25);color:var(--brand2)}.dropzone small{color:var(--muted);max-width:500px;text-align:center}.import-preview{display:grid;gap:16px}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.import-summary>div{background:#171c21;border:1px solid var(--line);border-radius:12px;padding:13px}.import-summary span,.import-summary small{display:block;color:var(--muted);font-size:12px}.import-summary strong{display:block;font-size:22px;margin:5px 0}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mapping-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px}.import-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.import-warning{background:rgba(255,184,76,.09);border:1px solid rgba(255,184,76,.25);padding:11px 12px;border-radius:10px;color:#ffd89a;font-size:13px;line-height:1.45}.import-ok{background:rgba(67,214,197,.09);border:1px solid rgba(67,214,197,.25);padding:11px 12px;border-radius:10px;color:var(--brand2);font-size:13px}.import-error{background:rgba(255,84,84,.10);border:1px solid rgba(255,84,84,.25);padding:11px 12px;border-radius:10px;color:#ffc4c0;font-size:13px}.import-history-panel{margin-top:14px}.source-tag{display:inline-block;padding:2px 7px;border-radius:999px;background:#232b31;color:var(--muted);font-size:10px;margin-left:6px}.invoice-status{font-size:11px;border-radius:999px;padding:4px 8px;background:#232b31;color:var(--muted)}.invoice-status.paid{color:var(--brand2);background:rgba(67,214,197,.1)}@media(max-width:900px){.import-summary{grid-template-columns:repeat(2,1fr)}.mapping-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.import-summary,.mapping-grid{grid-template-columns:1fr}}

.muted-copy{color:var(--muted);line-height:1.55}.check-field{border:1px solid var(--line);border-radius:10px;padding:12px}.check-field legend{color:var(--muted);font-size:12px;padding:0 6px}.check-field label{display:inline-flex!important;align-items:center;gap:6px;margin-right:14px;color:var(--text)!important}.check-field input{width:auto}.stack-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.status-box{margin-top:14px;padding:11px 12px;border-radius:10px;background:rgba(67,214,197,.09);border:1px solid rgba(67,214,197,.25);color:var(--brand2)}.import-remove{padding:6px 9px;font-size:11px}.profile-chip{font-size:12px;color:var(--muted);margin-top:8px}

/* v0.6 - séparation claire entre exemples et données réelles */
.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:14px;border:1px solid rgba(255,184,76,.34);background:rgba(255,184,76,.08);border-radius:14px}
.demo-banner.hidden{display:none}.demo-banner strong,.demo-banner span{display:block}.demo-banner span{margin-top:4px;color:#e2c89a;font-size:13px;line-height:1.4}.demo-tag{background:rgba(255,184,76,.13);color:#ffd89a}.gotogo-tag{background:rgba(67,214,197,.12);color:var(--brand2)}
.demo-item{outline:1px solid rgba(255,184,76,.16)}.demo-row td{background:rgba(255,184,76,.025)}.danger-ghost{border-color:rgba(255,110,100,.3);color:#ffb6ae}.danger-ghost:hover{background:rgba(255,84,84,.08)}
.fee-breakdown-wrap{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;margin:6px 0 16px}.fee-breakdown{display:grid;gap:8px;margin-top:9px}.fee-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 11px;background:rgba(0,0,0,.14);border-radius:10px}.fee-row>div:last-child{text-align:right}.fee-row strong,.fee-row span{display:block}.fee-row span{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:760px){.demo-banner{align-items:flex-start;flex-direction:column}.demo-banner button{width:100%}}


/* v0.7 — compte GotoGo réel en lecture seule */
.live-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; margin-bottom:18px; border:1px solid rgba(70,211,197,.30); background:rgba(70,211,197,.07); border-radius:16px; }
.live-banner > div { display:flex; flex-direction:column; gap:4px; }
.live-banner strong { font-size:1.05rem; }
.live-banner span:last-child { color:var(--muted); font-size:.92rem; }
.account-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.account-summary > div { border:1px solid var(--line); border-radius:12px; padding:12px; background:rgba(0,0,0,.12); display:flex; flex-direction:column; gap:5px; }
.account-summary span { color:var(--muted); font-size:.82rem; }
.account-summary strong { font-size:1rem; }
@media (max-width: 760px) { .live-banner { align-items:flex-start; flex-direction:column; } .account-summary { grid-template-columns:1fr; } }

/* v0.8 — comparaison multi-plateforme */
.performance-panel{margin-bottom:14px}.performance-intro{margin-top:-4px;margin-bottom:14px;line-height:1.5}.performance-table td,.performance-table th{white-space:nowrap}.platform-name-cell strong{display:block}.platform-name-cell small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.zero-fee{color:var(--brand2);font-weight:750}.unknown-count{color:var(--muted)}

/* v0.9 — organisations et gestionnaires de flotte */
.fleet-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:14px;border:1px solid rgba(67,214,197,.30);background:linear-gradient(145deg,rgba(67,214,197,.10),rgba(67,214,197,.03));border-radius:16px}.fleet-banner h2{margin:4px 0 3px}.fleet-banner p{margin:0}.fleet-metrics{margin-top:0}.fleet-metrics .metric:nth-child(3) strong{color:var(--brand2)}code{background:#11161a;border:1px solid var(--line);border-radius:6px;padding:2px 6px;color:var(--brand2)}
@media(max-width:760px){.fleet-banner{align-items:flex-start;flex-direction:column}.fleet-banner button{width:100%}}
.auth-info{background:rgba(67,214,197,.09);color:var(--brand2);border:1px solid rgba(67,214,197,.25);padding:10px;border-radius:10px}.auth-reset{margin-top:4px}.fleet-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.fleet-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fleet-tools input{min-width:240px}.fleet-driver-row{cursor:pointer}.fleet-driver-row:hover{background:rgba(67,214,197,.045)}.fleet-driver-row:focus{outline:2px solid rgba(67,214,197,.45);outline-offset:-2px}.row-sub{display:block;color:var(--muted);font-size:11px;margin-top:4px}.status-dot{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#65717a}.status-dot.online{color:var(--brand2)}.status-dot.online:before{background:var(--brand)}.fleet-gift-panel{margin-top:14px;background:linear-gradient(145deg,rgba(67,214,197,.07),var(--surface))}.modal-backdrop{position:fixed;inset:0;z-index:150;background:rgba(2,7,10,.78);display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop.hidden{display:none}.modal-card{width:min(840px,100%);max-height:90vh;overflow:auto;background:#171c21;border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.5);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-head h2{margin:5px 0 2px}.modal-head p{margin:0}.modal-close{padding:7px 10px}.status-line{display:inline-block;margin:14px 0;color:var(--brand2);font-size:13px}.driver-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.driver-detail-grid>div{background:#11161a;border:1px solid var(--line);border-radius:12px;padding:13px}.driver-detail-grid span,.driver-detail-grid small{display:block;color:var(--muted);font-size:11px}.driver-detail-grid strong{display:block;font-size:20px;margin:6px 0}.driver-detail-grid .featured-detail{border-color:rgba(67,214,197,.3);background:rgba(67,214,197,.08)}.driver-rides-block{margin-top:20px}.ride-detail-list{display:grid;gap:8px;margin-top:10px}.ride-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border-radius:10px;background:#11161a}.ride-detail-row div strong,.ride-detail-row div span{display:block}.ride-detail-row div span{font-size:12px;color:var(--muted);margin-top:3px}.detail-loading,.detail-empty{padding:14px;background:#11161a;border-radius:10px;color:var(--muted);font-size:13px}@media(max-width:900px){.driver-detail-grid{grid-template-columns:repeat(2,1fr)}.fleet-panel-head{align-items:flex-start;flex-direction:column}.fleet-tools{width:100%}.fleet-tools input{min-width:0;flex:1}}@media(max-width:560px){.driver-detail-grid{grid-template-columns:1fr}.fleet-tools{display:grid}.fleet-tools input{width:100%}.modal-card{padding:16px}}

/* v1.1 — statut compte flotte */
.account-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid var(--line);white-space:nowrap}
.account-pill.linked{color:var(--brand);background:rgba(72,210,197,.08);border-color:rgba(72,210,197,.25)}
.account-pill.pending{color:#f0c36a;background:rgba(240,195,106,.08);border-color:rgba(240,195,106,.25)}
.account-pill.demo{color:var(--muted);background:rgba(255,255,255,.04)}

@media(max-width:760px){
  .topbar{flex-wrap:wrap}
  .top-actions{width:100%;justify-content:flex-start}
}

/* Public Pro Basic access */
.auth-gate{background:radial-gradient(circle at 60% 10%,rgba(67,214,197,.12),transparent 35%),#0f1317}
.auth-card{width:min(460px,100%);text-align:left;border-color:#2d353d;background:#171c21;padding:28px}
.auth-card>img{width:54px;height:54px;border-radius:14px;margin:0 0 18px}
.auth-card .language-select{display:block;margin:0 0 4px auto}
.auth-card h1{font-size:30px;line-height:1.1;margin:8px 0 12px;color:var(--text)}
.auth-card>p{color:var(--muted);line-height:1.5;margin:0 0 14px}
.signup-hint{margin:8px 0 12px;color:var(--brand2)}
.auth-separator{margin:16px 0 8px}
.auth-separator span{font-weight:700;color:#dce8ec}
.auth-reset{margin-top:4px;color:var(--text)}
.auth-form{text-align:left}
.auth-form .primary{justify-self:start}
@media(max-width:560px){
  .auth-gate{align-items:flex-start;padding:14px}
  .auth-card{max-height:calc(100dvh - 28px);padding:22px 18px;border-radius:16px}
  .auth-card h1{font-size:26px}
  .auth-card>p{font-size:14px}
  .auth-form{gap:10px;margin:14px 0 10px}
}

/* GotoGo Pro access screen — compact two-step flow */
.auth-card{
  position:relative;
  width:min(430px,100%);
  max-height:none;
  overflow:visible;
  padding:22px 24px;
}
.auth-card>img{
  width:48px;
  height:48px;
  margin:0 0 10px;
}
.auth-card .language-select{
  position:absolute;
  top:22px;
  right:24px;
  margin:0;
}
.auth-card .eyebrow{display:block;margin-bottom:6px}
.auth-view h1{
  font-size:27px;
  line-height:1.08;
  margin:6px 0 10px;
}
.auth-view h2{
  font-size:22px;
  line-height:1.15;
  margin:8px 0 6px;
}
.auth-intro{
  margin:0 0 12px!important;
  font-size:14px;
  line-height:1.4!important;
}
.signup-hint{
  margin:7px 0 9px!important;
  font-size:12px;
}
.auth-separator{margin:10px 0 8px}
.auth-form{gap:8px;margin:8px 0}
.auth-form label{gap:4px;font-size:12px}
.auth-form input{padding:8px 10px;min-height:38px}
.auth-form .primary{width:100%;padding:10px 12px}
.auth-reset{margin-top:6px;padding:9px 12px}
.auth-back{margin:0 0 4px;padding:7px 10px}
.auth-view .check-field{padding:8px 10px}
.auth-view .check-field label{margin-right:9px;font-size:12px}
.auth-error,.auth-info{margin:8px 0 0;font-size:12px}

@media(max-width:560px){
  .auth-gate{align-items:center;padding:10px}
  .auth-card{
    width:min(390px,100%);
    max-height:calc(100dvh - 20px);
    overflow:hidden;
    padding:16px 16px;
    border-radius:16px;
  }
  .auth-card>img{width:42px;height:42px;border-radius:11px;margin-bottom:8px}
  .auth-card .language-select{top:16px;right:16px;min-width:62px;padding:8px}
  .auth-card .eyebrow{font-size:10px;margin-bottom:4px}
  .auth-view h1{font-size:23px;margin:4px 0 8px}
  .auth-view h2{font-size:20px;margin:5px 0 5px}
  .auth-intro{font-size:13px;line-height:1.32!important;margin-bottom:9px!important}
  .full{margin-top:5px}
  .primary,.ghost{padding:9px 11px}
  .signup-hint{font-size:11px;margin:5px 0 6px!important}
  .auth-separator{margin:7px 0 6px}
  .auth-form{gap:6px;margin:6px 0}
  .auth-form label{gap:3px;font-size:11px}
  .auth-form input{min-height:34px;padding:7px 9px}
  .auth-form .primary{padding:8px 10px}
  .auth-reset{margin-top:4px;padding:8px 10px;font-size:13px}
  .auth-view .check-field{padding:6px 8px}
  .auth-view .check-field legend{font-size:11px}
  .auth-view .check-field label{font-size:11px;margin-right:7px}
  .auth-view .auth-note{font-size:11px;line-height:1.3}
}

@media(max-width:560px) and (max-height:700px){
  .auth-card{padding:12px 14px}
  .auth-card>img{width:36px;height:36px;margin-bottom:5px}
  .auth-card .language-select{top:12px;right:14px;padding:6px;min-width:58px}
  .auth-view h1{font-size:20px;margin:3px 0 6px}
  .auth-view h2{font-size:18px}
  .auth-intro{font-size:12px;margin-bottom:6px!important}
  .primary,.ghost{padding:7px 9px;font-size:13px}
  .auth-form input{min-height:30px;padding:5px 8px}
  .auth-form{gap:5px;margin:5px 0}
  .auth-separator{margin:5px 0}
  .signup-hint{margin:4px 0!important}
}
