/* Tableau de bord du membre : application pleine page */
body.dashboard-open{background:#f7f5ee}
body.dashboard-open .member-wrap{max-width:none;padding:0}
body.dashboard-open .member-footer{display:none}
.db-view{--db-navy:#091c24;--db-ink:#13262d;--db-muted:#62747a;--db-line:#dce4e3;--db-green:#0c8172;--db-green-dark:#096b5e;--db-orange:#f7931a;
  display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;font-family:'Public Sans',sans-serif;color:var(--db-ink)}
.db-view.hidden{display:none}
.db-view svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.db-num{font-variant-numeric:tabular-nums}

/* Menu latéral */
.db-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px;background:var(--db-navy);color:rgba(255,255,255,.72)}
.db-brand{display:flex;align-items:center;gap:11px;padding:4px 10px 20px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}
.db-brand img{width:30px;height:30px}
.db-brand b{display:block;font-size:14px}
.db-brand small{display:block;font-size:11.5px;color:rgba(255,255,255,.5)}
.db-side-label{padding:14px 12px 6px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.38)}
.db-nav-item{display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 12px;border:0;border-radius:6px;background:none;color:inherit;font:500 13.5px 'Public Sans',sans-serif;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.db-nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.db-nav-item.is-active{background:rgba(255,255,255,.09);color:#fff;box-shadow:inset 2px 0 0 var(--db-orange)}
.db-side-note{margin:18px 4px 0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.6)}
.db-side-note b{display:block;margin-bottom:4px;color:#fff;font-size:13px}
.db-side-note a{display:inline-block;margin-top:8px;color:#4f9d8f;font-weight:600;text-decoration:none}
.db-side-foot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}

/* Barre du haut */
.db-main{min-width:0;display:flex;flex-direction:column}
.db-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;height:62px;padding:0 32px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--db-line)}
.db-crumbs{font-size:13px;color:var(--db-muted)}
.db-crumbs b{color:var(--db-ink);font-weight:600}
.db-top-right{display:flex;align-items:center;gap:18px;margin-left:auto}
.db-date{font-size:12.5px;color:var(--db-muted)}
.db-user{display:flex;align-items:center;gap:10px}
.db-user>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--db-navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px}
.db-user b{display:block;font-size:13.5px;font-weight:600}
.db-user small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--db-green-dark)}
.db-user small::before{content:"";width:6px;height:6px;border-radius:50%;background:#4f9d8f}
.db-content{width:100%;max-width:1200px;padding:26px 32px 64px}

/* En-tête de page */
.db-view .demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:10px 14px;border:1px solid #f1d9ad;border-radius:8px;background:#fbf1df;color:#7a4f0e;font-size:13px}
.db-view .demo-banner button{border:0;background:none;color:#7a4f0e;font:600 13px 'Public Sans',sans-serif;cursor:pointer}
.db-welcome{margin:22px 0 18px}
.db-welcome h1{margin:0;font:700 30px/1.2 'Petrona',Georgia,serif;letter-spacing:-.3px}
.db-welcome p{margin:4px 0 0;font-size:14.5px;color:var(--db-muted)}
.db-view .cb-mission-bar{margin:0}

/* Carte principale : votre bloc */
.db-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:center;padding:28px 30px;border-radius:12px;background:linear-gradient(125deg,#0c7468,#0a4a45);color:#fff;box-shadow:0 16px 36px rgba(10,76,73,.16)}
.db-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:#4f9d8f}
.db-balance{display:flex;align-items:baseline;gap:10px;margin-top:8px}
.db-balance strong{font:700 46px/1 'Petrona',Georgia,serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.db-balance span{font-size:15px;color:rgba(255,255,255,.7)}
.db-track{height:8px;margin:20px 0 9px;border-radius:4px;background:rgba(255,255,255,.16);overflow:hidden}
.db-track i{display:block;width:0;height:100%;border-radius:inherit;background:#f7931a;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.db-track-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:rgba(255,255,255,.66)}
.db-track-meta b{color:#fff;font-weight:600}
.db-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.db-figures div{padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.05)}
.db-figures span{display:block;font-size:12px;color:rgba(255,255,255,.62)}
.db-figures b{display:block;margin-top:3px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.db-view .cb-bloc-grid{padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(5,30,31,.25)}
.db-view .cb-bloc-grid i{background:rgba(255,255,255,.1)}
.db-view .cb-bloc-grid i::after{background:linear-gradient(180deg,#4f9d8f,#0c8172)}
.db-view .cb-bloc-grid i.is-partial::after{background:#f7931a}
.db-grid-caption{display:flex;justify-content:space-between;margin-top:8px;font-size:11.5px;color:rgba(255,255,255,.6)}

/* Indicateurs */
.db-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.db-kpi{padding:18px 20px;border:1px solid var(--db-line);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,32,40,.04)}
.db-kpi-head{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--db-muted)}
.db-kpi-head svg.i{width:17px;height:17px;color:var(--db-green)}
.db-kpi strong{display:block;margin-top:8px;font:700 24px/1.15 'Petrona',Georgia,serif;font-variant-numeric:tabular-nums}
.db-kpi small{display:block;margin-top:4px;font-size:12.5px;color:var(--db-muted)}

/* Panneaux */
.db-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.db-panel{border:1px solid var(--db-line);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,32,40,.04);margin-bottom:16px}
.db-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #eeece4}
.db-panel-head h2{margin:0;font-size:15.5px;font-weight:700}
.db-panel-head p{margin:2px 0 0;font-size:12.5px;color:var(--db-muted)}
.db-table{width:100%;border-collapse:collapse}
.db-table th{height:38px;padding:0 14px;background:#faf9f4;border-bottom:1px solid var(--db-line);font-size:11.5px;font-weight:600;color:var(--db-muted);text-align:left;white-space:nowrap}
.db-table td{padding:13px 14px;border-bottom:1px solid #eeece4;font-size:13.5px;vertical-align:middle;white-space:nowrap}
.db-table tr:last-child td{border-bottom:0}
.db-table th:first-child,.db-table td:first-child{padding-left:20px}
.db-table th:last-child,.db-table td:last-child{padding-right:20px}
.db-table .num{text-align:right;font-variant-numeric:tabular-nums}
.db-table td strong{display:block;font-weight:600}
.db-table td small{display:block;margin-top:2px;font-size:12px;color:var(--db-muted)}
.db-status{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:12px;font-size:12px;font-weight:600}
.db-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.db-status.confirme{background:#e7f3ec;color:#1f6b45}
.db-status.attente{background:#fbf1df;color:#8a5a10}
.db-status.refuse{background:#fbece8;color:#b0412a}
.db-actions{display:grid;gap:8px;padding:16px}
.db-action{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid var(--db-line);border-radius:8px;background:#fff;color:var(--db-ink);text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s}
.db-action:hover{border-color:#9ad8cb;background:#f3faf6}
.db-action>span:first-child{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:8px;background:#dff5ef;color:var(--db-green)}
.db-action b{display:block;font-size:13.5px;font-weight:600}
.db-action small{display:block;margin-top:2px;font-size:12px;color:var(--db-muted)}
.db-note{margin:0 16px 16px;padding:12px 14px;border-radius:8px;background:#f6f1e6;font-size:12.5px;line-height:1.5;color:#6d5328}
.db-note b{display:block;color:#5a4320}

/* Déclaration d'un achat externe */
.db-drawer.hidden{display:none}
.db-drawer .db-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 20px 4px}
.db-drawer label{display:block;margin-bottom:6px;font-size:13px;font-weight:600}
.db-drawer input{width:100%;height:44px;padding:0 12px;border:1px solid #cdd7d4;border-radius:7px;background:#fff;font:14px 'Public Sans',sans-serif}
.db-drawer input[type=file]{padding:10px 12px;height:auto}
.db-drawer input:focus{outline:0;border-color:var(--db-green);box-shadow:0 0 0 3px rgba(12,129,114,.12)}
.db-drawer-actions{display:flex;align-items:center;gap:10px;padding:14px 20px 18px}
.db-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border:1px solid var(--db-line);border-radius:7px;background:#fff;color:var(--db-ink);font:600 13.5px 'Public Sans',sans-serif;cursor:pointer}
.db-btn-primary{background:var(--db-navy);border-color:var(--db-navy);color:#fff}
.db-drawer .msg{padding:0 20px 14px;font-size:13px}
.db-drawer .msg:empty{display:none}

/* Navigation mobile */
.db-mobile-nav{display:none}

@media(max-width:1100px){
  .db-cols{grid-template-columns:1fr}
  .db-hero{grid-template-columns:1fr 220px;gap:24px}
}
@media(max-width:900px){
  .db-view{grid-template-columns:1fr}
  .db-side{display:none}
  .db-top{padding:0 16px;height:56px}
  .db-crumb-page{display:none}
  .db-crumbs{font-weight:600;color:var(--db-ink)}
  .db-date{display:none}
  .db-content{padding:16px 16px 96px}
  .db-hero{grid-template-columns:1fr;padding:22px 20px}
  .db-hero .cb-bloc{max-width:280px}
  .db-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--db-line);box-shadow:0 -6px 20px rgba(10,30,38,.06)}
  .db-mobile-nav a,.db-mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border:0;background:none;color:var(--db-muted);font:600 11.5px 'Public Sans',sans-serif;text-decoration:none;cursor:pointer}
  .db-mobile-nav .is-active{color:var(--db-green-dark)}
}
@media(max-width:640px){
  .db-welcome h1{font-size:25px}
  .db-balance strong{font-size:38px}
  .db-track-meta{flex-direction:column;gap:3px}
  .db-figures{grid-template-columns:1fr;gap:0;padding:4px 14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.05)}
  .db-figures div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border:0;border-radius:0;background:none}
  .db-figures div+div{border-top:1px solid rgba(255,255,255,.1)}
  .db-figures b{margin:0;font-size:15px}
  .db-hero .cb-bloc{margin:0 auto;width:100%}
  .db-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .db-kpis .db-kpi:last-child{grid-column:1/-1}
  .db-kpi{padding:14px 16px}
  .db-kpi strong{font-size:20px}
  .db-user b,.db-user small{display:none}
  .db-drawer .db-form{grid-template-columns:1fr}
  .db-table thead{display:none}
  .db-table,.db-table tbody,.db-table tr,.db-table td{display:block;width:100%}
  .db-table tr{padding:12px 16px;border-bottom:1px solid #eeece4}
  .db-table tr:last-child{border-bottom:0}
  .db-table td,.db-table td:first-child,.db-table td:last-child{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 0;border:0;white-space:normal;text-align:right}
  .db-table td::before{content:attr(data-label);color:var(--db-muted);font-size:12px;text-align:left}
  .db-table td:first-child{display:block;text-align:left;padding-bottom:6px}
  .db-table td:first-child::before{content:none}
}
@media(prefers-reduced-motion:reduce){.db-track i{transition:none}}

/* ===== Version bancaire : compte, mission compacte, graphique, conseiller, relevés ===== */
.db-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:6px 0 20px}
.db-account{display:flex;gap:0;margin:0;border:1px solid var(--db-line);border-radius:10px;background:#fff}
.db-account div{padding:10px 18px}
.db-account div+div{border-left:1px solid var(--db-line)}
.db-account dt{font-size:11.5px;color:var(--db-muted)}
.db-account dd{margin:2px 0 0;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Mission collective : bandeau secondaire, sous le bloc personnel */
.db-view .cb-mission-bar{margin:14px 0 0;padding:12px 18px;background:#fff;color:var(--db-ink);border:1px solid var(--db-line);box-shadow:none}
.db-view .cb-mission-mark{width:32px;height:32px;font-size:15px;background:#091c24;color:#f7931a}
.db-view .cb-mission-top b{font-size:13px;letter-spacing:0;text-transform:none}
.db-view .cb-mission-top small{font-size:12.5px;color:var(--db-muted)}
.db-view .cb-mission-track{height:5px;margin:8px 0 0;background:#e9e7de}
.db-view .cb-mission-track i{background:#0c8172}
.cb-mission-side{text-align:right;white-space:nowrap}
.db-view .cb-mission-side strong{display:block;font:700 18px 'Petrona',Georgia,serif;color:var(--db-ink)}
.cb-mission-side small{font-size:12px;color:var(--db-muted)}
.cb-mission-side small b{color:var(--db-ink)}

/* Bloc personnel : grille plus lumineuse */
.db-view .cb-bloc-grid i{background:rgba(255,255,255,.16)}
.db-eyebrow-dark{font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--db-green)}

/* Graphique */
.db-chart-total{text-align:right}
.db-chart-total b{display:block;font:700 18px 'Petrona',Georgia,serif;font-variant-numeric:tabular-nums}
.db-chart-total span{font-size:12px;color:var(--db-muted)}
.db-chart{padding:22px 20px 14px 64px}
.db-chart-plot{position:relative;height:190px}
.db-chart-line{position:absolute;left:0;right:0;border-top:1px solid #eeece4}
.db-chart-line span{position:absolute;right:calc(100% + 10px);top:-8px;font-size:11px;color:#8a989c;font-variant-numeric:tabular-nums;white-space:nowrap}
.db-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:2px}
.db-bar{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;outline:0;cursor:default}
.db-bar i{display:block;width:min(34px,70%);min-height:0;border-radius:4px 4px 0 0;background:#0c8172;transition:background .15s}
.db-bar:hover i,.db-bar:focus i{background:#096b5e}
.db-bar:focus-visible{box-shadow:inset 0 0 0 2px #9ad8cb;border-radius:4px}
.db-bar span{position:absolute;top:calc(100% + 8px);font-size:11.5px;color:var(--db-muted)}
.db-tip{position:absolute;top:-6px;width:170px;padding:7px 10px;border-radius:6px;background:var(--db-navy);color:#fff;font-size:12.5px;text-align:center;opacity:0;transform:translateY(-100%);transition:opacity .15s;pointer-events:none}
.db-tip.show{opacity:1}
.db-chart+*{margin-top:0}
section.db-panel:has(.db-chart){padding-bottom:22px}

/* Conseiller */
.db-advisor{overflow:hidden}
.db-advisor-photo{height:150px;background:url('hero/membres-2.jpg') center 22%/cover no-repeat}
.db-advisor-body{padding:18px 20px 20px}
.db-advisor-body h2{margin:6px 0 6px;font:700 18px/1.3 'Petrona',Georgia,serif}
.db-advisor-body p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--db-muted)}
.db-advisor-body .db-btn{width:100%;justify-content:center;margin-bottom:12px;text-decoration:none}
.db-link{padding:0;border:0;background:none;color:var(--db-green-dark);font:600 13px 'Public Sans',sans-serif;text-decoration:none;cursor:pointer}
.db-link:hover{text-decoration:underline}

/* Tableau des opérations */
.db-table{table-layout:fixed}
.db-table th:nth-child(1){width:34%}
.db-table th:nth-child(2){width:17%}
.db-table th:nth-child(3),.db-table th:nth-child(4){width:17%}
.db-table .db-col-status{width:15%;text-align:right}
.db-table td small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-table tr.db-month th{height:auto;padding:14px 20px 8px;background:#fff;border-bottom:1px solid var(--db-line);font-size:12.5px;font-weight:700;color:var(--db-ink);text-align:left}
.db-table tr.db-month th.num{text-align:right;font-weight:600;color:var(--db-green-dark)}
.db-empty{padding:28px 20px;text-align:center;color:var(--db-muted)}
.db-btn-sm{height:34px;padding:0 12px;font-size:13px}
.db-btn svg.i{width:16px;height:16px}

/* Relevés */
.db-statements{margin:0;padding:6px 0;list-style:none}
.db-statements li{display:flex;align-items:center;gap:12px;padding:10px 20px}
.db-statements li+li{border-top:1px solid #eeece4}
.db-statement-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:8px;background:#f1efe6;color:var(--db-green)}
.db-statements li>span:nth-child(2){flex:1;min-width:0}
.db-statements b{display:block;font-size:13.5px;font-weight:600}
.db-statements small{font-size:12px;color:var(--db-muted)}
.db-statements-foot{padding:4px 20px 14px}

/* Formulaire : champ fichier en français, sans flèches natives */
.db-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600}
.db-label small{font-weight:400;color:var(--db-muted)}
.db-file{position:relative;display:flex;align-items:center;gap:12px;height:44px;padding:0 6px;border:1px solid #cdd7d4;border-radius:7px;background:#fff;cursor:pointer}
.db-file input{position:absolute;width:1px;height:1px;opacity:0}
.db-file:focus-within{border-color:var(--db-green);box-shadow:0 0 0 3px rgba(12,129,114,.12)}
.db-file-btn{flex:none;padding:6px 12px;border-radius:5px;background:#f1efe6;color:var(--db-ink);font-size:13px;font-weight:600}
.db-file-name{min-width:0;font-size:13.5px;color:var(--db-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-drawer input[type=number]{-moz-appearance:textfield;appearance:textfield}
.db-drawer input[type=number]::-webkit-inner-spin-button,.db-drawer input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.db-drawer input[type=date]{color:var(--db-ink)}

/* Compte de démonstration : aucune déclaration possible */
body.db-no-declare #declareExternalBtn,body.db-no-declare #ovDeclare,body.db-no-declare #sideDeclareBtn,body.db-no-declare #mobileDeclareBtn,body.db-no-declare #externalForm{display:none!important}

@media(max-width:1100px){.db-account div{padding:9px 14px}}
@media(max-width:900px){.db-welcome{align-items:stretch}.db-account{width:100%}.db-account div{flex:1;min-width:0}}
@media(max-width:640px){
  .db-account{flex-direction:column}
  .db-account div{display:flex;justify-content:space-between;gap:12px;padding:9px 14px}
  .db-account div+div{border-left:0;border-top:1px solid var(--db-line)}
  .db-account dd{margin:0}
  .db-view .cb-mission-bar{flex-wrap:wrap}
  .db-view .cb-mission-main{order:2;flex-basis:100%}
  .cb-mission-side{margin-left:auto}
  .db-chart{padding:18px 14px 12px 54px}
  .db-chart-plot{height:160px}
  .db-bar span{font-size:10.5px}
  .db-table{table-layout:auto}
  .db-table tr.db-month{display:flex;justify-content:space-between;padding:12px 16px 4px;border-bottom:0;background:#faf9f4}
  .db-table tr.db-month th{display:block;width:auto;padding:0;border:0;background:none}
  .db-table .db-col-status{width:auto}
  .db-panel-head:has(.db-declare){flex-wrap:wrap}
}
.db-view [hidden]{display:none!important}
.db-cols.db-cols-stretch{align-items:stretch}
.db-cols-stretch>.db-panel{display:flex;flex-direction:column}
.db-cols-stretch .db-chart{flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.db-cols-stretch .db-chart-plot{height:auto;min-height:190px;flex:1;max-height:260px}
@media(max-width:640px){
  .db-view .cb-mission-bar{display:grid;grid-template-columns:32px 1fr auto;gap:4px 12px;align-items:center}
  .db-view .cb-mission-mark{grid-row:1}
  .db-view .cb-mission-main{order:0;grid-column:1/-1;grid-row:2}
  .cb-mission-side{grid-column:3;grid-row:1;margin:0}
  .db-view .cb-mission-bar::before{content:"Mission collective 1 BTC";grid-column:2;grid-row:1;font-size:13px;font-weight:700}
  .db-view .cb-mission-top b{display:none}
  .db-panel-head:has(.db-chart-total){flex-direction:column;align-items:flex-start}
  .db-chart-total{display:flex;align-items:baseline;gap:6px;text-align:left}
}
.db-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:6px 0 20px}
.db-page-head h1{margin:0;font:700 30px/1.2 'Petrona',Georgia,serif;letter-spacing:-.3px}
.db-page-head p{margin:4px 0 0;font-size:14.5px;color:var(--db-muted)}
.db-page-head .db-btn{text-decoration:none}
[data-db-panel] .db-cols:last-child>.db-panel{margin-bottom:0}
@media(max-width:900px){.db-mobile-nav{grid-template-columns:repeat(5,1fr)}}
@media(max-width:640px){.db-page-head h1{font-size:25px}.db-page-head .db-btn{width:100%;justify-content:center}}

/* ===== En-tête institutionnel ===== */
.db-top{height:72px;gap:24px;padding:0 32px;background:#fff;backdrop-filter:none;box-shadow:0 1px 0 var(--db-line),0 6px 18px rgba(16,32,40,.03);border-bottom:0}
.db-top-title{min-width:0}
.db-crumbs{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--db-muted);font-weight:500}
.db-crumbs svg.i{width:12px;height:12px;color:#a1adb0}
.db-crumbs b{font-weight:600;color:var(--db-muted)}
.db-top-title strong{display:block;margin-top:2px;font:700 21px/1.2 'Petrona',Georgia,serif;letter-spacing:-.2px;color:var(--db-ink)}
.db-top-right{gap:16px}
.db-secure{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border:1px solid #c6e8de;border-radius:15px;background:#e9f7f2;color:var(--db-green-dark);font-size:12.5px;font-weight:600;white-space:nowrap}
.db-secure svg.i{width:14px;height:14px}
.db-date{padding-right:16px;border-right:1px solid var(--db-line);font-size:13px;color:var(--db-muted);white-space:nowrap}
.db-user-wrap{position:relative}
.db-user{display:flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 4px;border:1px solid transparent;border-radius:24px;background:none;color:var(--db-ink);font-family:'Public Sans',sans-serif;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.db-user:hover,.db-user[aria-expanded="true"]{background:#f6f4ec;border-color:var(--db-line)}
.db-avatar{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--db-navy);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.4px;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #f7931a}
.db-user-text b{display:block;font-size:13.5px;font-weight:600;line-height:1.2}
.db-user-text small{display:block;font-size:11.5px;color:var(--db-muted)}
.db-user small::before{content:none}
.db-caret{width:16px!important;height:16px!important;color:var(--db-muted);transition:transform .2s}
.db-user[aria-expanded="true"] .db-caret{transform:rotate(180deg)}
.db-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:300px;padding:8px;border:1px solid var(--db-line);border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(10,30,38,.16)}
.db-menu-head{display:flex;align-items:center;gap:12px;padding:10px 10px 14px;border-bottom:1px solid #eeece4}
.db-menu-head b{display:block;font-size:14.5px}
.db-menu-head small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--db-green-dark)}
.db-menu-head small i{width:7px;height:7px;border-radius:50%;background:#4f9d8f}
.db-menu-info{margin:6px 0;padding:4px 10px 8px;border-bottom:1px solid #eeece4}
.db-menu-info div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:12.5px}
.db-menu-info dt{color:var(--db-muted)}
.db-menu-info dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.db-menu-item{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--db-ink);font:500 13.5px 'Public Sans',sans-serif;text-decoration:none;text-align:left;cursor:pointer}
.db-menu-item:hover{background:#f6f4ec}
.db-menu-item svg.i{width:16px;height:16px;color:var(--db-muted)}
.db-menu-out{color:#b0412a}
.db-menu-out svg.i{color:#b0412a}
@media(max-width:1100px){.db-date{display:none}}
@media(max-width:900px){
  .db-top{height:62px;padding:0 16px}
  .db-crumbs{display:none}
  .db-top-title strong{font-size:19px;margin:0}
  .db-secure{display:none}
}
@media(max-width:640px){
  .db-user-text,.db-caret{display:none!important}
  .db-user{padding:0 4px}
  .db-menu{width:min(300px,calc(100vw - 32px))}
}
.db-user>.db-user-text{width:auto;height:auto;display:block;border-radius:0;background:none;color:inherit;font-size:inherit;letter-spacing:0}
.db-page-head p{margin:0}

/* ===== Page « Mes opérations » ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.db-ops-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:6px 0 16px;border:1px solid var(--db-line);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,32,40,.04)}
.db-ops-summary div{padding:16px 20px}
.db-ops-summary div+div{border-left:1px solid var(--db-line)}
.db-ops-summary span{display:block;font-size:12.5px;font-weight:600;color:var(--db-muted)}
.db-ops-summary b{display:block;margin-top:6px;font:700 23px/1.15 'Petrona',Georgia,serif;font-variant-numeric:tabular-nums}
.db-ops-summary small{display:block;margin-top:3px;font-size:12px;color:var(--db-muted)}
.db-ops-summary div:first-child b{color:var(--db-green-dark)}

.db-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.db-seg{display:inline-flex;padding:3px;border:1px solid var(--db-line);border-radius:8px;background:#fff}
.db-seg button{height:32px;padding:0 13px;border:0;border-radius:6px;background:none;color:var(--db-muted);font:600 13px 'Public Sans',sans-serif;cursor:pointer}
.db-seg button:hover{color:var(--db-ink)}
.db-seg button.is-active{background:var(--db-navy);color:#fff}
.db-select select{height:40px;padding:0 34px 0 12px;border:1px solid var(--db-line);border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%235f6f75' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;-webkit-appearance:none;appearance:none;color:var(--db-ink);font:600 13px 'Public Sans',sans-serif;cursor:pointer}
.db-select select:focus{outline:0;border-color:var(--db-green);box-shadow:0 0 0 3px rgba(12,129,114,.12)}
.db-filters .db-declare{margin-left:auto}
.db-panel-head .db-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.db-panel-head .db-link svg.i{width:15px;height:15px}

/* Mois : simple repère */
.db-ops tr.db-month th{padding:16px 20px 6px;border-bottom:0;background:none;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--db-muted)}
.db-ops tr.db-month th.num{font-size:12px;letter-spacing:0;text-transform:none;color:var(--db-muted)}
.db-ops tr.db-month+tr td{border-top:1px solid #eeece4}

/* Relevés */
.db-statements li{gap:14px}
.db-statement-month{width:44px;height:44px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:var(--db-navy);color:#fff;font-size:13px;font-weight:700;line-height:1.1;text-transform:capitalize}
.db-statement-month small{font-size:10.5px;font-weight:500;color:rgba(255,255,255,.6)}
.db-statement-open{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border:1px solid var(--db-line);border-radius:7px;background:#fff;color:var(--db-green-dark);font:600 12.5px 'Public Sans',sans-serif;cursor:pointer;white-space:nowrap}
.db-statement-open:hover{border-color:#9ad8cb;background:#f3faf6}
.db-statement-open svg.i{width:14px;height:14px}
#dbStatements .db-statements{max-height:520px;overflow:auto}

@media(max-width:1100px){.db-ops-summary{grid-template-columns:1fr 1fr}.db-ops-summary div:nth-child(3){border-left:0}.db-ops-summary div:nth-child(n+3){border-top:1px solid var(--db-line)}}
@media(max-width:640px){
  .db-ops-summary div{padding:12px 14px}
  .db-ops-summary b{font-size:19px}
  .db-filters{gap:8px}
  .db-seg{width:100%}
  .db-seg button{flex:1;padding:0 6px}
  .db-select{flex:1}
  .db-select select{width:100%}
  .db-filters .db-declare{width:100%;justify-content:center;margin:0}
  /* Une ligne compacte par opération, comme une application bancaire */
  .db-ops tr.db-month{display:flex;justify-content:space-between;padding:14px 16px 4px;background:none}
  .db-ops tr.db-month th{padding:0}
  .db-ops tr:not(.db-month){display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 16px;border-top:1px solid #eeece4;border-bottom:0}
  .db-ops tr:not(.db-month) td{display:block;padding:0;border:0;text-align:left}
  .db-ops tr:not(.db-month) td::before{content:none}
  .db-ops td:nth-child(1){grid-column:1;grid-row:1}
  .db-ops td:nth-child(1) small{display:none}
  .db-ops td:nth-child(2){grid-column:1;grid-row:2;font-size:12.5px;color:var(--db-muted)}
  .db-ops td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-weight:600}
  .db-ops td:nth-child(4){grid-column:2;grid-row:2;text-align:right;font-size:12.5px;color:var(--db-muted)}
  .db-ops td:nth-child(5){grid-column:1/-1;grid-row:3;margin-top:6px}
  .db-ops td.db-empty{grid-column:1/-1;text-align:center}
}
@media(max-width:640px){.db-ops tr:not(.db-month) td{border:0!important}}
.db-statements small{display:block}

/* ===== Vue d'ensemble : carte de compte façon banque moderne ===== */
.ov2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 18px}
.ov2-head h1{margin:0;font:700 28px/1.2 'Petrona',Georgia,serif;letter-spacing:-.3px}
.ov2-head p{margin:4px 0 0;font-size:14.5px;color:var(--db-muted)}
.ov2-hide{display:none}

.ov2-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding:30px 32px;border-radius:16px;color:#fff;overflow:hidden;
  background:radial-gradient(700px 360px at 100% 0%,rgba(247,147,26,.16),transparent 60%),radial-gradient(800px 420px at 0% 100%,rgba(79,157,143,.28),transparent 60%),linear-gradient(135deg,#091c24 0%,#0c2a2f 55%,#0b3a36 100%);
  box-shadow:0 24px 50px rgba(8,28,34,.22)}
.ov2-card::after{content:"₿";position:absolute;right:300px;bottom:-70px;font:700 260px/1 Georgia,serif;color:rgba(255,255,255,.035);pointer-events:none}
.ov2-card-main{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0}
.ov2-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ov2-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid rgba(79,157,143,.3);border-radius:13px;font-size:11.5px;letter-spacing:.3px;text-transform:none;color:#4f9d8f}
.ov2-chip svg.i{width:13px;height:13px}
.ov2-balance{display:flex;align-items:baseline;gap:10px;margin-top:18px}
.ov2-balance strong{font:700 56px/1 'Petrona',Georgia,serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.ov2-balance span{font-size:18px;font-weight:600;color:rgba(255,255,255,.7)}
.ov2-sub{margin:10px 0 0;font-size:14px;color:rgba(255,255,255,.66)}
.ov2-sub span{color:#fff;font-weight:600}
.ov2-progress{margin-top:22px}
.ov2-progress .db-track{margin:0 0 9px;height:8px;background:rgba(255,255,255,.14)}
.ov2-progress-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;font-size:13px;color:rgba(255,255,255,.66)}
.ov2-progress-meta b,#blocLeft{color:#fff;font-weight:700}
.ov2-sep{margin:0 3px}
.ov2-actions{display:flex;gap:10px;margin-top:auto;padding-top:26px}
.ov2-actions button,.ov2-actions a{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:84px;padding:12px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font:600 12.5px 'Public Sans',sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.ov2-actions button:hover,.ov2-actions a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);transform:translateY(-1px)}
.ov2-actions svg.i{width:20px;height:20px;color:#f7931a}
.ov2-card-bloc{position:relative;z-index:1;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(0,0,0,.16)}
.ov2-bloc-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ov2-bloc-head b{font:700 16px 'Petrona',Georgia,serif;letter-spacing:0;text-transform:none;color:#fff}
.ov2-card .cb-bloc-grid{padding:0;border:0;background:none;gap:4px}
.ov2-bloc-caption{margin:10px 0 0;font-size:11.5px;color:rgba(255,255,255,.5);text-align:center}

.ov2-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}
.ov2-kpis .db-kpi small b{color:var(--db-ink)}
.ov2-btc{width:20px;height:20px;display:grid;place-items:center;border-radius:5px;background:var(--db-navy);color:#f7931a;font:700 11px Georgia,serif}
.ov2-mission .cb-mission-track{height:5px;margin:9px 0 6px;border-radius:3px;background:#e9e7de;overflow:hidden}
.ov2-mission .cb-mission-track i{display:block;height:100%;border-radius:inherit;background:#0c8172}

@media(max-width:1200px){.ov2-kpis{grid-template-columns:1fr 1fr}.ov2-card{grid-template-columns:minmax(0,1fr) 250px;gap:28px}.ov2-card::after{right:250px}}
@media(max-width:900px){.ov2-card{grid-template-columns:1fr;padding:24px 22px}.ov2-card-bloc{max-width:320px}.ov2-card::after{right:-20px}}
@media(max-width:640px){
  .ov2-head h1{font-size:25px}
  .ov2-balance strong{font-size:44px}
  .ov2-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .ov2-actions button,.ov2-actions a{min-width:0;padding:10px 4px;font-size:11.5px}
  .ov2-card-bloc{max-width:none}
  .ov2-kpis{gap:10px}
}
@media(max-width:640px){.ov2-actions{display:flex}.ov2-actions>*{flex:1}}

/* ===== Carte de compte : dynamique et bloc lisible ===== */
.ov2-card::after{content:none}
.ov2-balance{flex-wrap:wrap}
.ov2-gain{align-self:center;margin-left:6px;padding:5px 11px;border-radius:14px;background:rgba(79,157,143,.14);color:#4f9d8f;font-size:13px;font-style:normal;font-weight:700;white-space:nowrap}
.ov2-track{position:relative;height:8px;border-radius:4px;background:rgba(255,255,255,.14)}
.ov2-track i{display:block;width:0;height:100%;border-radius:inherit;background:#f7931a;box-shadow:0 0 14px rgba(247,147,26,.45);transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.ov2-track span{position:absolute;top:-3px;width:2px;height:14px;margin-left:-1px;border-radius:1px;background:rgba(255,255,255,.28)}
.ov2-ticks{position:relative;height:18px;margin:6px 0 4px;font-size:11px;color:rgba(255,255,255,.45)}
.ov2-ticks span{position:absolute;transform:translateX(-50%)}
.ov2-ticks span:last-child{transform:translateX(-100%)}
.ov2-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04)}
.ov2-facts div{padding:14px 16px;min-width:0}
.ov2-facts div+div{border-left:1px solid rgba(255,255,255,.1)}
.ov2-facts span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ov2-facts b{display:block;margin-top:5px;font:700 19px/1.2 'Petrona',Georgia,serif;font-variant-numeric:tabular-nums}
.ov2-facts small{display:block;margin-top:3px;font-size:12px;color:rgba(255,255,255,.55)}
.ov2-actions{padding-top:22px}

.ov2-grid-wrap{display:grid;grid-template-columns:auto 1fr;gap:8px}
.ov2-rows{display:grid;grid-template-rows:repeat(10,1fr);gap:4px;font-size:10.5px;color:rgba(255,255,255,.4);text-align:right;font-variant-numeric:tabular-nums}
.ov2-rows span{display:flex;align-items:center;justify-content:flex-end}
.ov2-grid-wrap{align-items:stretch}.ov2-card .cb-bloc{display:flex}.ov2-card .cb-bloc-grid{flex:1;align-content:space-between}
.ov2-card .cb-bloc-grid i{border-radius:3px;background:rgba(255,255,255,.08)}
.ov2-card .cb-bloc-grid i::after{background:linear-gradient(180deg,#4f9d8f,#0c8172)}
.ov2-card .cb-bloc-grid i.is-partial{box-shadow:0 0 0 1.5px #f7931a}
.ov2-card .cb-bloc-grid i.is-partial::after{background:#f7931a}
.ov2-bloc-caption{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.ov2-key{width:10px;height:10px;border-radius:2px;margin-left:6px}
.ov2-key-on{background:#4f9d8f}
.ov2-key-part{background:#f7931a}
@media(max-width:640px){
  .ov2-facts{grid-template-columns:1fr}
  .ov2-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 14px}
  .ov2-facts div+div{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .ov2-facts span{flex:1}
  .ov2-facts b{margin:0;font-size:16px}
  .ov2-facts small{display:none}
  .ov2-gain{margin:8px 0 0}
}
/* Libellés de lignes attachés à la première case de chaque ligne */
.ov2-rows{display:none}
.ov2-grid-wrap{display:block;padding-left:36px}
.ov2-card .cb-bloc-grid{counter-reset:row}
.ov2-card .cb-bloc-grid i{overflow:visible}
.ov2-card .cb-bloc-grid i:nth-child(10n+1){counter-increment:row}
.ov2-card .cb-bloc-grid i:nth-child(10n+1)::before{content:counter(row) "00k";position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);font-size:10.5px;color:rgba(255,255,255,.42);white-space:nowrap;font-variant-numeric:tabular-nums}
.ov2-card .cb-bloc-grid i:nth-child(91)::before{content:"1M"}
.ov2-card .cb-bloc-grid i::before{font-style:normal}

/* ===== Achat de sats ===== */
.db-nav-buy{color:#fff!important;background:rgba(247,147,26,.14)!important;box-shadow:inset 0 0 0 1px rgba(247,147,26,.35)}
.db-nav-buy svg.i{color:#f7931a}
.db-nav-buy:hover{background:rgba(247,147,26,.22)!important}
.ov2-actions .ov2-buy{background:#f7931a;border-color:#f7931a;color:#241303}
.ov2-actions .ov2-buy svg.i{color:#241303}
.ov2-actions .ov2-buy:hover{background:#ff9f27;border-color:#ff9f27}

.db-order-list{margin:0;padding:4px 0;list-style:none}
.db-order-list li{display:flex;align-items:center;gap:14px;padding:12px 20px}
.db-order-list li+li{border-top:1px solid #eeece4}
.db-order-ref{font:600 12.5px 'IBM Plex Mono',monospace;color:var(--db-muted)}
.db-order-main{flex:1;min-width:0}
.db-order-main b{display:block;font-size:14px}
.db-order-main small{display:block;font:500 12px 'IBM Plex Mono',monospace;color:var(--db-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-order-status{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}
.db-order-status.attente_paiement{background:#fbf1df;color:#8a5a10}
.db-order-status.paiement_declare{background:#dff5ef;color:#096b5e}

.buy-dlg{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:var(--db-ink,#13262d);box-shadow:0 30px 80px rgba(8,24,30,.35);font-family:'Public Sans',sans-serif}
.buy-dlg::backdrop{background:rgba(8,22,28,.55);backdrop-filter:blur(3px)}
.buy-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e3e6e0}
.buy-head h2{margin:0;font:700 20px 'Petrona',Georgia,serif}
.buy-close{width:34px;height:34px;border:0;border-radius:8px;background:#f1efe6;color:#5a6b70;font-size:22px;line-height:1;cursor:pointer}
.buy-close:hover{background:#e8e6dc}
.buy-step{padding:20px 22px 22px}
.buy-intro{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#62747a}
.buy-label{display:block;margin:0 0 6px;font-size:13px;font-weight:600}
.buy-label small{font-weight:400;color:#768a8f}
.buy-amount{display:flex;align-items:center;height:56px;padding:0 16px;border:1px solid #cdd7d4;border-radius:10px}
.buy-amount:focus-within,.buy-input:focus{border-color:#0c8172;box-shadow:0 0 0 3px rgba(12,129,114,.12);outline:0}
.buy-amount input{flex:1;min-width:0;border:0;outline:0;background:none;font:700 24px 'Petrona',Georgia,serif;color:inherit}
.buy-amount span{font-weight:600;color:#62747a}
.buy-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 14px}
.buy-quick button{height:34px;border:1px solid #dce4e3;border-radius:8px;background:#fff;font:600 12.5px 'Public Sans',sans-serif;color:#41545a;cursor:pointer}
.buy-quick button.is-active{border-color:#0c8172;background:#dff5ef;color:#096b5e}
.buy-estimate{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;padding:14px 16px;border-radius:10px;background:#091c24;color:#fff}
.buy-estimate span{font-size:13px;color:rgba(255,255,255,.65)}
.buy-estimate b{font:700 22px 'Petrona',Georgia,serif;color:#f7931a}
.buy-input{width:100%;height:46px;padding:0 14px;border:1px solid #cdd7d4;border-radius:10px;font:500 14px 'IBM Plex Mono',monospace;color:inherit;background:#fff}
.buy-help{margin:6px 0 18px;font-size:12.5px;line-height:1.5;color:#677a7f}
.buy-cta{width:100%;justify-content:center;height:48px;font-size:14.5px}
.buy-step .msg{margin-top:10px;font-size:13px}
.buy-step .msg:empty{display:none}
.buy-ref{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font:600 13px 'IBM Plex Mono',monospace;color:#62747a}
.buy-timer{padding:4px 10px;border-radius:12px;background:#fbf1df;color:#8a5a10;font:600 12.5px 'Public Sans',sans-serif;font-variant-numeric:tabular-nums}
.buy-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px;border-radius:12px;background:#091c24;color:#fff}
.buy-summary span{display:block;font-size:12px;color:rgba(255,255,255,.6)}
.buy-summary b{display:block;margin-top:2px;font:700 20px 'Petrona',Georgia,serif}
.buy-summary div:last-child b{color:#f7931a}
.buy-arrow{font-size:20px;color:rgba(255,255,255,.4)}
.buy-wallet{margin:10px 0 16px;font-size:12.5px;color:#62747a;overflow-wrap:anywhere}
.buy-wallet code{font:500 12px 'IBM Plex Mono',monospace;color:#13262d}
.buy-instructions{margin-bottom:16px;padding:14px 16px;border:1px solid #dce4e3;border-radius:10px;background:#fbfaf5}
.buy-instructions b{display:block;margin-bottom:4px;font-size:13.5px}
.buy-instructions p{margin:0;font-size:13.5px;line-height:1.55;white-space:pre-line}
.buy-instructions .buy-motif{margin-top:8px;color:#62747a}
.buy-cancel{display:block;margin:12px auto 0}
.buy-done{text-align:center}
.buy-done-icon{width:56px;height:56px;margin:4px auto 12px;display:grid;place-items:center;border-radius:50%;background:#dff5ef;color:#0c8172}
.buy-done-icon svg.i{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}
.buy-done h3{margin:0 0 8px;font:700 20px 'Petrona',Georgia,serif}
.buy-done p{margin:0 0 20px;font-size:14px;line-height:1.55;color:#62747a}
.buy-dlg svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.db-order-list li{flex-wrap:wrap}.db-order-main{flex-basis:calc(100% - 80px)}}
@media(max-width:900px){.db-mobile-nav [data-buy]{color:#d97808}}

/* Couleurs de la fenêtre d’achat (elle est en dehors de .db-view) */
.buy-dlg{--db-navy:#091c24;--db-ink:#13262d;--db-muted:#62747a;--db-line:#dce4e3;--db-green:#0c8172;--db-green-dark:#096b5e}

/* ===== Menu latéral institutionnel ===== */
.db-side{padding:22px 16px 18px;overflow-y:auto}
.db-brand{gap:12px;padding:2px 8px 20px;margin-bottom:16px}
.db-brand-mark{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:9px;background:#f7931a;color:#241303;font:700 19px Georgia,serif;box-shadow:0 6px 16px rgba(247,147,26,.25)}
.db-side-cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:44px;margin-bottom:10px;border:0;border-radius:9px;background:#f7931a;color:#241303;font:700 14px 'Public Sans',sans-serif;cursor:pointer;transition:background .15s,transform .15s}
.db-side-cta:hover{background:#ff9f27;transform:translateY(-1px)}
.db-side-cta svg.i{width:18px;height:18px}
.db-side .db-side-label{padding:18px 12px 6px;font-size:10.5px;letter-spacing:1.3px;color:rgba(255,255,255,.36)}
.db-side .db-nav-item{height:38px;gap:12px;font-size:13.5px}
.db-side .db-nav-item svg.i{width:17px;height:17px;opacity:.85}
.db-ext{margin-left:auto;font-size:12px;color:rgba(255,255,255,.35)}
.db-side-bloc{margin:auto 4px 0;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.03)}
.db-side-bloc-top{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.db-side-bloc-top b{font:700 17px 'Petrona',Georgia,serif;letter-spacing:0;text-transform:none;color:#fff}
.db-side-bloc-bar{height:5px;margin:9px 0 7px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.db-side-bloc-bar i{display:block;width:0;height:100%;border-radius:inherit;background:#f7931a;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.db-side-bloc small{font-size:11.5px;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums}
.db-side-trust{display:flex;gap:8px;align-items:flex-start;margin:12px 6px 14px;font-size:11.5px;line-height:1.45;color:rgba(255,255,255,.45)}
.db-side-trust svg.i{width:14px;height:14px;flex:none;margin-top:1px;color:#4f9d8f}
.db-side-foot{margin-top:0}
.db-side-note,.db-nav-buy{display:none!important}
body.db-no-declare .db-side-cta{display:flex}
@media(max-height:760px){.db-side-bloc{display:none}.db-side-trust{margin-top:auto}}
/* Logo officiel (version claire pour fond sombre) */
.db-brand-logo{flex-direction:column;align-items:flex-start;gap:8px;padding:4px 8px 18px}
.db-brand-logo img{width:158px;height:auto;display:block}
.db-brand-logo small{font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.45)}
/* Logo officiel, couleurs d'origine, sur cartouche clair */
.db-brand-logo{align-items:stretch;padding:2px 2px 18px}
.db-logo-plate{display:block;padding:12px 14px;border-radius:10px;background:#fbfaf5;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.db-brand-logo img{width:100%;max-width:170px;margin:0 auto}
.db-brand-logo small{align-self:center}
/* Avertissement de modération */
.db-warning{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;padding:16px 18px;border:1px solid #efc9bd;border-left:4px solid #b0412a;border-radius:10px;background:#fdf1ed}
.db-warning>svg.i{width:22px;height:22px;flex:none;color:#b0412a;margin-top:2px}
.db-warning div{flex:1;min-width:0}
.db-warning b{display:block;color:#8a2f1c;font-size:14px}
.db-warning p{margin:4px 0 2px;font-size:13.5px;line-height:1.5;color:#5a2a1f}
.db-warning small{font-size:12px;color:#9a6a5e}
.db-warning .db-btn{flex:none;align-self:center}
@media(max-width:640px){.db-warning{flex-wrap:wrap}.db-warning .db-btn{width:100%;justify-content:center}}

/* ===== Carte d'épargne : finitions institutionnelles ===== */
/* Vert = confirmé (barre et grille) ; orange réservé à la case en cours et à l'action principale */
.ov2-track i{background:linear-gradient(90deg,#0c8172,#4f9d8f);box-shadow:0 0 14px rgba(79,157,143,.35)}
.ov2-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ov2-actions button,.ov2-actions a{min-width:0;flex-direction:row;justify-content:center;gap:9px;padding:14px 12px;font-size:13.5px;white-space:nowrap}
.ov2-card-bloc{display:flex;flex-direction:column}
.ov2-bloc-foot{display:grid;gap:0;margin:auto 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.ov2-bloc-caption{margin-bottom:16px}
.ov2-bloc-foot div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12.5px}
.ov2-bloc-foot div+div{border-top:1px dashed rgba(255,255,255,.08)}
.ov2-bloc-foot dt{color:rgba(255,255,255,.55)}
.ov2-bloc-foot dd{margin:0;color:#fff;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:1180px){.ov2-actions button,.ov2-actions a{flex-direction:column;gap:6px;white-space:normal;text-align:center;font-size:12px;padding:12px 6px}}
@media(max-width:640px){.ov2-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ov2-actions button,.ov2-actions a{flex-direction:row;font-size:12.5px}}
.ov2-actions{display:flex;flex-wrap:wrap}
.ov2-actions>*{flex:1 1 0}
.db-side-bloc-bar i{background:linear-gradient(90deg,#0c8172,#4f9d8f)}
@media(max-width:640px){.ov2-actions{display:flex}.ov2-actions>*{flex:1 1 calc(50% - 5px)}}
/* Carte : plus de bande vide entre les chiffres clés et les actions */
.ov2-card-main{display:flex;flex-direction:column;justify-content:space-between}
.ov2-actions{margin-top:0;padding-top:24px}
.ov2-bloc-foot dd small{display:block;margin-top:2px;font-size:11.5px;font-weight:500;color:rgba(255,255,255,.55)}
.ov2-bloc-foot div{align-items:flex-start}
.ov2-bloc-caption{margin-bottom:14px}

/* ===== Carte d'épargne : version institutionnelle ===== */
.ov2-card{background:linear-gradient(160deg,#0a1d25 0%,#0b232a 55%,#0d2d30 100%);border:1px solid rgba(255,255,255,.06);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 48px rgba(8,28,34,.2)}
.ov2-card::before{content:"";position:absolute;left:32px;right:32px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(79,157,143,.7) 30%,rgba(247,147,26,.7) 70%,transparent)}
.ov2-card::after{content:none}
.ov2-title{display:flex;flex-direction:column;gap:6px}
.ov2-asof{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.5)}
.ov2-balance{margin-top:22px}
.ov2-balance strong{font-size:62px;letter-spacing:-1.5px}
.ov2-gain{display:inline-flex;align-items:center;gap:6px;background:rgba(79,157,143,.1);border:1px solid rgba(79,157,143,.22)}
.ov2-gain::before{content:"↗";font-size:13px}
.ov2-sub{font-size:14.5px}
.ov2-progress{margin-top:26px}
.ov2-track{height:6px}
.ov2-facts{margin-top:26px;border:0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;background:none}
.ov2-facts div{padding:18px 20px 18px 22px}
.ov2-facts div:first-child{padding-left:0}
.ov2-facts div+div{border-left:1px solid rgba(255,255,255,.1)}
.ov2-facts span{font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.48)}
.ov2-facts b{font-size:21px;margin-top:8px}
.ov2-facts small{font-size:12.5px;color:rgba(255,255,255,.55)}
.ov2-actions{padding-top:26px;gap:10px}
.ov2-actions button,.ov2-actions a{height:50px;padding:0 14px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.16);font-size:14px}
.ov2-actions button:hover,.ov2-actions a:hover{background:rgba(255,255,255,.06);border-color:rgba(79,157,143,.5)}
.ov2-actions svg.i{color:#4f9d8f}
.ov2-actions .ov2-buy{box-shadow:0 10px 24px rgba(247,147,26,.25)}
.ov2-card-bloc{padding:22px 22px 18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:14px}
.ov2-bloc-head{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.ov2-card .cb-bloc-grid{gap:5px}
.ov2-card .cb-bloc-grid i{border-radius:4px;background:rgba(255,255,255,.06)}
.ov2-bloc-foot{border-top:1px solid rgba(255,255,255,.08)}
.ov2-title{display:flex;flex-direction:column;gap:6px;min-width:0}
@media(max-width:640px){
  .ov2-card::before{left:20px;right:20px}
  .ov2-balance strong{font-size:46px}
  .ov2-facts div,.ov2-facts div:first-child{padding:13px 0}
  .ov2-facts div+div{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .ov2-facts b{margin:0;font-size:17px}
  .ov2-actions button,.ov2-actions a{height:auto;min-height:50px;padding:10px 12px;white-space:normal;font-size:13px;line-height:1.2}
  .ov2-card-top{align-items:flex-start}
  .ov2-asof{font-size:12px}
}
/* Grand écran : contenu centré, en-tête aligné sur le contenu */
@media(min-width:1024px){
  .db-content{max-width:1360px;margin-inline:auto}
  .db-top{padding-inline:max(32px,calc((100% - 1360px) / 2 + 32px))}
}
/* ===== Finitions institutionnelles du tableau de bord ===== */
/* Logo officiel en version claire, posé directement sur le bleu nuit */
.db-logo-plate{padding:2px 0;background:none;box-shadow:none;border-radius:0}
.db-brand-logo img{width:150px}
/* Action principale unique : le bouton du menu latéral devient secondaire */
.db-side-cta{background:transparent;border:1px solid rgba(247,147,26,.55);color:#f7b25a;box-shadow:none}
.db-side-cta svg.i{color:#f7931a}
.db-side-cta:hover{background:rgba(247,147,26,.1);border-color:#f7931a;color:#fff}
/* Bas du menu : dernière connexion et relevé */
.db-side-bloc[hidden]{display:none}
.db-side-info{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.03)}
.db-side-info div{display:flex;flex-direction:column;gap:3px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.db-side-info span{font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.db-side-info b{font-size:13.5px;color:#fff;font-weight:600}
.db-side-statement{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;color:#4f9d8f;font:600 13.5px 'Public Sans',sans-serif;cursor:pointer}
.db-side-statement:hover{color:#fff}
.db-side-statement svg.i{width:16px;height:16px}
/* Mission collective : message de lancement au lieu de « 0 % · 0 membres » */
.ov2-mission-launch{display:none;margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--db-muted,#5f7074)}
.ov2-mission-launch a{display:inline-block;margin-top:6px;font-weight:700;color:#0c8172;text-decoration:none}
.ov2-mission.is-launch strong,.ov2-mission.is-launch .cb-mission-track,.ov2-mission.is-launch small{display:none}
.ov2-mission.is-launch .ov2-mission-launch{display:block}
/* Lisibilité des petits textes de la carte */
.ov2-facts span{font-size:12px}
.ov2-facts small{font-size:13px}
.ov2-ticks span{font-size:12px}
.ov2-card .cb-bloc-grid i:nth-child(10n+1)::before{font-size:11.5px}
.ov2-bloc-caption{font-size:12.5px}
.ov2-bloc-foot div{font-size:13px}
.ov2-bloc-foot dd small{font-size:12px}
.ov2-asof{font-size:13px}
.db-side-info{margin:auto 4px 0}@media(max-height:760px){.db-side-info{display:none}}
.ov2-bloc-caption{white-space:nowrap;gap:6px 8px}

/* ===== Mes opérations : présentation « relevé de compte » ===== */
.db-ops-band{margin:6px 0 16px;padding:22px 26px 6px;border-radius:14px;color:#fff;background:linear-gradient(160deg,#0a1d25 0%,#0b232a 55%,#0d2d30 100%);border:1px solid rgba(255,255,255,.06);box-shadow:0 18px 40px rgba(8,28,34,.16);position:relative;overflow:hidden}
.db-ops-band::before{content:"";position:absolute;left:26px;right:26px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(79,157,143,.7) 30%,rgba(247,147,26,.7) 70%,transparent)}
.db-ops-band-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.db-ops-band-head span:first-child{display:block;font-size:12.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.62)}
.db-ops-band-head small{display:block;margin-top:5px;font-size:13px;color:rgba(255,255,255,.5)}
.db-ops-band .db-ops-summary{margin:0;border:0;border-radius:0;background:none;box-shadow:none}
.db-ops-band .db-ops-summary div{padding:18px 20px 18px 22px}
.db-ops-band .db-ops-summary div:first-child{padding-left:0}
.db-ops-band .db-ops-summary div+div{border-left:1px solid rgba(255,255,255,.1)}
.db-ops-band .db-ops-summary span{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.48)}
.db-ops-band .db-ops-summary b,.db-ops-band .db-ops-summary div:first-child b{color:#fff;font-size:24px;margin-top:8px}
.db-ops-band .db-ops-summary small{color:rgba(255,255,255,.55);font-size:12.5px}
/* Barre d'outils */
.db-seg button.is-active{background:#eef6f4;color:#0a6d61;box-shadow:inset 0 0 0 1px #bfe3dc}
.db-filters-sp{flex:1}
.db-btn-ghost{background:#fff;border:1px solid var(--db-line);color:var(--db-ink)}
.db-btn-ghost:hover{border-color:#9fd8cf;color:#0a6d61}
/* Historique en grand livre */
.db-ledger th:first-child,.db-ledger td.db-ledger-date{width:120px;white-space:nowrap;color:var(--db-muted)}
.db-ledger td.db-ledger-date{font-size:13.5px}
.db-ledger .db-ledger-sats{font-weight:700;font-variant-numeric:tabular-nums}
.db-ledger .db-ledger-sats.confirme{color:#0a6d61}
.db-ledger .db-ledger-sats.attente{color:#a35d07}
.db-ledger .db-ledger-sats.refuse{color:#9aa6a8;text-decoration:line-through}
.db-ledger .db-ledger-bal{font-variant-numeric:tabular-nums;color:var(--db-ink);font-weight:600}
.db-ledger .db-month th{padding-top:18px;background:#faf9f5}
.db-ledger .db-month th.num{color:#0a6d61;font-weight:700;font-size:12.5px}
/* Relevés : liste compacte, plus de chevauchement */
#dbStatements{align-self:start;position:sticky;top:92px}
#dbStatements .db-statements{max-height:none;overflow:visible}
.db-statements li{padding:12px 20px}
.db-statements li>span:first-child{flex:1;min-width:0}
.db-statements li b{font-size:14px}
.db-statements li small{display:block;margin-top:2px}
#dbStatements .db-note{position:static;margin:6px 16px 16px}
@media(max-width:1100px){.db-ops-band .db-ops-summary{grid-template-columns:1fr 1fr}.db-ops-band .db-ops-summary div:nth-child(3){border-left:0;padding-left:0}.db-ops-band .db-ops-summary div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}#dbStatements{position:static}}
@media(max-width:640px){
  .db-ops-band{padding:18px 18px 4px}
  .db-ops-band-head{flex-direction:column}
  .db-ops-band .db-ops-summary div,.db-ops-band .db-ops-summary div:first-child{padding:12px 0}
  .db-ops-band .db-ops-summary div:nth-child(even){padding-left:14px;border-left:1px solid rgba(255,255,255,.1)}
  .db-ops-band .db-ops-summary b,.db-ops-band .db-ops-summary div:first-child b{font-size:19px}
  .db-filters-sp{display:none}
  .db-ledger td.db-ledger-date{width:auto}
}
@media(max-width:640px){
  .db-filters .db-select{flex:1 1 calc(50% - 4px);min-width:0}
  .db-filters .db-select select{width:100%}
  .db-filters #downloadStatement{flex:1 1 100%;justify-content:center}
  .db-ledger tr:not(.db-month){display:grid;grid-template-columns:1fr auto;grid-template-areas:"op sats" "date amt" "st bal";gap:4px 12px;padding:14px 16px}
  .db-ledger tr:not(.db-month) td{display:block!important;padding:0!important;border:0!important;text-align:left}
  .db-ledger tr:not(.db-month) td::before{content:none!important}
  .db-ledger td:nth-child(1){grid-area:date;font-size:12.5px}
  .db-ledger td:nth-child(2){grid-area:op}
  .db-ledger td:nth-child(2) small{display:inline;margin-left:6px}
  .db-ledger td:nth-child(3){grid-area:amt;text-align:right!important;font-size:12.5px;color:var(--db-muted)}
  .db-ledger td:nth-child(4){grid-area:sats;text-align:right!important;font-size:15px}
  .db-ledger td:nth-child(5){grid-area:bal;text-align:right!important;align-self:center;font-size:12.5px;color:var(--db-muted)}
  .db-ledger td:nth-child(5)::after{content:" sats"}
  .db-ledger td:nth-child(5)::before{content:"Solde "!important;color:var(--db-muted)}
  .db-ledger td:nth-child(6){grid-area:st}
}
.db-ledger .db-ledger-bal.is-none::before{content:"—";color:var(--db-muted)}
@media(max-width:640px){
  .db-ledger tr:not(.db-month) td.db-ledger-bal::before{content:"Solde "!important}
  .db-ledger tr:not(.db-month) td.db-ledger-bal.is-none{visibility:hidden}
}
/* Vert de marque (#0c8172, comme « Simuler un achat ») pour les boutons principaux et le filtre actif */
.db-view .db-btn-primary{background:#0c8172;border-color:#0c8172;color:#fff;box-shadow:0 9px 24px rgba(12,129,114,.2)}
.db-view .db-btn-primary:hover{background:#096e62;border-color:#096e62}
.db-seg button.is-active{background:#0c8172;color:#fff;box-shadow:0 4px 12px rgba(12,129,114,.22)}

/* ===== Menu latéral : audit ===== */
/* Page active en vert de marque (l'orange reste réservé à l'achat) */
.db-side .db-nav-item.is-active{background:rgba(12,129,114,.16);color:#fff;box-shadow:inset 3px 0 0 #0c8172}
.db-side .db-nav-item.is-active svg.i{color:#4f9d8f;opacity:1}
.db-side .db-nav-item{color:rgba(255,255,255,.74);font-weight:500}
.db-side .db-nav-item:hover{background:rgba(255,255,255,.05);color:#fff}
.db-side .db-nav-item:focus-visible{outline:2px solid #4f9d8f;outline-offset:-2px}
/* Libellés de section plus lisibles */
.db-side .db-side-label{color:rgba(255,255,255,.46);font-size:11px}
/* Action secondaire sous l'achat */
.db-side-sub{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:2px 0 6px;padding:8px 6px;border:0;border-radius:8px;background:none;color:rgba(255,255,255,.66);font:600 12.5px 'Public Sans',sans-serif;cursor:pointer}
.db-side-sub:hover{color:#fff;background:rgba(255,255,255,.05)}
.db-side-sub svg.i{width:15px;height:15px;color:#4f9d8f}
body.db-no-declare .db-side-sub{display:none!important}
/* Liens externes : petite icône discrète */
.db-side svg.db-ext{width:13px;height:13px;margin-left:auto;opacity:.4}
.db-side .db-nav-item:hover svg.db-ext{opacity:.8}
.db-side-sub{white-space:nowrap}
