
/* ═══════════════════════════════════════════════════
   JSI 2026 · DESIGN SYSTEM
═══════════════════════════════════════════════════ */
:root {
  --t950:#071f21;--t900:#0d3d40;--t800:#0e4e52;--t700:#0f5c62;
  --t600:#147880;--t500:#1a8a94;--t400:#22aab8;--t300:#4dc9d6;
  --t200:#96e2ea;--t100:#d0f3f6;--t50:#eafbfc;
  --c700:#c2391d;--c600:#e8573a;--c500:#f06942;--c400:#ff8a65;
  --c300:#ffab8a;--c100:#ffe8de;
  --l700:#5a3f9e;--l600:#7c5cbf;--l500:#9b7dd4;--l300:#c4adee;--l100:#ede8fa;
  --g600:#d4922a;--g500:#f5b942;--g300:#fcd97a;--g100:#fef6dd;
  --ok:#16a34a;--warn:#d97706;--err:#dc2626;
  --white:#fff;--gray50:#f7fffe;--gray100:#eef5f5;--gray150:#e4eeee;
  --gray200:#ddeced;--gray300:#c2d8da;--gray400:#8aacae;--gray500:#5e8a8d;
  --gray600:#3d6466;--gray700:#2a4a4c;--gray800:#1a3537;--gray900:#0f2224;
  --fd:'Syne',sans-serif;--fb:'DM Sans',sans-serif;--fm:'Space Mono',monospace;
  --rXS:6px;--rSM:10px;--rMD:16px;--rLG:24px;--rXL:32px;--r2XL:44px;--rFULL:9999px;
  --shSM:0 2px 12px rgba(13,61,64,.08);--shMD:0 8px 32px rgba(13,61,64,.12);
  --shLG:0 20px 60px rgba(13,61,64,.16);--shXL:0 32px 80px rgba(13,61,64,.22);
  --shC:0 8px 32px rgba(240,105,66,.28);--shT:0 8px 32px rgba(26,138,148,.28);
  --ease:cubic-bezier(.4,0,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--fb);background:var(--gray50);color:var(--gray800);line-height:1.6;overflow-x:hidden;min-height:100vh}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--t50)}
::-webkit-scrollbar-thumb{background:var(--t300);border-radius:99px}
h1,h2,h3,h4,h5{font-family:var(--fd);line-height:1.12}
a{color:inherit;text-decoration:none}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ── PAGE SYSTEM ── */
.page{display:none}
.page.active{display:block}

/* ── CURSOR ── */
#cDot{width:7px;height:7px;background:var(--c500);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .08s}
#cRing{width:34px;height:34px;border:2px solid var(--t400);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .1s ease,width .2s,height .2s,border-color .2s;opacity:.55}

