:root{--ds-bg:#f6f7fb;--ds-surface:#fff;--ds-border:#e7e9f3;--ds-text:#12131a;--ds-text-soft:#6b7280;--ds-indigo:#16273f;--ds-indigo-dark:#0b1626;--ds-violet:#3e5a82;--ds-coral:#f5821f;--ds-danger:#dc2626;--ds-success:#16a34a;--ds-warning:#d97706;--ds-shadow-card:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-card-hover:0 4px 10px #1018280f, 0 2px 4px #1018280f}.ds-page{background:var(--ds-bg);color:var(--ds-text);font-variant-numeric:tabular-nums;min-height:100%;font-family:Geist,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.ds-shell{max-width:1280px;margin:0 auto;padding:32px 24px 64px}.ds-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.ds-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ds-indigo);margin:0 0 6px;font-size:12px;font-weight:600}.ds-title{letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:700}.ds-subtitle{color:var(--ds-text-soft);margin:0;font-size:14px}.ds-actions{flex-wrap:wrap;gap:10px;display:flex}.ds-quicklinks{flex-wrap:wrap;align-items:center;gap:10px;margin:-8px 0 20px;font-size:13px;display:flex}.ds-quicklinks-label{color:var(--ds-text-soft);font-weight:600}.ds-quicklinks a{color:var(--ds-indigo);background:#f3f4f8;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.ds-quicklinks a:hover{background:#e8ecf2}.ds-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.ds-btn .ds-icon{width:16px;height:16px}.ds-btn-primary{background:var(--ds-indigo);color:#fff;box-shadow:0 1px 2px #16273f4d}.ds-btn-primary:hover{background:var(--ds-indigo-dark)}.ds-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ds-btn-ghost{background:var(--ds-surface);color:var(--ds-text);border-color:var(--ds-border)}.ds-btn-ghost:hover{background:#fafafe;border-color:#c7cbe0}.ds-btn-danger{color:var(--ds-danger);background:#fef2f2;border-color:#fca5a5}.ds-btn-danger:hover{background:#fee2e2}.ds-btn-sm{padding:7px 12px;font-size:13px}.ds-card{background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:var(--ds-shadow-card);border-radius:16px;margin-bottom:18px;padding:20px}.ds-card-title{align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:700;display:flex}.ds-card-title--alert{color:#b91c1c}.ds-grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ds-card--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.ds-big-icon{width:44px;height:44px;color:var(--ds-indigo);background:#e8ecf2;border-radius:12px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.ds-big-icon svg{width:22px;height:22px}.ds-big-value{font-size:30px;font-weight:800}.ds-big-label{color:var(--ds-text-soft);font-size:13px}.ds-kpi-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}.ds-kpi-card{--tone:#16273f;--tone-bg:#e8ecf2;--tone-text:#0b1626;background:var(--ds-surface);border:1.5px solid var(--ds-border);text-align:left;cursor:pointer;box-shadow:var(--ds-shadow-card);border-radius:14px;padding:16px;transition:all .15s}.ds-kpi-card:hover{box-shadow:var(--ds-shadow-card-hover);transform:translateY(-1px)}.ds-kpi-card.is-active{border-color:var(--tone);background:var(--tone-bg)}.ds-kpi-icon{background:var(--tone-bg);width:30px;height:30px;color:var(--tone);border-radius:9px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.ds-kpi-icon svg{width:16px;height:16px}.ds-kpi-value{font-size:24px;font-weight:800;line-height:1}.ds-kpi-label{color:var(--ds-text-soft);margin-top:6px;font-size:12.5px;font-weight:500}.ds-kpi-card.is-active .ds-kpi-label{color:var(--tone-text)}.ds-kpi-card--gradient{color:#fff;border:none}.ds-kpi-card--gradient .ds-kpi-icon{color:#fff;background:#ffffff38;font-size:14px}.ds-kpi-card--gradient .ds-kpi-label{color:#ffffffe0}.ds-kpi-card--gradient:hover{transform:translateY(-2px)}.ds-kpi-card--purple{background:linear-gradient(135deg,#8b7cf6,#6d5bd0);box-shadow:0 10px 24px #6d5bd059}.ds-kpi-card--pink{background:linear-gradient(135deg,#f472b6,#db2777);box-shadow:0 10px 24px #db277752}.ds-kpi-card--teal{background:linear-gradient(135deg,#2dd4bf,#0d9488);box-shadow:0 10px 24px #0d948852}.ds-kpi-card--blue{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 10px 24px #2563eb52}.ds-kpi-card--orange{background:linear-gradient(135deg,#fdba74,#f5821f);box-shadow:0 10px 24px #f5821f59}.ds-kpi-card--green{background:linear-gradient(135deg,#4ade80,#16a34a);box-shadow:0 10px 24px #16a34a52}.ds-banner{color:#fff;background:linear-gradient(135deg,#16273f 0%,#2e2265 55%,#3e2472 100%);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.ds-banner-decor{pointer-events:none;background:#ffffff14;border-radius:50%;position:absolute}.ds-banner-decor--1{width:220px;height:220px;top:-110px;right:60px}.ds-banner-decor--2{background:#f5821f26;width:130px;height:130px;bottom:-70px;right:220px}.ds-banner-icon{color:#ffffff1f;font-size:64px;position:absolute;top:50%;right:26px;transform:translateY(-50%)}.ds-banner-text{z-index:1;position:relative}.ds-banner-hello{margin:0 0 4px;font-size:19px;font-weight:800}.ds-banner-sub{color:#ffffffc7;margin:0;font-size:13.5px}.ds-banner-stats{z-index:1;flex-wrap:wrap;flex-shrink:0;gap:12px;display:flex;position:relative}.ds-banner-stat{text-align:center;background:#ffffff24;border-radius:14px;padding:10px 20px}.ds-banner-stat-value{font-size:24px;font-weight:800;line-height:1;display:block}.ds-banner-stat-label{color:#ffffffbf;white-space:nowrap;margin-top:4px;font-size:11px;display:block}@media (width<=640px){.ds-banner{flex-direction:column;align-items:flex-start}.ds-banner-icon{display:none}}.ds-chart-row{gap:10px;display:flex}.ds-chart-row>*{text-align:center;flex:1}.ds-chart-values span{color:var(--ds-text-soft);font-size:11.5px;font-weight:700}.ds-chart-values{margin-bottom:8px}.ds-chart-plot{height:150px;position:relative}.ds-chart-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.ds-chart-grid span{border-top:1px dashed var(--ds-border)}.ds-chart-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ds-chart-bars{align-items:flex-end;position:absolute;inset:0}.ds-chart-bar-col{justify-content:center;align-items:flex-end;height:100%;display:flex}.ds-chart-bar{background:linear-gradient(#8b7cf6,#3e2472);border-radius:8px 8px 0 0;width:100%;max-width:26px;transition:height .4s}.ds-chart-labels{margin-top:10px}.ds-chart-labels span{color:var(--ds-text-soft);white-space:nowrap;font-size:11px}.ds-track{background:#eef0f7;border-radius:999px;height:6px;overflow:hidden}.ds-fill{background:linear-gradient(90deg, var(--ds-violet), var(--ds-indigo));border-radius:999px;height:100%;transition:width .4s}.ds-fill--danger{background:linear-gradient(90deg,#fca5a5,#ef4444)}.ds-status-badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.ds-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ds-table-card{padding:0;overflow:hidden}.ds-table-scroll{overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;font-size:13.5px}.ds-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ds-text-soft);border-bottom:1px solid var(--ds-border);background:#fafafd;padding:14px 18px;font-size:11.5px;font-weight:700}.ds-table td{vertical-align:middle;border-bottom:1px solid #f1f2f8;padding:14px 18px}.ds-table tbody tr:hover{background:#fafafe}.ds-table tbody tr:last-child td{border-bottom:none}.ds-th-actions{text-align:right}.ds-th-check{width:36px}.ds-ref-chip{color:var(--ds-text-soft);background:#f1f2f8;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700}.ds-cell-name{font-weight:600}.ds-cell-sub{color:#9ca3af;margin-top:2px;font-size:12px}.ds-avatar-cell{align-items:center;gap:8px;display:flex}.ds-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.ds-action-row{justify-content:flex-end;gap:4px;display:flex}.ds-icon-btn{width:30px;height:30px;color:var(--ds-text-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex}.ds-icon-btn svg{width:15px;height:15px}.ds-icon-btn:hover{color:var(--ds-indigo);background:#e8ecf2}.ds-icon-btn--danger:hover{color:#dc2626;background:#fef2f2}.ds-dropdown-menu{z-index:1000;border:1px solid var(--ds-border);background:#fff;border-radius:12px;flex-direction:column;gap:2px;min-width:170px;padding:6px;display:flex;position:fixed;box-shadow:0 12px 32px #0f172a2e}.ds-dropdown-menu .ds-icon-btn{white-space:nowrap;border-radius:8px;justify-content:flex-start;gap:8px;width:auto;height:auto;padding:8px 10px;font-size:13px}.ds-table-footer{border-top:1px solid var(--ds-border);color:var(--ds-text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:12.5px;display:flex}.ds-pagination{gap:4px;display:flex}.ds-page-btn{min-width:30px;height:30px;color:var(--ds-text-soft);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:12.5px;text-decoration:none;display:flex}.ds-page-btn:hover{background:#f1f2f8}.ds-page-btn.is-active{background:var(--ds-indigo);color:#fff;font-weight:700}.ds-page-btn.is-disabled{opacity:.35;pointer-events:none}.ds-filter-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ds-search-field{border:1px solid var(--ds-border);background:#fcfcfe;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:220px;padding:9px 12px;display:flex}.ds-search-field .ds-icon{color:#9ca3af;flex-shrink:0;width:16px;height:16px}.ds-search-field input{width:100%;color:var(--ds-text);background:0 0;border:none;outline:none;font-size:14px}.ds-chip-group{flex-wrap:wrap;gap:6px;display:flex}.ds-chip{border:1px solid var(--ds-border);color:var(--ds-text-soft);cursor:pointer;background:#fcfcfe;border-radius:999px;padding:8px 13px;font-size:12.5px;font-weight:600;transition:all .15s}.ds-chip:hover{border-color:#c7cbe0}.ds-date-input{border:1px solid var(--ds-border);color:var(--ds-text);background:#fcfcfe;border-radius:10px;padding:8px 10px;font-size:13px}.ds-filter-actions{gap:8px;margin-left:auto;display:flex}.ds-rank-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.ds-rank-row{align-items:center;gap:12px;display:flex}.ds-rank-badge{width:24px;height:24px;color:var(--ds-text-soft);background:#eef0f7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.ds-rank-badge--gold{color:#b45309;background:#fef3c7}.ds-rank-body{flex:1}.ds-rank-top{justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.ds-rank-name{font-weight:600}.ds-rank-count{color:var(--ds-text-soft)}.ds-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ds-timeline-row{border-bottom:1px solid #f1f2f8;gap:12px;padding:12px 0;display:flex}.ds-timeline-row:last-child{border-bottom:none;padding-bottom:0}.ds-timeline-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.ds-timeline-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px;display:flex}.ds-timeline-badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.ds-timeline-title{font-size:13px;font-weight:600}.ds-timeline-date{color:var(--ds-text-soft);margin-left:auto;font-size:12px}.ds-timeline-desc{color:var(--ds-text-soft);margin:0;font-size:13px}.ds-timeline-user{color:#9ca3af}.ds-alert-list{flex-direction:column;gap:10px;display:flex}.ds-alert-item{background:#fef2f2;border-left:3px solid #ef4444;border-radius:12px;align-items:center;gap:16px;padding:12px 14px;display:flex}.ds-alert-main{flex:1;min-width:160px}.ds-alert-name{margin:0 0 2px;font-size:13.5px;font-weight:700}.ds-alert-meta{color:var(--ds-text-soft);margin:0;font-size:12px}.ds-alert-progress{align-items:center;gap:8px;width:140px;display:flex}.ds-alert-progress .ds-track{flex:1}.ds-alert-pct{width:34px;font-size:12px;font-weight:700}.ds-empty-mini{text-align:center;color:#9ca3af;padding:24px;font-size:13px}.ds-empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.ds-empty-state--modal{padding:32px}.ds-empty-icon{color:#9ca3af;background:#f1f2f8;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ds-empty-icon svg{width:22px;height:22px}.ds-empty-title{margin:4px 0 0;font-size:14px;font-weight:700}.ds-empty-text{color:var(--ds-text-soft);margin:0 0 6px;font-size:13px}.ds-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0f111a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ds-modal-panel{background:var(--ds-surface);width:100%;max-width:620px;color:var(--ds-text);border-radius:18px;padding:24px;font-family:inherit;box-shadow:0 20px 60px #10182840}.ds-modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.ds-modal-title{margin:0 0 4px;font-size:17px;font-weight:700}.ds-modal-sub{color:var(--ds-text-soft);margin:0;font-size:13px}.ds-modal-table-wrap{border:1px solid var(--ds-border);border-radius:12px;max-height:300px;overflow-y:auto}.ds-modal-table-wrap .ds-table thead th{position:sticky;top:0}.ds-modal-error{color:#dc2626;margin:12px 0 0;font-size:13px}.ds-modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.ds-form-card{background:var(--ds-surface);border:1px solid var(--ds-border);box-shadow:var(--ds-shadow-card);border-radius:16px;padding:28px}.ds-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ds-form-group{margin-bottom:18px}.ds-form-group label{color:var(--ds-text);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.ds-form-control{border:1px solid var(--ds-border);width:100%;color:var(--ds-text);background:#fcfcfe;border-radius:10px;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.ds-form-control:focus{border-color:var(--ds-indigo);background:#fff;outline:none;box-shadow:0 0 0 3px #16273f1f}.ds-form-control.is-invalid{border-color:var(--ds-danger);background:#fef2f2}.ds-field-error{color:var(--ds-danger);margin:6px 0 0;font-size:12px}.ds-form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}@media (width<=960px){.ds-kpi-grid{grid-template-columns:repeat(3,1fr)}.ds-grid-2,.ds-form-grid{grid-template-columns:1fr}}@media (width<=640px){.ds-kpi-grid{grid-template-columns:repeat(2,1fr)}.ds-filter-actions{width:100%;margin-left:0}.ds-filter-actions .ds-btn{flex:1;justify-content:center}}
