/* NPC Gestion Privee - charte alignee sur le site (accent teal "gestion"). */
:root{
  --bg:#2D1B4E; --bg-dark:#1E1035; --bg-mid:#381F5E; --bg-card:#3D2468;
  --invest:#7B5EA7; --invest-lt:#9B7CC4;
  --gestion:#4A90A4; --gestion-lt:#6AAFC4; --gestion-pale:rgba(74,144,164,0.08);
  --immo:#3AA876; --partners:#B8956A;
  --white:#FFFFFF; --cream:#EDE8F5; --muted:#8A7AAA;
  --subtle:rgba(237,232,245,0.55);
  --border:rgba(155,124,196,0.18); --border-lt:rgba(155,124,196,0.32);
  --border-g:rgba(74,144,164,0.22); --border-g-lt:rgba(74,144,164,0.38);
  --ok:#3AA876; --warn:#D9A441; --alert:#D96A6A;
  --title:'Hammersmith One','Trebuchet MS',sans-serif; --body:'Inter','Segoe UI',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--cream);font-family:var(--body);font-weight:300;-webkit-font-smoothing:antialiased;min-height:100vh;}
a{text-decoration:none;color:inherit;}
.sidebar{position:fixed;top:0;left:0;width:5px;height:100vh;z-index:300;background:linear-gradient(to bottom,var(--invest) 0%,var(--gestion) 40%,var(--immo) 70%,var(--partners) 100%);}

/* ---- top bar ---- */
.topbar{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:16px 40px;background:rgba(26,16,45,0.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.brand{font-family:var(--title);font-size:14px;letter-spacing:2px;color:var(--white);display:flex;align-items:center;gap:12px;}
.brand .sep{width:1px;height:15px;background:rgba(74,144,164,0.4);}
.brand .sub{font-family:var(--body);font-weight:300;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.topbar-actions{display:flex;gap:10px;align-items:center;}

/* ---- buttons ---- */
.btn{font-family:var(--body);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;
  padding:11px 20px;border:none;cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:8px;}
.btn-primary{background:var(--gestion);color:#fff;}
.btn-primary:hover{background:var(--gestion-lt);transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--border-g);color:var(--gestion-lt);background:transparent;font-weight:400;}
.btn-ghost:hover{background:var(--gestion-pale);}
.btn-sm{padding:8px 14px;font-size:10px;}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}

/* ---- generic layout ---- */
.wrap{max-width:1180px;margin:0 auto;padding:36px 40px 80px;}
.eyebrow{font-size:10px;letter-spacing:4px;text-transform:uppercase;font-weight:500;color:var(--gestion-lt);display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--gestion-lt);}
h1.page{font-family:var(--title);font-size:clamp(26px,3.4vw,40px);color:var(--white);line-height:1.08;margin-bottom:8px;}
h1.page em{font-style:normal;color:var(--gestion-lt);}
.lead{font-size:13.5px;line-height:1.75;color:rgba(237,232,245,0.7);max-width:720px;}

/* ---- cards ---- */
.card{background:var(--bg-mid);border:1px solid var(--border);padding:26px 28px;}
.card + .card{margin-top:20px;}
.card-title{font-family:var(--title);font-size:16px;color:var(--white);margin-bottom:2px;}
.card-sub{font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:18px;}

/* ---- forms ---- */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}
.fgrid.cols3{grid-template-columns:1fr 1fr 1fr;}
.fg{display:flex;flex-direction:column;}
.fg.full{grid-column:1/-1;}
.fg label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--gestion-lt);margin-bottom:7px;}
.fg input,.fg select,.fg textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(74,144,164,0.2);
  color:var(--cream);padding:10px 12px;font-family:var(--body);font-size:13px;font-weight:300;outline:none;transition:border-color .25s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gestion);background:rgba(74,144,164,0.05);}
.fg select option{background:#2D1B4E;color:var(--cream);}
.fg input::placeholder{color:rgba(138,122,170,0.45);}
.fg .hint{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5;}
.radio-row{display:flex;gap:8px;}
.radio-row label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:9px 16px;border:1px solid rgba(74,144,164,0.2);
  background:rgba(255,255,255,0.03);font-size:12px;letter-spacing:0;text-transform:none;color:var(--cream);margin-bottom:0;transition:all .2s;}
.radio-row input{display:none;}
.radio-row label.on{border-color:var(--gestion);background:var(--gestion-pale);color:var(--white);}

