:root{--bg: #F1F5FE;--cream2: #E9EEFA;--surface: #FFFFFF;--surface-glass: rgba(255,255,255,.82);--line: #DEE5F2;--line2: #C9D3E8;--txt: #1A1A2E;--txt-2: #5A5A6E;--txt-3: #9A9AAD;--font: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 22px;--text-hero: 28px;--accent: #1E50C8;--accent-deep: #13357F;--accent-soft: #E8EEFC;--jaune: #FFC400;--violet: #7B61FF;--vert: #22C55E;--cot-1: #22C55E;--cot-2: #ECC100;--cot-3: #F5A524;--cot-4: #F4685B;--cot-1-bg: #DCF6E4;--cot-2-bg: #FBF3C8;--cot-3-bg: #FDF0D8;--cot-4-bg: #FDE7E4;--radius-sm: 12px;--radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--radius-avatar: 12px;--shadow-card: 0 3px 0 #D8DEEC, 0 12px 26px rgba(20,30,60,.1);--shadow-card-hover: 0 6px 0 #D8DEEC, 0 22px 44px rgba(20,30,60,.16);--shadow-btn: 0 5px 0 var(--accent-deep), 0 10px 20px rgba(30,80,200,.25);--shadow-btn-hover: 0 8px 0 var(--accent-deep), 0 16px 30px rgba(30,80,200,.3);--mesh-bg: radial-gradient(48% 48% at 10% 4%, rgba(30,80,200,.2), transparent 62%), radial-gradient(52% 52% at 94% 8%, rgba(255,196,0,.24), transparent 64%), radial-gradient(58% 58% at 88% 96%, rgba(123,97,255,.2), transparent 64%), radial-gradient(52% 52% at 4% 98%, rgba(10,207,131,.16), transparent 64%), var(--bg);--spring: cubic-bezier(.34, 1.4, .5, 1);--spring-dur: .3s;--gap-xs: 6px;--gap-sm: 8px;--gap: 16px;--gap-lg: 24px;--gap-xl: 40px;--wrap-padding: 16px;--layout-cols: 1}@media (min-width: 641px) and (max-width: 1024px){:root{--text-2xl: 26px;--text-hero: 34px;--wrap-padding: 24px;--layout-cols: 2}}@media (min-width: 1025px){:root{--text-2xl: 30px;--text-hero: 42px;--wrap-padding: 40px;--layout-cols: 3}}@media (max-width: 640px){:root{--gap-lg: 16px;--gap-xl: 24px;--radius: 14px;--radius-lg: 18px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--text-base);line-height:1.55;color:var(--txt);background:var(--mesh-bg);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:none;border-radius:var(--radius-pill);font-family:var(--font);font-weight:800;font-size:var(--text-sm);cursor:pointer;transition:background var(--spring-dur) var(--spring),box-shadow var(--spring-dur) var(--spring),border-color var(--spring-dur) var(--spring)}.btn{transition:transform var(--spring-dur) var(--spring),background var(--spring-dur) var(--spring),box-shadow var(--spring-dur) var(--spring)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-btn-hover)}.btn-primary:active{transform:translateY(1px);box-shadow:var(--shadow-btn)}.card{background:var(--surface);border:none;border-radius:var(--radius);box-shadow:var(--shadow-card);padding:var(--gap-lg)}.glass{background:var(--surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line)}.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;background:var(--cream2);border:1px solid var(--line2);color:var(--txt-2)}.cot-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:800;padding:4px 10px;border-radius:10px;border:1.5px solid}.cot-1{background:var(--cot-1-bg);color:var(--cot-1);border-color:var(--cot-1)}.cot-2{background:var(--cot-2-bg);color:var(--cot-2);border-color:var(--cot-2)}.cot-3{background:var(--cot-3-bg);color:var(--cot-3);border-color:var(--cot-3)}.cot-4{background:var(--cot-4-bg);color:var(--cot-4);border-color:var(--cot-4)}.avatar{width:36px;height:36px;border-radius:var(--radius-avatar);background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);flex-shrink:0}.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--wrap-padding)}.grid-auto{display:grid;grid-template-columns:repeat(var(--layout-cols),1fr);gap:var(--gap-lg)}@keyframes spring-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.spring-in{animation:spring-in var(--spring-dur) var(--spring) both}.lift{transition:transform .18s cubic-bezier(.34,1.4,.5,1),box-shadow .18s ease,filter .18s ease}.lift:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-card-hover);filter:brightness(1.03)}.lift:active{transform:translateY(-2px) scale(.99)}.progress-track{position:relative;height:14px;border-radius:999px;background:var(--cream2);box-shadow:inset 0 1px 3px #3c2d1e1f;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#4F8BFF);box-shadow:0 0 12px #1e50c88c,inset 0 1px #ffffff73;transition:width .5s cubic-bezier(.34,1.2,.5,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:progress-shine 2.4s ease-in-out infinite}@keyframes progress-shine{to{transform:translate(100%)}}.dash-mesh{--mesh-base: #F3F5FC;--socle: #E3E4EE;min-height:100vh;background:radial-gradient(52% 50% at 12% 4%,rgba(32,80,200,.26),transparent 64%),radial-gradient(56% 54% at 90% 6%,rgba(255,196,0,.28),transparent 66%),radial-gradient(60% 60% at 88% 96%,rgba(123,97,255,.26),transparent 66%),radial-gradient(56% 56% at 6% 98%,rgba(10,207,131,.2),transparent 66%),var(--mesh-base);background-attachment:fixed}.dash-mesh .card{border:1px solid #FFFFFF;border-radius:20px;box-shadow:0 3px 0 var(--socle),0 14px 30px #18224a1a}.dash-mesh .vol-hover{transition:transform .22s cubic-bezier(.34,1.2,.5,1),box-shadow .22s cubic-bezier(.34,1.2,.5,1)}.dash-mesh .vol-hover:hover{transform:translateY(-3px);box-shadow:0 5px 0 var(--socle),0 20px 40px #18224a29}.dash-mesh .vol-hero{position:relative;border:1px solid #FFFFFF;border-radius:24px;padding:22px 24px;box-shadow:0 3px 0 var(--socle),0 16px 34px #18224a1f;background:radial-gradient(66% 90% at 6% 12%,rgba(32,80,200,.18),transparent 60%),radial-gradient(72% 96% at 98% 22%,rgba(255,196,0,.26),transparent 60%),radial-gradient(60% 90% at 88% 108%,rgba(123,97,255,.16),transparent 60%),#fff}.dash-mesh .surlignage{background:linear-gradient(180deg,transparent 58%,rgba(255,196,0,.55) 58%);padding:0 2px;border-radius:2px}.dash-mesh .btn-vol{border:none;background:var(--accent);color:#fff;font-weight:800;border-radius:999px;cursor:pointer;box-shadow:0 4px 0 var(--accent-deep),0 9px 18px #2050c842;transition:transform .18s cubic-bezier(.34,1.3,.5,1),box-shadow .18s cubic-bezier(.34,1.3,.5,1)}.dash-mesh .btn-vol:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--accent-deep),0 12px 22px #2050c84d}.dash-mesh .btn-vol:active{transform:translateY(1px);box-shadow:0 2px 0 var(--accent-deep),0 6px 12px #2050c838}.dash-mesh .kpi-num{background:linear-gradient(135deg,var(--accent),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dash-mesh-topbar{background:#ffffffc7!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