/* ── NAVBAR ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:16px 44px;background:rgba(255,255,255,.88);backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(26,138,148,.08);transition:all .3s var(--ease)}
.nav.scrolled{padding:11px 44px;box-shadow:var(--shMD)}
.nav-logo{display:flex;align-items:center;gap:13px;cursor:pointer}
.nav-badge{width:44px;height:44px;background:linear-gradient(135deg,var(--t500),var(--t800));border-radius:13px;display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:10px;font-weight:700;color:#fff;letter-spacing:-.3px;line-height:1.3;text-align:center;box-shadow:var(--shT)}
.nav-title{font-family:var(--fd);font-size:17px;font-weight:800;color:var(--t700);display:block;line-height:1}
.nav-sub{font-size:10px;color:var(--gray400);letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{display:block;padding:7px 16px;font-size:13px;font-weight:500;color:var(--gray600);border-radius:var(--rFULL);transition:all .25s var(--ease);cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--t600);background:var(--t50)}
.nav-actions{display:flex;align-items:center;gap:9px}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;font-family:var(--fb);font-size:13px;font-weight:600;border:none;border-radius:var(--rFULL);cursor:pointer;transition:all .45s var(--spring);position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.13);transform:translateX(-101%);transition:transform .3s var(--ease)}
.btn:hover::after{transform:translateX(0)}
.btn-primary{background:linear-gradient(135deg,var(--c500),var(--c700));color:#fff;box-shadow:var(--shC)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 44px rgba(240,105,66,.42)}
.btn-teal{background:linear-gradient(135deg,var(--t500),var(--t800));color:#fff;box-shadow:var(--shT)}
.btn-teal:hover{transform:translateY(-2px);box-shadow:0 14px 44px rgba(26,138,148,.42)}
.btn-ghost{background:transparent;color:var(--t600);border:1.5px solid var(--gray300)}
.btn-ghost:hover{background:var(--t50);border-color:var(--t400)}
.btn-outline-white{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);color:#fff}
.btn-outline-white:hover{background:rgba(255,255,255,.18)}
.btn-danger{background:linear-gradient(135deg,var(--err),#b91c1c);color:#fff}
.btn-success{background:linear-gradient(135deg,var(--ok),#15803d);color:#fff}
.btn-lavender{background:linear-gradient(135deg,var(--l500),var(--l700));color:#fff}
.btn-gold{background:linear-gradient(135deg,var(--g500),var(--g600));color:#fff}
.btn-lg{padding:15px 36px;font-size:15px}
.btn-sm{padding:7px 15px;font-size:12px}
.btn-xs{padding:4px 11px;font-size:11px}
.btn-icon{width:34px;height:34px;padding:0;justify-content:center;border-radius:10px;font-size:15px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}

/* ── BADGES ── */
.badge{display:inline-block;padding:3px 11px;border-radius:var(--rFULL);font-size:10px;font-weight:700;letter-spacing:.04em}
.badge-ok{background:rgba(22,163,74,.1);color:#15803d}
.badge-warn{background:rgba(217,119,6,.12);color:#b45309}
.badge-err{background:rgba(220,38,38,.1);color:#b91c1c}
.badge-teal{background:rgba(26,138,148,.1);color:var(--t700)}
.badge-coral{background:var(--c100);color:var(--c700)}
.badge-lavender{background:var(--l100);color:var(--l700)}
.badge-gold{background:var(--g100);color:var(--g600)}
.badge-gray{background:var(--gray100);color:var(--gray600)}
.badge-info{background:rgba(22,163,74,.08);color:#166534}

/* ── FORMS ── */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--gray700);margin-bottom:6px;letter-spacing:.02em}
.form-label .req{color:var(--c500)}
.fi,.fs,.ft{width:100%;padding:11px 14px;background:var(--gray50);border:1.5px solid var(--gray200);border-radius:var(--rSM);font-family:var(--fb);font-size:14px;color:var(--gray800);transition:all .25s var(--ease);outline:none;appearance:none}
.fi:focus,.fs:focus,.ft:focus{border-color:var(--t400);background:#fff;box-shadow:0 0 0 4px rgba(26,138,148,.1)}
.ft{resize:vertical;min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.form-msg{padding:11px 14px;border-radius:var(--rSM);font-size:13px;margin-bottom:14px;display:none}
.form-err{background:rgba(220,38,38,.07);border:1px solid rgba(220,38,38,.2);color:#b91c1c}
.form-suc{background:rgba(26,138,148,.07);border:1px solid rgba(26,138,148,.18);color:var(--t700)}
.form-warn{background:rgba(217,119,6,.07);border:1px solid rgba(217,119,6,.2);color:#b45309}

/* ── CARDS ── */
.card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);overflow:hidden}
.card-header{padding:20px 24px;border-bottom:1px solid var(--gray100);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:16px;font-weight:800;color:var(--t900)}
.card-body{padding:24px}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;padding:10px 14px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray400);border-bottom:1.5px solid var(--gray100);background:var(--gray50)}
.tbl td{padding:12px 14px;font-size:13px;color:var(--gray800);border-bottom:1px solid var(--gray100);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--t50)}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(7,31,33,.65);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px;animation:bgIn .2s ease}
@keyframes bgIn{from{opacity:0}to{opacity:1}}
.modal{background:#fff;border-radius:var(--r2XL);width:100%;max-width:600px;max-height:93vh;overflow-y:auto;box-shadow:0 48px 128px rgba(7,31,33,.35),0 0 0 1px rgba(26,138,148,.1);animation:mIn .35s var(--spring)}
.modal-wide{max-width:800px}
.modal-xl{max-width:1000px}
@keyframes mIn{from{opacity:0;transform:translateY(28px) scale(.95)}to{opacity:1;transform:none}}
.modal-topbar{height:4px;background:linear-gradient(90deg,var(--t400),var(--c400),var(--l500));border-radius:var(--r2XL) var(--r2XL) 0 0}
.modal-header{padding:24px 32px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray100);position:sticky;top:0;background:#fff;z-index:2}
.modal-title{font-size:20px;font-weight:800;color:var(--t900)}
.modal-close{width:34px;height:34px;background:var(--gray100);border:none;border-radius:9px;cursor:pointer;font-size:15px;color:var(--gray500);display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease)}
.modal-close:hover{background:var(--c500);color:#fff;transform:rotate(90deg)}
.modal-body{padding:22px 32px 32px}

/* ── SIDEBAR LAYOUT ── */
.dash-layout{display:grid;grid-template-columns:270px 1fr;min-height:100vh;padding-top:72px}
.sidebar{background:var(--t900);padding:24px 18px;position:fixed;left:0;top:72px;width:270px;height:calc(100vh - 72px);overflow-y:auto;display:flex;flex-direction:column;gap:4px;z-index:100}
.sb-user{padding:16px;background:rgba(255,255,255,.06);border-radius:var(--rMD);margin-bottom:12px}
.sb-avatar{width:46px;height:46px;background:linear-gradient(135deg,var(--t400),var(--c400));border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#fff;margin-bottom:10px}
.sb-name{font-size:14px;font-weight:700;color:#fff}
.sb-role{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.sb-section{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.22);padding:12px 12px 5px}
.sb-link{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:var(--rSM);color:rgba(255,255,255,.55);font-size:13px;font-weight:500;transition:all .25s var(--ease);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}
.sb-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sb-link.active{background:linear-gradient(135deg,rgba(240,105,66,.25),rgba(240,105,66,.1));color:#fff;border:1px solid rgba(240,105,66,.28)}
.sb-link .si{font-size:16px;flex-shrink:0}
.sb-badge{margin-left:auto;background:var(--c500);color:#fff;font-size:9px;font-weight:700;padding:2px 7px;border-radius:var(--rFULL)}
.dash-main{margin-left:270px;padding:36px;min-height:calc(100vh - 72px);background:var(--gray50)}

/* ── KPI CARDS ── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px;margin-bottom:24px}
.kpi{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);padding:24px 20px;position:relative;overflow:hidden;transition:all .3s var(--ease)}
.kpi:hover{box-shadow:var(--shMD);transform:translateY(-3px)}
.kpi::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px}
.kpi.teal::after{background:linear-gradient(90deg,var(--t400),var(--t600))}
.kpi.coral::after{background:linear-gradient(90deg,var(--c400),var(--c600))}
.kpi.lav::after{background:linear-gradient(90deg,var(--l300),var(--l600))}
.kpi.gold::after{background:linear-gradient(90deg,var(--g300),var(--g600))}
.kpi.ok::after{background:linear-gradient(90deg,#4ade80,#16a34a)}
.kpi-icon{font-size:28px;margin-bottom:12px}
.kpi-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray400);margin-bottom:6px}
.kpi-val{font-family:var(--fm);font-size:28px;font-weight:700;color:var(--t900);line-height:1}
.kpi-sub{font-size:11px;color:var(--gray400);margin-top:5px}

/* ── SECTION UTILITY ── */
.section-tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:var(--rFULL);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.tag-teal{background:var(--t50);color:var(--t600)}
.tag-coral{background:var(--c100);color:var(--c700)}
.tag-lav{background:var(--l100);color:var(--l700)}
.tag-gold{background:var(--g100);color:var(--g600)}
.sec-title{font-size:clamp(32px,4vw,56px);font-weight:800;margin-bottom:16px;color:var(--t900)}
.grad{background:linear-gradient(135deg,var(--t500),var(--c500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sec-desc{font-size:17px;color:var(--gray400);max-width:560px;line-height:1.75}

/* ── TOAST ── */
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:800;display:flex;flex-direction:column;gap:9px}
.toast{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--rMD);padding:13px 17px;box-shadow:0 12px 44px rgba(13,61,64,.2);min-width:290px;max-width:380px;animation:tIn .3s var(--spring);border-left:4px solid var(--t400)}
.toast.err{border-left-color:var(--c500)}
.toast.warn{border-left-color:var(--g500)}
@keyframes tIn{from{transform:translateX(110%);opacity:0}to{transform:none;opacity:1}}
.toast-msg{font-size:13px;color:var(--gray700);flex:1}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
.rd1{transition-delay:.1s}.rd2{transition-delay:.2s}.rd3{transition-delay:.3s}.rd4{transition-delay:.4s}

/* ── PROGRESS STEPS ── */
.steps-wrap{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rXL);padding:28px;margin-bottom:22px}
.steps-title{font-size:14px;font-weight:700;color:var(--t900);margin-bottom:20px}
.steps-track{display:flex;align-items:center}
.step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1}
.step-c{width:48px;height:48px;border-radius:50%;background:var(--gray100);border:2.5px solid var(--gray200);display:flex;align-items:center;justify-content:center;font-size:17px;transition:all .5s var(--spring)}
.step.done .step-c{background:linear-gradient(135deg,var(--t400),var(--t600));border-color:var(--t400);box-shadow:var(--shT)}
.step.active .step-c{border-color:var(--c500);background:#fff;box-shadow:0 0 0 6px rgba(240,105,66,.14)}
.step-label{font-size:11px;font-weight:600;color:var(--gray400);margin-top:8px;text-align:center}
.step.done .step-label,.step.active .step-label{color:var(--t700)}
.step-conn{flex:1;height:2px;background:var(--gray200);margin:0 -4px;position:relative;top:-20px;z-index:0;transition:all .3s}
.step-conn.done{background:linear-gradient(90deg,var(--t400),var(--t600))}

/* ── TABS ── */
.tab-bar{display:flex;gap:5px;background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rFULL);padding:4px;width:fit-content;margin-bottom:28px}
.tab-btn{padding:9px 22px;border-radius:var(--rFULL);font-size:13px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--gray400);transition:all .25s var(--ease)}
.tab-btn.active{background:linear-gradient(135deg,var(--t500),var(--t800));color:#fff;box-shadow:var(--shT)}
.tab-content{display:none}.tab-content.active{display:block;animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ── PILL SELECTOR ── */
.pill-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pill{padding:6px 16px;border-radius:var(--rFULL);border:1.5px solid var(--gray200);font-size:12px;font-weight:600;cursor:pointer;transition:all .25s var(--ease);background:#fff;color:var(--gray600)}
.pill:hover{border-color:var(--t300);color:var(--t600);background:var(--t50)}
.pill.sel{border-color:var(--t500);color:var(--t700);background:var(--t50);box-shadow:0 0 0 3px rgba(26,138,148,.12)}

/* ── PROGRESS BAR ── */
.progress-bar-wrap{height:6px;background:var(--gray200);border-radius:6px;overflow:hidden;margin-top:6px}
.progress-bar{height:100%;border-radius:6px;transition:width .5s ease}
.pb-teal{background:linear-gradient(90deg,var(--t400),var(--t600))}
.pb-coral{background:linear-gradient(90deg,var(--c400),var(--c600))}
.pb-lav{background:linear-gradient(90deg,var(--l300),var(--l600))}
.pb-gold{background:linear-gradient(90deg,var(--g300),var(--g600))}
.pb-ok{background:linear-gradient(90deg,#4ade80,#16a34a)}
.pb-err{background:linear-gradient(90deg,#f87171,#dc2626)}

/* ── AVATAR ── */
.avatar{border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}
.av-sm{width:36px;height:36px;font-size:13px;border-radius:9px}
.av-md{width:48px;height:48px;font-size:18px;border-radius:13px}
.av-lg{width:72px;height:72px;font-size:26px;border-radius:18px}

/* ── TIMELINE ── */
.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:20px;margin-bottom:12px;align-items:start}
.tl-time{text-align:right;padding-top:16px;font-family:var(--fm);font-size:12px;font-weight:700;color:var(--t500)}
.tl-card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rMD);padding:16px 20px;transition:all .25s var(--ease)}
.tl-card:hover{border-color:var(--t300);box-shadow:var(--shSM);transform:translateX(3px)}
.tl-type{display:inline-block;padding:2px 10px;border-radius:var(--rFULL);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.tl-card h4{font-size:15px;font-weight:700;color:var(--t900);margin-bottom:6px}
.tl-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--gray400)}

/* ── SCORE BADGE ── */
.score-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;font-family:var(--fm);font-size:14px;font-weight:700}
.score-pos{background:rgba(22,163,74,.1);color:#15803d}
.score-neg{background:rgba(220,38,38,.1);color:#b91c1c}
.score-neu{background:var(--gray100);color:var(--gray600)}

/* ── STAR RATING ── */
.stars{display:flex;gap:3px}
.star{font-size:16px;cursor:pointer;transition:transform .15s ease}
.star:hover{transform:scale(1.2)}
.star.filled{color:var(--g500)}
.star.empty{color:var(--gray200)}

/* ── REVIEW GRID ── */
.review-criteria{display:flex;flex-direction:column;gap:16px}
.rc-item{background:var(--gray50);border:1.5px solid var(--gray150);border-radius:var(--rMD);padding:16px}
.rc-label{font-size:12px;font-weight:700;color:var(--t900);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.rc-options{display:flex;gap:8px;flex-wrap:wrap}
.rc-opt{padding:5px 12px;border-radius:var(--rFULL);border:1.5px solid var(--gray200);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s var(--ease);background:#fff}
.rc-opt:hover{border-color:var(--t300)}
.rc-opt.sel-sa{border-color:#15803d;background:rgba(22,163,74,.1);color:#15803d}
.rc-opt.sel-a{border-color:var(--t500);background:var(--t50);color:var(--t700)}
.rc-opt.sel-r{border-color:var(--c500);background:var(--c100);color:var(--c700)}

/* ── DRAG INDICATOR ── */
.drop-zone{border:2px dashed var(--gray300);border-radius:var(--rMD);padding:32px;text-align:center;transition:all .25s var(--ease);cursor:pointer;color:var(--gray400)}
.drop-zone:hover{border-color:var(--t400);background:var(--t50);color:var(--t600)}
.drop-zone.dragging{border-color:var(--t400);background:var(--t50)}

/* ── QR MOCK ── */
.qr-mock{width:120px;height:120px;background:var(--gray900);border-radius:12px;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);padding:10px;gap:1px}
.qr-cell{border-radius:1px}
.qr-dark{background:#fff}
.qr-light{background:transparent}

/* ── CHART MOCK ── */
.chart-bars{display:flex;align-items:flex-end;gap:8px;height:120px;padding:0 8px}
.chart-bar{flex:1;border-radius:6px 6px 0 0;transition:height .8s var(--ease);min-width:20px;cursor:pointer}
.chart-bar:hover{filter:brightness(1.1)}

/* ── EMAIL PREVIEW ── */
.email-preview{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);overflow:hidden}
.email-header-bar{height:3px;background:linear-gradient(90deg,var(--t400),var(--c400))}
.email-meta{padding:18px 24px;border-bottom:1px solid var(--gray100);font-size:12px;color:var(--gray500)}
.email-subject{padding:16px 24px 8px;font-size:16px;font-weight:700;color:var(--t900)}
.email-body{padding:12px 24px 24px;font-size:13.5px;color:var(--gray700);line-height:1.8}
.email-cta{margin:20px 24px;background:linear-gradient(135deg,var(--t500),var(--t700));color:#fff;padding:14px 28px;border-radius:var(--rFULL);font-size:14px;font-weight:700;text-align:center;display:inline-block}

/* ── AGENDA SLOT ── */
.agenda-slot{background:#fff;border-left:3px solid var(--t400);border-radius:0 var(--rSM) var(--rSM) 0;padding:10px 14px;margin-bottom:6px;transition:all .25s var(--ease)}
.agenda-slot:hover{box-shadow:var(--shSM)}
.agenda-slot.type-atelier{border-left-color:var(--c500)}
.agenda-slot.type-pleniere{border-left-color:var(--t500)}
.agenda-slot.type-poster{border-left-color:var(--l500)}
.agenda-slot.type-ceremonie{border-left-color:var(--g500)}
.agenda-slot h5{font-size:13px;font-weight:700;color:var(--t900);margin-bottom:3px}
.agenda-slot .as-meta{font-size:11px;color:var(--gray400)}

/* ── NOTIFICATION ITEM ── */
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-bottom:1px solid var(--gray100);transition:all .2s var(--ease)}
.notif-item:hover{background:var(--t50)}
.notif-item.unread{background:rgba(26,138,148,.03)}
.notif-dot{width:8px;height:8px;background:var(--c500);border-radius:50%;flex-shrink:0;margin-top:6px}
.notif-body{flex:1}
.notif-title{font-size:13px;font-weight:600;color:var(--gray800);margin-bottom:2px}
.notif-text{font-size:12px;color:var(--gray400);line-height:1.5}
.notif-time{font-size:10px;color:var(--gray300);margin-top:4px;font-family:var(--fm)}

/* ── EDITION CARD ── */
.edition-card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rXL);overflow:hidden;transition:all .3s var(--ease)}
.edition-card:hover{box-shadow:var(--shLG);transform:translateY(-4px)}
.edition-banner{height:100px;position:relative;display:flex;align-items:flex-end;padding:16px}
.edition-year{font-family:var(--fm);font-size:48px;font-weight:700;color:rgba(255,255,255,.2);position:absolute;right:16px;top:8px}
.edition-body{padding:20px}
.edition-title{font-size:17px;font-weight:800;color:var(--t900);margin-bottom:6px}
.edition-meta{font-size:12px;color:var(--gray400);margin-bottom:14px;line-height:1.6}

/* ── LOADER ── */
.page-loader{position:fixed;inset:0;z-index:900;background:var(--t950);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px;transition:opacity .6s ease}
.loader-emblem{width:84px;height:84px;background:linear-gradient(135deg,var(--t400),var(--c500));border-radius:24px;display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:18px;font-weight:700;color:#fff;animation:lPulse 2s ease-in-out infinite}
@keyframes lPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(77,201,214,.5)}50%{transform:scale(1.04);box-shadow:0 0 0 20px rgba(77,201,214,0)}}
.loader-label{color:rgba(255,255,255,.4);font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.loader-track{width:200px;height:2px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.loader-fill{height:100%;width:0;background:linear-gradient(90deg,var(--t400),var(--c400));animation:lFill 1.8s ease forwards}
@keyframes lFill{to{width:100%}}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:116px 44px 80px}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--t950) 0%,var(--t800) 45%,var(--t600) 100%)}
.hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(240,105,66,.15),transparent 50%),radial-gradient(circle at 80% 20%,rgba(77,201,214,.12),transparent 45%)}
.hero-grid{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-grid::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.6) 30%,rgba(0,0,0,.3) 70%,transparent)}
.hero-content{position:relative;z-index:2;max-width:1220px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 420px;gap:68px;align-items:center}
.hero-left{color:#fff}
.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--rFULL);font-size:11.5px;font-weight:600;letter-spacing:.05em;color:var(--t100);margin-bottom:28px;animation:fU .8s ease both;backdrop-filter:blur(8px)}
.live-dot{width:7px;height:7px;background:var(--c400);border-radius:50%;flex-shrink:0;animation:lvPulse 2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(255,138,101,.6)}
@keyframes lvPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,138,101,.6)}50%{box-shadow:0 0 0 7px rgba(255,138,101,0)}}
.hero-title{font-size:clamp(40px,5.5vw,76px);font-weight:800;line-height:1.04;margin-bottom:12px;animation:fU .8s .08s ease both}
.hero-title .acc{color:var(--c400)}
.hero-title .yr{font-family:var(--fm);color:var(--t300);font-size:.66em;letter-spacing:-.02em}
.hero-sub{font-size:clamp(16px,2vw,22px);font-weight:500;color:rgba(255,255,255,.7);margin-bottom:18px;animation:fU .8s .16s ease both}
.hero-theme{font-size:14px;color:rgba(255,255,255,.52);font-style:italic;margin-bottom:40px;line-height:1.6;padding:14px 18px;border-left:3px solid var(--t400);background:rgba(255,255,255,.05);border-radius:0 var(--rSM) var(--rSM) 0;animation:fU .8s .24s ease both}
.hero-theme strong{color:var(--g300);font-style:normal}
.hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:48px;animation:fU .8s .32s ease both}
.hero-meta-item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.75)}
.hero-meta-icon{width:36px;height:36px;background:rgba(255,255,255,.1);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;border:1px solid rgba(255,255,255,.1)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;animation:fU .8s .4s ease both}
@keyframes fU{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}