/* ---- stepper ---- */
.stepper{display:flex;flex-wrap:wrap;gap:4px;margin:22px 0 26px;}
.stepper .st{flex:1;min-width:70px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);
  padding:9px 6px;text-align:center;border-top:2px solid var(--border);cursor:pointer;transition:all .2s;}
.stepper .st.active{color:var(--white);border-top-color:var(--gestion);}
.stepper .st.done{color:var(--gestion-lt);border-top-color:var(--gestion-lt);}
.step-nav{display:flex;justify-content:space-between;margin-top:26px;}

/* repeatable table blocks */
.rtable{display:flex;flex-direction:column;gap:10px;}
.rrow{display:grid;gap:10px;align-items:end;background:rgba(255,255,255,0.02);border:1px solid var(--border);padding:14px;position:relative;}
.rrow .rm{position:absolute;top:8px;right:10px;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;background:none;border:none;}
.rrow .rm:hover{color:var(--alert);}
.add-row{align-self:flex-start;}

/* ---- cockpit ---- */
.cockpit-grid{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start;}
.client-list{display:flex;flex-direction:column;gap:6px;}
.client-item{background:var(--bg-mid);border:1px solid var(--border);border-left:3px solid rgba(74,144,164,0.4);
  padding:14px 16px;cursor:pointer;transition:all .2s;}
.client-item:hover{background:var(--bg-card);}
.client-item.sel{border-left-color:var(--gestion-lt);background:var(--bg-card);}
.client-item .ci-name{font-family:var(--title);font-size:14px;color:var(--white);}
.client-item .ci-meta{font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:.5px;}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-bottom:20px;}
.kpi{background:var(--bg-mid);padding:18px 18px;border-top:2px solid var(--gestion);}
.kpi .k-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.kpi .k-val{font-family:var(--title);font-size:23px;color:var(--white);line-height:1;}
.kpi .k-sub{font-size:10px;color:var(--gestion-lt);margin-top:6px;}

.alerts{display:flex;flex-direction:column;gap:8px;}
.alert-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);background:rgba(255,255,255,0.02);border-left:3px solid var(--muted);}
.alert-item.ok{border-left-color:var(--ok);}
.alert-item.warn{border-left-color:var(--warn);}
.alert-item.alert{border-left-color:var(--alert);}
.alert-item .a-ic{font-size:16px;line-height:1;flex-shrink:0;}
.alert-item .a-t{font-size:12.5px;color:var(--white);font-weight:500;margin-bottom:2px;}
.alert-item .a-d{font-size:11px;color:var(--subtle);line-height:1.5;}

.tbl{width:100%;border-collapse:collapse;font-size:12.5px;}
.tbl th{text-align:left;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--cream);font-weight:300;}
.tbl td.num{text-align:right;font-variant-numeric:tabular-nums;}
.tbl tr:hover td{background:rgba(255,255,255,0.02);}
.tbl .total td{font-weight:600;color:var(--white);border-top:1px solid var(--border-lt);border-bottom:none;}

.fiche-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;}
.fld{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--border);}
.fld .fl{font-size:11px;color:var(--muted);letter-spacing:.3px;}
.fld .fv{font-size:12.5px;color:var(--cream);text-align:right;font-weight:400;}

.bar{height:10px;background:rgba(255,255,255,0.05);position:relative;overflow:hidden;display:flex;}
.bar span{height:100%;display:block;}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;}
.legend .lg{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--subtle);}
.legend .dot{width:9px;height:9px;border-radius:2px;flex-shrink:0;}

.empty{text-align:center;padding:60px 20px;color:var(--muted);}
.empty .e-ic{font-size:34px;margin-bottom:12px;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--bg-card);border:1px solid var(--border-g-lt);
  color:var(--white);padding:12px 22px;font-size:12.5px;z-index:900;opacity:0;transition:opacity .3s;pointer-events:none;}
.toast.show{opacity:1;}
.pill{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border:1px solid var(--border-g);color:var(--gestion-lt);}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px;}
.section-head h2{font-family:var(--title);font-size:17px;color:var(--white);}

@media(max-width:900px){
  .fgrid,.fgrid.cols3,.fiche-row{grid-template-columns:1fr;}
  .cockpit-grid{grid-template-columns:1fr;}
  .kpis{grid-template-columns:1fr 1fr;}
  .wrap,.topbar{padding-left:20px;padding-right:20px;}
}
