.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff0d;font-size:.9rem;font-weight:500;color:var(--white, #fff);pointer-events:auto;will-change:transform,opacity}.toast-info{background:#3b82f626;border:1px solid rgba(59,130,246,.3)}.toast-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3)}.toast-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.toast-error{background:#ef444426;border:1px solid rgba(239,68,68,.3)}.toast-icon{font-size:1.1rem;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:#fff6;font-size:.85rem;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{color:#fffc;background:#ffffff1a}.toast-enter{animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1) forwards}.toast-exit{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.95)}}@media(max-width:480px){.toast-container{left:12px;right:12px;max-width:none}}.desktop-shell{--accent-soft: var(--brand-glow);--accent-line: var(--brand-glow-strong);--ds-sidebar-width: 264px;display:flex;align-items:stretch;min-height:100dvh}.ds-sidebar{display:flex;flex-direction:column;flex-shrink:0;width:var(--ds-sidebar-width);position:sticky;top:0;height:100dvh;padding:var(--space-lg) var(--space-md);background:var(--glass-bg);border-right:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ds-brand{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm) var(--space-lg)}.ds-brand-logo{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);overflow:hidden}.ds-brand-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform:scale(.85)}.ds-brand-fallback{color:var(--brand-accent)}.ds-brand-name{color:var(--brand-accent);font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.18em;line-height:1.2;text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ds-nav{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-height:0;overflow-y:auto}.ds-nav-item{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:11px var(--space-sm) 11px 14px;border-radius:var(--radius-md);color:var(--slate-300);text-decoration:none;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.ds-nav-item:hover{background:#ffffff0a;color:var(--white)}.ds-nav-item.active{background:var(--accent-soft);color:var(--brand-accent)}.ds-nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 2px 2px 0;background:var(--brand-accent)}.ds-nav-item:focus-visible,.ds-icon-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.ds-nav-icon{flex-shrink:0}.ds-nav-label{font-size:.8rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-powered{display:flex;align-items:center;justify-content:center;gap:7px;padding-top:var(--space-md);margin-top:var(--space-sm);border-top:1px solid var(--glass-border)}.ds-powered-mark{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:5px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--brand-accent);font-family:var(--font-display);font-size:10px;font-weight:800;line-height:1;opacity:.75}.ds-powered-text{color:var(--slate-400);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ds-main{display:flex;flex-direction:column;flex:1;min-width:0}.ds-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-xl);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ds-topbar-title{margin:0;color:var(--white);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ds-topbar-actions{display:flex;align-items:center;gap:var(--space-md)}.ds-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--slate-300);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.ds-icon-btn:hover{color:var(--white);background:#ffffff17}.ds-icon-btn--logout:hover{background:var(--danger-bg);border-color:#e11d484d;color:var(--danger)}.ds-content{flex:1;padding:var(--space-xl);animation:fadeIn .4s ease}@media(prefers-reduced-motion:reduce){.ds-content{animation:none}.ds-nav-item,.ds-icon-btn{transition:none}}.kpi-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);min-height:118px}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.kpi-label{color:var(--slate-300);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.kpi-icon{color:var(--brand-accent);flex-shrink:0;opacity:.85}.kpi-value{margin:0;color:var(--white);font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;overflow-wrap:anywhere}.kpi-foot{display:flex;flex-direction:column;gap:3px;margin-top:auto}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700}.kpi-delta--good{color:var(--success)}.kpi-delta--bad{color:var(--danger)}.kpi-delta--neutral{color:var(--slate-300)}.kpi-delta-since{color:var(--slate-400);font-weight:600}.kpi-hint{color:var(--slate-400);font-size:.75rem;font-weight:600}.kpi-skeleton{display:flex;flex-direction:column;gap:var(--space-sm)}.kpi-skeleton-value,.kpi-skeleton-hint{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:kpiShimmer 1.4s ease-in-out infinite}.kpi-skeleton-value{width:60%;height:26px}.kpi-skeleton-hint{width:40%;height:12px}@keyframes kpiShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.kpi-skeleton-value,.kpi-skeleton-hint{animation:none;background:#ffffff0f}}.sidepanel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;justify-content:flex-end;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:sidepanelScrimIn var(--transition-base)}.sidepanel{display:flex;flex-direction:column;width:100%;height:100dvh;background:var(--navy-900);border-left:1px solid var(--glass-border);box-shadow:-24px 0 60px #00000080;animation:sidepanelIn var(--transition-slow)}.sidepanel:focus{outline:none}.sidepanel--md{max-width:520px}.sidepanel--lg{max-width:760px}.sidepanel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--glass-border)}.sidepanel-head-main{min-width:0}.sidepanel-back{display:inline-flex;align-items:center;gap:5px;margin-bottom:var(--space-sm);padding:4px 9px 4px 6px;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:transparent;color:var(--slate-300);font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.sidepanel-back:hover{color:var(--brand-accent);border-color:var(--brand-accent)}.sidepanel-title{margin:0;color:var(--white);font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.01em;line-height:1.25}.sidepanel-subtitle{margin:4px 0 0;color:var(--slate-400);font-size:.8rem;font-weight:600}.sidepanel-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:transparent;color:var(--slate-300);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.sidepanel-close:hover{background:#ffffff0f;color:var(--white)}.sidepanel-back:focus-visible,.sidepanel-close:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.sidepanel-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--glass-border);background:var(--glass-bg)}.sidepanel-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding:var(--space-lg)}@keyframes sidepanelScrimIn{0%{opacity:0}to{opacity:1}}@keyframes sidepanelIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.sidepanel-scrim,.sidepanel{animation:none}.sidepanel-back,.sidepanel-close{transition:none}}.chartcard{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);min-width:0}.chartcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.chartcard-titles{min-width:0}.chartcard-title{font-size:.95rem;letter-spacing:.02em}.chartcard-subtitle{margin:3px 0 0;color:var(--slate-400);font-size:.78rem;font-weight:600}.chartcard-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.chartcard-summary{padding-bottom:var(--space-md);border-bottom:1px solid var(--glass-border)}.chartcard-body{min-width:0}.chartcard-state{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-lg);text-align:center}.chartcard-state-text{margin:0;max-width:42ch;color:var(--slate-400);font-size:.85rem;line-height:1.55}.chartcard-skeleton{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);height:100%;padding:var(--space-md) 0}.chartcard-skeleton-bar{flex:1;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,#ffffff17,#ffffff08);animation:chartcardPulse 1.6s ease-in-out infinite}.chartcard-skeleton-bar:nth-child(2n){animation-delay:.2s}.chartcard-skeleton-bar:nth-child(3n){animation-delay:.4s}@keyframes chartcardPulse{0%,to{opacity:.45}50%{opacity:1}}.chart-tooltip{min-width:172px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--navy-900);box-shadow:var(--shadow-md)}.chart-tooltip-title{margin:0 0 7px;color:var(--white);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:.78rem;line-height:1.7}.chart-tooltip-key{display:inline-flex;align-items:center;gap:6px;color:var(--slate-300);font-weight:600}.chart-tooltip-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.chart-tooltip-value{color:var(--white);font-weight:700;font-variant-numeric:tabular-nums}.chart-tooltip-row--total{margin-top:6px;padding-top:6px;border-top:1px solid var(--glass-border)}@media(prefers-reduced-motion:reduce){.chartcard-skeleton-bar{animation:none;opacity:.6}}.dtbl{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.dtbl-toolbar{display:flex}.dtbl-search{position:relative;width:min(320px,100%)}.dtbl-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--slate-400);pointer-events:none}.dtbl-search-input{width:100%;padding:9px 12px 9px 36px;background:var(--navy-900);border:1px solid var(--navy-700);border-radius:var(--radius-md);color:var(--white);font-family:inherit;font-size:.83rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.dtbl-search-input::-moz-placeholder{color:var(--slate-400)}.dtbl-search-input::placeholder{color:var(--slate-400)}.dtbl-search-input:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-glow)}.dtbl-scroll{overflow-x:auto;margin:0 calc(var(--space-lg) * -1);padding:0 var(--space-lg)}.dtbl-table{width:100%;border-collapse:collapse;color:var(--slate-200)}.dtbl-th,.dtbl-td{text-align:left}.dtbl-th{padding:0 var(--space-sm) var(--space-sm);border-bottom:1px solid var(--glass-border);white-space:nowrap}.dtbl-th-label{color:var(--slate-400);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dtbl-th-label--static{display:inline-block;padding:6px 0}.dtbl-th-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 0;background:none;border:none;font:inherit;cursor:pointer}.dtbl-th-btn:hover .dtbl-th-label,.dtbl-th-btn:focus-visible .dtbl-th-label{color:var(--slate-200)}.dtbl-th-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:var(--radius-sm)}.dtbl-sort-icon--idle{color:var(--slate-500);opacity:.6;transition:opacity var(--transition-fast),color var(--transition-fast)}.dtbl-th-btn:hover .dtbl-sort-icon--idle,.dtbl-th-btn:focus-visible .dtbl-sort-icon--idle{opacity:1;color:var(--slate-300)}.dtbl-sort-icon--active{color:var(--brand-accent)}.dtbl-th--actions{width:1%}.dtbl-td{padding:11px var(--space-sm);border-bottom:1px solid rgba(255,255,255,.04);font-size:.84rem;font-variant-numeric:tabular-nums;vertical-align:middle}.dtbl-td--actions{width:1%;text-align:right;white-space:nowrap}.dtbl-align-right{text-align:right}.dtbl-align-center{text-align:center}.dtbl-table--dense .dtbl-td{padding:7px var(--space-sm);font-size:.8rem}.dtbl-table--dense .dtbl-th{padding-bottom:6px}.dtbl-row--clickable{cursor:pointer;transition:background-color var(--transition-fast)}.dtbl-row--clickable:hover{background:#ffffff08}.dtbl-row--clickable:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-2px}.dtbl-table tfoot tr{border-top:1px solid var(--glass-border);color:var(--white);font-weight:700}.dtbl-table tfoot td{padding:var(--space-sm);font-variant-numeric:tabular-nums}.dtbl-skeleton-bar{display:block;width:72%;height:13px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:dtblShimmer 1.4s ease-in-out infinite}.dtbl-row--skeleton:nth-child(2n) .dtbl-skeleton-bar{width:55%}.dtbl-row--skeleton:nth-child(3n) .dtbl-skeleton-bar{width:84%}@keyframes dtblShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dtbl-empty-cell{padding:var(--space-xl) var(--space-md);border-bottom:none}.dtbl-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}.dtbl-empty-icon{color:var(--slate-500)}.dtbl-empty-text{margin:0;max-width:42ch;color:var(--slate-400);font-size:.85rem;line-height:1.55}.dtbl-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.dtbl-pager-count{margin:0;color:var(--slate-400);font-size:.76rem;font-weight:600;font-variant-numeric:tabular-nums}.dtbl-pager-nav{display:flex;align-items:center;gap:var(--space-sm)}.dtbl-pager-page{color:var(--slate-300);font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.dtbl-page-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--slate-300);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.dtbl-page-btn:hover:not(:disabled){border-color:var(--brand-accent);color:var(--brand-accent)}.dtbl-page-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.dtbl-page-btn:disabled{opacity:.35;cursor:not-allowed}.dtbl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.dtbl-skeleton-bar{animation:none;background:#ffffff0f}.dtbl-row--clickable,.dtbl-page-btn{transition:none}}