/* COUNTDOWN */
.cd-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(24px);border-radius:var(--rXL);padding:32px;color:#fff;animation:fR .8s .3s ease both;position:relative;overflow:hidden}
.cd-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--t400),var(--c400))}
.cd-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:22px;font-weight:600;display:flex;align-items:center;gap:7px}
.cd-eyebrow::before{content:'';width:6px;height:6px;background:var(--c400);border-radius:50%}
.cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.cd-unit{text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:var(--rMD);padding:14px 5px}
.cd-num{font-family:var(--fm);font-size:clamp(24px,3vw,42px);font-weight:700;color:#fff;display:block;line-height:1}
.cd-lbl{font-size:8px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.12em;margin-top:7px;display:block}
.stats-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(24px);border-radius:var(--rXL);padding:22px 28px;color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;animation:fR .8s .48s ease both}
.stat-num{font-family:var(--fm);font-size:28px;font-weight:700;color:var(--t300);display:block}
.stat-lbl{font-size:11px;color:rgba(255,255,255,.4);margin-top:3px}

/* ── THEMES ── */
.themes-section{background:var(--gray50)}
.themes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(256px,1fr));gap:22px;margin-top:56px}
.theme-card{border-radius:var(--rXL);padding:40px 30px;position:relative;overflow:hidden;cursor:default;transition:all .3s var(--ease)}
.theme-card:hover{transform:translateY(-7px);box-shadow:var(--shXL)}
.theme-aura{position:absolute;top:-40%;right:-20%;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.1);transition:all .5s var(--spring)}
.theme-card:hover .theme-aura{transform:scale(1.4)}
.theme-num{font-family:var(--fm);font-size:68px;font-weight:700;color:rgba(255,255,255,.12);line-height:1;position:absolute;top:12px;right:20px}
.theme-icon{font-size:48px;margin-bottom:18px;position:relative;display:block}
.theme-card h3{font-size:21px;font-weight:800;color:#fff;margin-bottom:10px;position:relative}
.theme-card p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.65;position:relative}

