@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono&display=swap";:root{--bg-main:#020617;--bg-surface:#0e1223a6;--bg-card:#0e122366;--bg-card-hover:#1e293b99;--bg-glass:#0e122373;--border-color:#ffffff14;--border-glow:#0052ff59;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569;--color-good:#22c55e;--color-good-bg:#22c55e1a;--color-good-border:#22c55e40;--color-near:#3b82f6;--color-near-bg:#3b82f61a;--color-near-border:#3b82f640;--color-risk:#ef4444;--color-risk-bg:#ef44441a;--color-risk-border:#ef444440;--color-accent:#0052ff;--color-accent-dark:#4d7cff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-main);color:var(--text-primary);font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 20% -10%, #3f5efb1f 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 80% 110%, #22d3a514 0%, transparent 60%), var(--bg-main);background-attachment:fixed;min-height:100vh;margin:0}#root{width:100%;max-width:1600px;margin:0 auto;padding:2rem 2.5rem}h1,h2,h3,h4{margin:0;line-height:1.3}p{margin:0}a{text-decoration:none}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-color);border-radius:16px;padding:1.75rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff0d,0 12px 32px -8px #00000080}.glass-panel:hover{box-shadow:0 1px 0 0 #ffffff14 inset, 0 16px 40px -8px #0009, 0 0 0 1px var(--border-glow);transform:translateY(-2px)}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.flex-wrap{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.dashboard-header{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:1.5rem;padding:2rem 2rem 1.5rem;display:flex;box-shadow:0 8px 32px #0000004d}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header-title h2{background:linear-gradient(135deg, #e8f0fe 0%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.header-title p{color:var(--text-secondary);margin-top:.3rem;font-size:.875rem}.live-dot{color:var(--color-healthy);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.live-dot:before{content:"";background:var(--color-healthy);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot}.filter-row{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.7rem;font-weight:600}.pill-group{flex-wrap:wrap;gap:.4rem;display:flex}.pill{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff08;border-radius:9999px;padding:.4rem 1rem;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1)}.pill:hover{color:var(--text-primary);background:#ffffff14;border-color:#fff3;transform:scale(.98)}.pill:active{transform:scale(.95)}.pill.active{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);color:#fff;border-color:#0000;transform:scale(1.02);box-shadow:0 4px 14px #0052ff4d}.pill.active:active{transform:scale(.98);box-shadow:0 2px 8px #0052ff33}.pill.day-pill{border-radius:10px;flex-direction:column;align-items:center;gap:0;min-width:52px;padding:.35rem .75rem;display:flex}.pill.day-pill .day-name{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.65rem}.pill.day-pill .day-num{font-size:1rem;font-weight:700;line-height:1.2}.pill.day-pill.today{border-color:var(--color-weak-border);color:var(--color-weak)}.pill.day-pill.today.active{border-color:var(--color-weak);color:var(--color-weak);background:#fbbf2433;box-shadow:0 0 12px #fbbf2440}.kpi-card{flex-direction:column;gap:.5rem;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kpi-card.kpi-good:before{background:linear-gradient(90deg, var(--color-good), transparent)}.kpi-card.kpi-near:before{background:linear-gradient(90deg, var(--color-near), transparent)}.kpi-card.kpi-risk:before{background:linear-gradient(90deg, var(--color-risk), transparent)}.kpi-icon{margin-bottom:.25rem;font-size:1.8rem;line-height:1}.kpi-value{letter-spacing:-.03em;font-size:3rem;font-weight:800;line-height:1}.kpi-label-main{color:var(--text-primary);font-size:.9rem;font-weight:600}.kpi-sub{color:var(--text-muted);font-size:.78rem}.progress-bar-track{background:#ffffff0f;border-radius:4px;height:4px;margin-top:.5rem;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.75rem 1rem;font-size:.72rem;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:.875rem 1rem;font-size:.875rem}tr:last-child td{border-bottom:none}tbody tr{transition:background .15s}tbody tr:hover td{background:#6395ff0a}tbody tr.row-risk td{background:#f871710a}tbody tr.row-risk:hover td{background:#f8717114}tbody tr.row-good td{background:#22d3a508}tbody tr.row-good:hover td{background:#22d3a50f}.badge{white-space:nowrap;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.73rem;font-weight:600;display:inline-flex}.badge-good{background:var(--color-good-bg);color:var(--color-good);border:1px solid var(--color-good-border)}.badge-near{background:var(--color-near-bg);color:var(--color-near);border:1px solid var(--color-near-border)}.badge-risk{background:var(--color-risk-bg);color:var(--color-risk);border:1px solid var(--color-risk-border)}.badge-other{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff12}.stat-chip{border-radius:5px;padding:.15rem .5rem;font-size:.8rem;font-weight:700;display:inline-block}.loader-wrap{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.spinner{border:3px solid #6395ff26;border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.section-title{color:var(--text-primary);font-size:1rem;font-weight:700}.ref-link{color:var(--color-accent);font-size:.82rem;font-weight:600;transition:opacity .15s}.ref-link:hover{opacity:.75}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.4s forwards fadeSlideUp}.expand-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:.5rem;font-size:.75rem;transition:color .15s,transform .15s}.expand-btn:hover{color:var(--color-accent);transform:scale(1.1)}.compte-badge{letter-spacing:.5px;color:var(--text-primary);background:#ffffff0f;border:1px dashed #ffffff26;border-radius:4px;padding:.2rem .5rem;font-family:monospace;font-size:.8rem}.sub-row{border-bottom:1px solid var(--border-color);background:var(--bg-main)!important}.sub-row-cell{border:none!important;padding:0!important}.sub-row:hover td{background:0 0!important}.cnss-container{border-left:3px solid var(--color-near);background:#0e162d66;border-radius:0 8px 8px;margin:.5rem 1rem 1rem 3rem;padding:1rem;animation:.3s fadeSlideUp}.cnss-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.82rem;font-weight:700}.cnss-table{border-collapse:collapse;width:100%;font-size:.85rem}.cnss-table th{border-bottom:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.6rem .8rem;font-size:.72rem}.cnss-table td{color:var(--text-primary);border-bottom:1px solid #ffffff05;padding:.6rem .8rem}.cnss-table tbody tr{transition:background .15s}.cnss-table tbody tr:hover td{background:#ffffff05}.modern-input{border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff08;border-radius:8px;padding:.65rem .8rem;font-family:inherit;font-size:.85rem;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #0000001a}.modern-input:focus{border-color:var(--color-accent);background:#ffffff0f;outline:none;box-shadow:inset 0 2px 4px #0000001a,0 0 0 2px #0052ff40}.modern-input::placeholder{color:var(--text-muted)}.custom-calendar-input::-webkit-calendar-picker-indicator{filter:invert()opacity(.5);cursor:pointer;border-radius:4px;padding:.2rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.custom-calendar-input::-webkit-calendar-picker-indicator:hover{opacity:1;background:#ffffff26}