/* ── FEATURES ── */
.features-section{background:#fff}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:60px}
.feat-card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);padding:32px 28px;position:relative;overflow:hidden;transition:all .3s var(--ease)}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--t400),var(--c400));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.feat-card:hover{border-color:var(--t300);box-shadow:var(--shLG);transform:translateY(-6px)}
.feat-card:hover::before{transform:scaleX(1)}
.feat-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--t50),var(--t100));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px;transition:all .5s var(--spring);border:1.5px solid var(--t100)}
.feat-card:hover .feat-icon{transform:scale(1.1) rotate(-6deg)}
.feat-card h3{font-size:18px;font-weight:700;color:var(--t900);margin-bottom:9px}
.feat-card p{font-size:13.5px;color:var(--gray500);line-height:1.7}
.feat-chip{display:inline-block;margin-top:16px;padding:3px 11px;border-radius:var(--rFULL);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

/* ── TARIFS ── */
.tarifs-section{background:linear-gradient(135deg,var(--t950),var(--t800));color:#fff;position:relative;overflow:hidden}
.tarifs-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 10% 90%,rgba(240,105,66,.12),transparent 40%),radial-gradient(circle at 90% 10%,rgba(77,201,214,.1),transparent 40%)}
.tarifs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:16px;margin-top:52px;position:relative}
.tarif-card{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.1);border-radius:var(--rLG);padding:28px 22px;text-align:center;transition:all .3s var(--ease);position:relative;overflow:hidden}
.tarif-card.featured{background:rgba(255,255,255,.14);border-color:var(--c400)}
.tarif-card.featured::before{content:'Populaire';position:absolute;top:16px;right:-24px;background:var(--c500);color:#fff;font-size:9px;font-weight:700;padding:4px 32px;transform:rotate(35deg);letter-spacing:.07em}
.tarif-card:hover{background:rgba(255,255,255,.14);transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.25)}
.tarif-icon{font-size:40px;margin-bottom:14px;display:block}
.tarif-cat{font-size:14px;font-weight:700;color:#fff;margin-bottom:10px}
.tarif-prix{font-family:var(--fm);font-size:40px;font-weight:700;color:var(--t300);line-height:1;margin-bottom:4px}
.tarif-unit{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:20px}

/* ── FOOTER ── */
footer{background:var(--t950);position:relative;overflow:hidden}
.footer-topbar{height:3px;width:100%;background:linear-gradient(90deg,var(--t400) 0%,var(--c400) 40%,var(--l500) 70%,var(--t300) 100%)}
.footer-inner{max-width:1220px;margin:0 auto;padding:60px 44px 32px;position:relative}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-brand-name{font-family:var(--fd);font-size:22px;font-weight:800;color:#fff;display:block}
.footer-brand-tagline{font-size:10px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.1em;display:block;margin-top:2px}
.footer-brand p{font-size:13px;line-height:1.75;color:rgba(255,255,255,.42);margin:16px 0 20px}
.uni-chip{padding:4px 13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--rFULL);font-size:10px;font-weight:700;color:rgba(255,255,255,.5);font-family:var(--fm);transition:all .25s var(--ease);display:inline-block;margin:3px}
.uni-chip:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
.footer-col h4{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:16px}
.footer-col a{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(255,255,255,.38);margin-bottom:10px;transition:all .25s var(--ease)}
.footer-col a:hover{color:var(--t300)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:10px;font-size:11.5px;color:rgba(255,255,255,.28)}
.footer-bottom strong{color:rgba(255,255,255,.44)}

/* ── SPECIFIC MODULE STYLES ── */
.prog-badge{display:inline-block;padding:2px 10px;border-radius:var(--rFULL);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.t-ple{background:rgba(26,138,148,.1);color:var(--t700)}
.t-ate{background:rgba(240,105,66,.1);color:var(--c700)}
.t-cer{background:var(--l100);color:var(--l700)}
.t-com{background:rgba(245,185,66,.15);color:var(--g600)}
.t-pos{background:rgba(46,196,182,.12);color:#0d7a72}

.abstract-status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--rFULL);font-size:11px;font-weight:700}
.as-draft{background:var(--gray100);color:var(--gray600)}
.as-submitted{background:rgba(26,138,148,.1);color:var(--t700)}
.as-review{background:rgba(217,119,6,.1);color:#b45309}
.as-accepted{background:rgba(22,163,74,.1);color:#15803d}
.as-rejected{background:rgba(220,38,38,.1);color:#b91c1c}
.as-revision{background:var(--l100);color:var(--l700)}

.payment-status{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:var(--rFULL);font-size:10px;font-weight:700}
.ps-paid{background:rgba(22,163,74,.1);color:#15803d}
.ps-pending{background:rgba(217,119,6,.1);color:#b45309}
.ps-failed{background:rgba(220,38,38,.1);color:#b91c1c}
.ps-manual{background:var(--l100);color:var(--l700)}

/* Quota bar for ateliers */
.quota-bar{display:flex;align-items:center;gap:10px;margin-top:8px}
.quota-text{font-family:var(--fm);font-size:11px;color:var(--gray400);min-width:50px;text-align:right}

/* document card */
.doc-card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);padding:24px;text-align:center;transition:all .3s var(--ease)}
.doc-card:hover{box-shadow:var(--shMD);transform:translateY(-3px)}
.doc-icon{font-size:48px;margin-bottom:14px;display:block}
.doc-label{font-size:13px;font-weight:700;color:var(--t900);margin-bottom:6px}
.doc-status{font-size:11px;margin-bottom:16px}

/* co-auteur row */
.coauteur-row{background:var(--gray50);border:1.5px solid var(--gray150);border-radius:var(--rMD);padding:14px;margin-bottom:10px;position:relative}
.coauteur-remove{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;color:var(--c500);font-size:18px}

/* Role selector */
.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:8px}
.role-card{background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rLG);padding:18px;text-align:center;cursor:pointer;transition:all .25s var(--ease)}
.role-card:hover{border-color:var(--t300);background:var(--t50)}
.role-card.sel{border-color:var(--t500);background:var(--t50);box-shadow:0 0 0 3px rgba(26,138,148,.14)}
.role-card .ri{font-size:32px;margin-bottom:10px;display:block}
.role-card h4{font-size:13px;font-weight:700;color:var(--t900);margin-bottom:4px}
.role-card p{font-size:11px;color:var(--gray400)}

/* 2FA */
.twofa-card{background:linear-gradient(135deg,var(--t50),rgba(26,138,148,.05));border:1.5px solid var(--t100);border-radius:var(--rMD);padding:18px;text-align:center;margin-bottom:20px;position:relative;overflow:hidden}
.twofa-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--t400),var(--c400))}
.code-input{width:100%;text-align:center;letter-spacing:.4em;font-family:var(--fm);font-size:26px;font-weight:700;color:var(--t800);padding:16px;background:var(--gray50);border:2px solid var(--t200);border-radius:var(--rMD);outline:none;transition:all .25s var(--ease)}
.code-input:focus{border-color:var(--t400);background:#fff;box-shadow:0 0 0 5px rgba(26,138,148,.12)}

/* search bar */
.search-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--gray200);border-radius:var(--rFULL);padding:10px 18px;transition:all .25s var(--ease)}
.search-bar:focus-within{border-color:var(--t400);box-shadow:0 0 0 4px rgba(26,138,148,.1)}
.search-bar input{border:none;outline:none;background:transparent;font-size:14px;flex:1;font-family:var(--fb)}

/* Filter tags */
.filter-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.ftag{padding:5px 14px;border-radius:var(--rFULL);border:1.5px solid var(--gray200);font-size:12px;font-weight:600;cursor:pointer;background:#fff;color:var(--gray600);transition:all .2s var(--ease)}
.ftag:hover,.ftag.active{border-color:var(--t400);color:var(--t600);background:var(--t50)}

/* rating display */
.rating-display{display:flex;align-items:center;gap:8px}
.rating-num{font-family:var(--fm);font-size:22px;font-weight:700;color:var(--t900)}
.rating-bar-stack{flex:1}
.rating-row{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:11px;color:var(--gray400)}
.rating-row-bar{flex:1;height:5px;background:var(--gray150);border-radius:5px;overflow:hidden}
.rating-row-fill{height:100%;border-radius:5px;background:var(--g500)}

/* word counter */
.word-counter{font-family:var(--fm);font-size:12px;padding:6px 14px;border-radius:var(--rFULL);display:inline-flex;align-items:center;gap:6px}
.wc-ok{background:rgba(26,138,148,.08);color:var(--t700)}
.wc-warn{background:rgba(217,119,6,.1);color:#b45309}
.wc-err{background:rgba(220,38,38,.1);color:#b91c1c}

/* strength bar */
.pwd-wrap{height:4px;background:var(--gray200);border-radius:4px;margin-top:7px;overflow:hidden}
.pwd-bar{height:100%;border-radius:4px;transition:all .45s var(--ease)}

/* switch toggle */
.sw-wrap{display:flex;align-items:center;gap:10px;cursor:pointer}
.sw{width:42px;height:24px;background:var(--gray300);border-radius:12px;position:relative;transition:all .3s ease}
.sw.on{background:var(--t500)}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.sw.on::after{left:21px}


/* ── DASHBOARD PRO REFINEMENT ── */
.dash-main{padding:34px;background:linear-gradient(180deg,#f7fffe 0%,#f3fbfb 100%)}
.dash-shell{display:flex;flex-direction:column;gap:22px}
.dash-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f5fdfd 58%,#eef9fa 100%);border:1px solid var(--gray200);border-radius:28px;padding:28px 30px;box-shadow:var(--shSM)}
.dash-hero::before{content:'';position:absolute;inset:auto -40px -70px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(77,201,214,.22),transparent 66%)}
.dash-hero::after{content:'';position:absolute;top:-45px;right:80px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(240,105,66,.12),transparent 70%)}
.dash-hero-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;position:relative;z-index:1}
.dash-overline{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--t50);color:var(--t700);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.dash-title{font-size:clamp(24px,3vw,38px);font-weight:800;color:var(--t950);margin-bottom:8px;line-height:1.05}
.dash-subtitle{font-size:14px;color:var(--gray500);max-width:760px;line-height:1.7}
.dash-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.hero-side-metrics{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px;min-width:min(100%,320px)}
.hero-mini{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid var(--gray150);border-radius:18px;padding:14px 16px}
.hero-mini-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray400);margin-bottom:8px}
.hero-mini-val{font-family:var(--fm);font-size:22px;font-weight:700;color:var(--t900);line-height:1}
.hero-mini-sub{font-size:11px;color:var(--gray400);margin-top:6px}
.content-grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}
.content-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.stack{display:flex;flex-direction:column;gap:18px}
.panel{background:#fff;border:1.5px solid var(--gray200);border-radius:24px;box-shadow:var(--shSM);overflow:hidden}
.panel-head{padding:18px 22px;border-bottom:1px solid var(--gray100);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#fff, #fbfefe)}
.panel-title{font-size:15px;font-weight:800;color:var(--t900)}
.panel-sub{font-size:12px;color:var(--gray400);margin-top:2px}
.panel-body{padding:22px}
.info-list{display:flex;flex-direction:column;gap:12px}
.info-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--gray100);border-radius:16px;background:var(--gray50)}
.info-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--t50);font-size:17px;flex-shrink:0}
.info-title{font-size:13px;font-weight:700;color:var(--t900);margin-bottom:3px}
.info-text{font-size:12px;color:var(--gray500);line-height:1.6}
.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.action-tile{background:linear-gradient(180deg,#fff,#f9fdfd);border:1.5px solid var(--gray150);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px;transition:all .25s var(--ease)}
.action-tile:hover{transform:translateY(-3px);box-shadow:var(--shMD);border-color:var(--t200)}
.action-tile-title{font-size:14px;font-weight:800;color:var(--t900)}
.action-tile-text{font-size:12px;color:var(--gray500);line-height:1.6}
.list-card{background:#fff;border:1.5px solid var(--gray200);border-radius:20px;padding:18px 20px;transition:all .25s var(--ease)}
.list-card:hover{transform:translateY(-2px);box-shadow:var(--shMD);border-color:var(--t200)}
.list-card + .list-card{margin-top:14px}
.list-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--gray400);margin-top:10px}
.stat-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.stat-tile{background:linear-gradient(180deg,#fff,#fbfefe);border:1.5px solid var(--gray150);border-radius:20px;padding:18px}
.stat-tile-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray400);margin-bottom:8px}
.stat-tile-val{font-family:var(--fm);font-size:28px;font-weight:700;color:var(--t900);line-height:1}
.stat-tile-sub{font-size:12px;color:var(--gray500);margin-top:8px}
.priority-list{display:flex;flex-direction:column;gap:12px}
.priority-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--gray100);border-radius:16px;background:#fff}
.priority-rank{width:34px;height:34px;border-radius:10px;background:var(--t50);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--t700)}
.priority-main{min-width:0}
.priority-title{font-size:13px;font-weight:700;color:var(--t900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.priority-sub{font-size:11.5px;color:var(--gray400);margin-top:3px}
.priority-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.soft-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gray200),transparent);margin:4px 0}
@media(max-width:980px){.content-grid-2,.content-grid-3{grid-template-columns:1fr}.hero-side-metrics{grid-template-columns:1fr 1fr;width:100%}}
@media(max-width:768px){.dash-main{padding:18px}.dash-hero{padding:22px 18px}.hero-side-metrics{grid-template-columns:1fr}.dash-title{font-size:28px}}

/* RESPONSIVE */
@media(max-width:1100px){.hero-content{grid-template-columns:1fr}.hero-right{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:768px){.nav{padding:13px 18px}.nav-links{display:none}section{padding:60px 18px}.hero{padding:96px 18px 56px}.tarifs-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-inner{padding:40px 20px 24px}.form-row,.form-row-3{grid-template-columns:1fr}}

/* ===== DASHBOARD REFINEMENT V2 ===== */
:root{
  --dash-surface:#ffffff;
  --dash-surface-soft:#f7fbfb;
  --dash-line:#dfecec;
  --dash-line-strong:#cfe1e3;
  --dash-shadow:0 14px 40px rgba(13,61,64,.08);
  --dash-shadow-soft:0 8px 24px rgba(13,61,64,.06);
}
.dash-layout{display:block;min-height:100vh;padding-top:72px;background:linear-gradient(180deg,#f4f8f8 0%,#f8fbfb 100%)}
.sidebar{width:286px;padding:22px 16px 20px;background:linear-gradient(180deg,#0c2f32 0%, #103b3e 100%);border-right:1px solid rgba(255,255,255,.06);box-shadow:18px 0 60px rgba(7,31,33,.12)}
.sb-user{padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.08)}
.sb-avatar{width:52px;height:52px;border-radius:16px;box-shadow:0 12px 26px rgba(0,0,0,.18)}
.sb-name{font-size:14px;line-height:1.25}
.sb-role{font-size:11px;line-height:1.45;color:rgba(255,255,255,.58)}
.sb-link{min-height:44px;padding:11px 13px;border-radius:14px;font-size:13px}
.sb-link.active{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(240,105,66,.18));border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.sb-link:hover{background:rgba(255,255,255,.10)}
.dash-main{margin-left:286px;min-height:calc(100vh - 72px);padding:28px 30px 40px;background:transparent;width:calc(100% - 286px)}
.dash-shell{max-width:1380px;margin:0 auto;gap:20px}
.dash-hero{padding:26px 28px;border-radius:30px;border:1px solid var(--dash-line-strong);box-shadow:var(--dash-shadow);background:linear-gradient(135deg,#ffffff 0%,#f8fcfc 60%,#eff8f8 100%)}
.dash-hero-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:24px}
.dash-overline{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#edf8f8;color:var(--t700);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.dash-title{font-size:40px;line-height:1.04;letter-spacing:-.03em;margin-bottom:12px;color:#0f2f32}
.dash-subtitle{max-width:760px;font-size:15px;line-height:1.8;color:#56777a}
.dash-chip-row{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.hero-side-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-mini{background:rgba(255,255,255,.82);border:1px solid var(--dash-line);border-radius:20px;padding:18px 16px;box-shadow:var(--dash-shadow-soft)}
.hero-mini-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7f9a9d;font-weight:800;margin-bottom:8px}
.hero-mini-val{font-size:24px;font-weight:800;color:#103b3e;line-height:1.05}
.hero-mini-sub{font-size:11px;color:#789093;margin-top:5px}
.steps-wrap,.panel,.kpi,.doc-card,.card{border-color:var(--dash-line);box-shadow:var(--dash-shadow-soft)}
.steps-wrap{padding:24px 24px 22px;border-radius:26px;background:var(--dash-surface)}
.steps-title{font-size:13px;letter-spacing:.02em;margin-bottom:18px}
.step-c{width:50px;height:50px}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:4px}
.kpi{padding:22px 18px 18px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%, #fbfefe 100%)}
.kpi-icon{font-size:24px;margin-bottom:10px}
.kpi-label{font-size:10px;letter-spacing:.1em}
.kpi-val{font-size:24px;line-height:1.12;word-break:break-word}
.kpi-sub{font-size:11px;line-height:1.55}
.content-grid-2{grid-template-columns:minmax(0,1.38fr) minmax(320px,.92fr);gap:20px;align-items:start}
.content-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.stack{gap:18px}
.panel{border-radius:26px;background:var(--dash-surface);overflow:hidden}
.panel-head{padding:18px 22px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfb 100%);border-bottom:1px solid #edf5f5}
.panel-title{font-size:16px;line-height:1.25}
.panel-sub{font-size:12px;line-height:1.55;color:#719092}
.panel-body{padding:20px 22px}
.info-list,.priority-list{display:flex;flex-direction:column;gap:12px}
.info-item,.priority-item,.agenda-slot,.coauteur-row{border-radius:18px;border:1px solid #e7f0f0;background:#fbfdfd}
.info-item{padding:15px 16px;gap:14px}
.info-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#edf8f8,#fdf2ef);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.info-title,.priority-title{font-size:14px;font-weight:800;color:#14373a;margin-bottom:4px}
.info-text,.priority-sub{font-size:12.5px;line-height:1.7;color:#68878a}
.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.action-tile{padding:18px;border-radius:20px;background:linear-gradient(180deg,#fcffff 0%,#f8fcfc 100%);border:1px solid #e8f1f1;display:flex;flex-direction:column;gap:10px;min-height:190px;justify-content:space-between}
.action-tile-title{font-size:14px;font-weight:800;color:#13383b}
.action-tile-text{font-size:12.5px;line-height:1.7;color:#6d888b}
.priority-item{grid-template-columns:54px 1fr auto;padding:15px 16px}
.priority-rank{width:40px;height:40px;border-radius:14px;background:#edf8f8;color:#0f666c;display:flex;align-items:center;justify-content:center;font-weight:800}
.priority-side{display:flex;align-items:center}
.tbl th{background:#f7fbfb}
.tbl td{font-size:12.8px}
.doc-card{text-align:left;border-radius:22px;padding:22px;background:linear-gradient(180deg,#fff,#fbfdfd)}
.doc-icon{font-size:34px;margin-bottom:10px}
.doc-label{font-size:14px}
.btn{font-weight:700}
@media (max-width:1280px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-grid-2{grid-template-columns:1fr}
  .dash-hero-top{grid-template-columns:1fr}
}
@media (max-width:900px){
  .sidebar{position:relative;top:0;width:100%;height:auto;border-right:none;box-shadow:none}
  .dash-main{margin-left:0;width:100%;padding:18px}
  .dash-layout{padding-top:72px}
  .kpi-grid,.action-grid,.content-grid-3{grid-template-columns:1fr}
  .hero-side-metrics{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .dash-title{font-size:30px}
  .hero-side-metrics{grid-template-columns:1fr}
}

