:root{color:#142326;font-synthesis:none;text-rendering:optimizelegibility;--ink-950:#0d2529;--ink-900:#143137;--ink-700:#3b5357;--ink-500:#6d7f81;--ink-300:#a9b6b5;--line:#dce4df;--line-strong:#c9d5ce;--canvas:#f2f5f2;--surface:#fff;--surface-soft:#f8faf8;--lime:#b9ec69;--lime-dark:#41711d;--blue:#2878ff;--green:#1a8c61;--amber:#bd7417;--red:#c44b48;--violet:#7357bd;--shadow-sm:0 1px 2px #0d25290a, 0 8px 24px #0d25290a;--shadow-md:0 18px 48px #0d25291c;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;background:#f2f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:radial-gradient(circle at 8% 0%, #b9ec6924, transparent 26rem), var(--canvas);min-width:320px;min-height:100vh;margin:0;overflow-x:clip}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}h1,h2,h3,p{margin-block-start:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-shell{width:min(1480px,100%);margin:0 auto;padding:24px}.dashboard-header{color:#f8fffc;background:linear-gradient(112deg, #ffffff08, transparent 48%), var(--ink-950);border-radius:var(--radius-lg);min-height:180px;box-shadow:var(--shadow-md);border:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:32px;padding:34px 36px;display:flex;position:relative;overflow:hidden}.dashboard-header:after{content:"";pointer-events:none;background:radial-gradient(circle,#b9ec6933,#0000 68%);width:360px;height:360px;position:absolute;bottom:-120px;right:-85px}.dashboard-header__brand,.dashboard-header__meta{z-index:1;position:relative}.dashboard-header__brand{align-items:flex-start;gap:18px;display:flex}.dashboard-header__monogram{width:48px;height:48px;color:var(--ink-950);letter-spacing:-.02em;background:var(--lime);border-radius:14px;flex:0 0 48px;place-items:center;font-size:14px;font-weight:850;display:grid;box-shadow:inset 0 0 0 1px #ffffff47}.dashboard-header__eyebrow,.section-heading__eyebrow{color:#8ea5a5;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:750}.dashboard-header h1{letter-spacing:-.04em;margin-bottom:7px;font-size:clamp(26px,3vw,38px);line-height:1.08}.dashboard-header__subtitle{color:#a9bcbc;margin-bottom:0;font-size:14px}.dashboard-header__meta{justify-content:flex-end;align-items:stretch;gap:10px;display:flex}.header-meta-card{color:#bed0cd;background:#ffffff0f;border:1px solid #ffffff17;border-radius:12px;align-items:center;gap:10px;min-width:150px;padding:11px 13px;display:flex}.header-meta-card>span:last-child{gap:2px;display:grid}.header-meta-card small{color:#8ea5a5;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:650}.header-meta-card strong{color:#f5fbf8;white-space:nowrap;font-size:12px;font-weight:650}.sync-dot{background:var(--lime);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #b9ec691a}.sync-dot--loading{background:#ffbf69;box-shadow:0 0 0 4px #ffbf691f}.sync-dot--error{background:var(--red);box-shadow:0 0 0 4px #e0313129}.refresh-button{min-height:48px;color:var(--ink-950);background:var(--lime);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:750;display:inline-flex}.refresh-button:hover:not(:disabled){background:#c6f67c}.refresh-button:focus-visible,.state-card button:focus-visible{outline-offset:3px;outline:3px solid #81bfff}.refresh-button:disabled{opacity:.68}.refresh-icon--spinning{animation:.8s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.dashboard-content{gap:28px;padding-top:16px;display:grid}.data-status{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:20px;padding:14px 18px;display:flex}.data-status__source,.data-status__metrics,.data-status__metrics span{align-items:center;display:flex}.data-status__source{gap:11px}.data-status__source>span:last-child,.data-status__source-details{gap:2px;display:grid}.data-status__source-label-row{align-items:center;gap:6px;display:flex}.data-status__source-name{color:var(--ink-900);font-size:13px}.data-status__last-successful{color:var(--ink-500);font-size:10px;font-weight:500}.data-source-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:1px 6px;font-size:9px;font-weight:750;display:inline-flex}.data-source-status--live{color:var(--green);background:#e8f8ed}.data-source-status--refreshing{color:#d97706;background:#fef3c7}.data-source-status--error{color:var(--red);background:#fee2e2}.data-source-status--static{color:var(--ink-500);background:var(--surface-soft)}.refresh-error-banner{border-radius:var(--radius-md);color:#c53030;background:#fff5f5;border:1px solid #fed7d7;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.refresh-error-banner__content{align-items:center;gap:8px;font-weight:500;display:flex}.refresh-error-banner__retry{color:#c53030;cursor:pointer;background:#fff;border:1px solid #feb2b2;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.refresh-error-banner__retry:hover:not(:disabled){background:#fff5f5;border-color:#fc8181}.refresh-error-banner__retry:disabled{opacity:.6;cursor:not-allowed}.data-status__source small{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.data-status__source strong{font-size:13px}.data-status__icon{width:34px;height:34px;color:var(--green);background:#eaf7f0;border-radius:10px;place-items:center;display:grid}.data-status__metrics{flex-wrap:wrap;justify-content:flex-end;gap:10px 22px}.data-status__metrics span{color:var(--ink-500);gap:6px;font-size:12px}.data-status__metrics strong{color:var(--ink-900)}.data-status__warning,.data-status__warning strong{color:var(--amber)!important}.summary-section{gap:14px;display:grid}.section-heading,.panel-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.section-heading h2,.panel-heading h2{color:var(--ink-950);letter-spacing:-.025em;margin-bottom:0;font-size:20px}.section-heading>p{color:var(--ink-500);margin-bottom:1px;font-size:12px}.kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-height:138px;box-shadow:var(--shadow-sm);padding:17px;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--kpi-accent);height:3px;position:absolute;inset:auto 0 0}.kpi-card--ink{--kpi-accent:var(--ink-900);--kpi-soft:#eef3f1}.kpi-card--green{--kpi-accent:var(--green);--kpi-soft:#eaf7f0}.kpi-card--blue{--kpi-accent:var(--blue);--kpi-soft:#ebf2ff}.kpi-card--amber{--kpi-accent:var(--amber);--kpi-soft:#fff4e2}.kpi-card--slate{--kpi-accent:#687d80;--kpi-soft:#edf2f2}.kpi-card--violet{--kpi-accent:var(--violet);--kpi-soft:#f2eefc}.kpi-card--red{--kpi-accent:var(--red);--kpi-soft:#fff0ee}.kpi-card__topline{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kpi-card__label{color:var(--ink-500);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:800}.kpi-card__icon{width:34px;height:34px;color:var(--kpi-accent);background:var(--kpi-soft);border-radius:10px;flex:none;place-items:center;display:grid}.kpi-card__value{color:var(--ink-950);letter-spacing:-.055em;margin-top:22px;font-size:clamp(29px,3vw,38px);line-height:1;display:block}.dashboard-split{grid-template-columns:minmax(285px,.75fr) minmax(0,2.25fr);align-items:stretch;gap:16px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:22px}.panel-heading{align-items:flex-start;margin-bottom:20px}.panel-heading__tag,.executor-chip{color:var(--ink-700);white-space:nowrap;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:700;display:inline-flex}.completion-list{gap:8px;display:grid}.completion-item{background:var(--surface-soft);border:1px solid #e8eeea;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;display:grid}.completion-item__icon{width:34px;height:34px;color:var(--green);background:#e8f6ee;border-radius:10px;place-items:center;display:grid}.completion-item__copy{gap:2px;display:grid}.completion-item__copy strong{font-size:12px}.completion-item__copy small{color:var(--ink-500);font-size:10px}.completion-item__value{letter-spacing:-.04em;font-size:24px}.panel-note{color:var(--ink-500);margin:14px 2px 0;font-size:10px;line-height:1.5}.task-group-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.task-group{background:var(--surface-soft);border:1px solid #e6ece8;border-radius:12px;min-width:0;padding:12px}.task-group__heading{color:var(--group-accent);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding-bottom:10px;display:grid}.task-group__heading h3{color:var(--ink-900);margin:0;font-size:11px}.task-group__heading small{min-width:21px;height:21px;color:var(--group-accent);background:var(--group-soft);border-radius:999px;place-items:center;padding:0 5px;font-size:10px;font-weight:800;display:grid}.task-group--overdue{--group-accent:var(--red);--group-soft:#ffebe9}.task-group--progress{--group-accent:var(--blue);--group-soft:#e8f1ff}.task-group--waiting{--group-accent:var(--amber);--group-soft:#fff1da}.task-group--paused{--group-accent:var(--violet);--group-soft:#f2edf9}.task-group--done{--group-accent:var(--green);--group-soft:#e5f5ec}.task-group__list{gap:0;margin:0;padding:0;list-style:none;display:grid}.task-group__list li{border-bottom:1px solid #e7ece9;min-width:0;padding:10px 1px}.task-group__list li:last-child{border-bottom:0}.task-group__list span,.task-group__list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-group__list span{color:var(--ink-900);font-size:11px;font-weight:650}.task-group__list small,.task-group__empty{color:var(--ink-500);font-size:9px}.task-group__list small{margin-top:3px}.task-group__empty{text-align:center;margin:16px 0 5px}.inline-empty{min-height:140px;color:var(--ink-500);text-align:center;background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:12px;place-items:center;margin:0;font-size:12px;display:grid}.recent-panel{padding-bottom:8px}.task-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;overflow-x:auto}.task-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.task-table th,.task-table td{text-align:left;vertical-align:middle;padding:12px 14px}.task-table th{color:var(--ink-500);letter-spacing:.09em;text-transform:uppercase;background:var(--surface-soft);border-bottom:1px solid var(--line);font-size:9px;font-weight:800}.task-table td{color:var(--ink-700);border-bottom:1px solid #e9eeeb;font-size:11px}.task-table tr:last-child td{border-bottom:0}.task-table th:first-child{width:14%}.task-table th:nth-child(2){width:22%}.task-table th:nth-child(3){width:10%}.task-table th:nth-child(4){width:12%}.task-table th:nth-child(5),.task-table th:nth-child(6){width:10%}.task-table th:nth-child(7){width:8%}.task-table th:nth-child(8),.task-table th:nth-child(9){width:7%}.project-name,.task-name,.task-id{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-name,.task-name{color:var(--ink-900);font-weight:650}.task-main-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.task-title-row{align-items:center;gap:6px;min-width:0;display:flex}.task-external-link{color:var(--ink-500);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:color .15s,background-color .15s;display:inline-flex}.task-external-link:hover{color:var(--ink-900);background-color:var(--surface-soft)}.task-meta-subrow{align-items:center;gap:8px;min-width:0;display:flex}.task-id{color:var(--ink-500);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.task-notes-preview{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;font-style:italic;overflow:hidden}.task-cell-dept,.task-cell-executor{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-priority-chip{color:#a63f3a;white-space:nowrap;background:#fff0ef;border:1px solid #f2cecb;border-radius:6px;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.task-no-priority{color:var(--ink-500);font-size:11px}.task-table-empty{text-align:center;color:var(--ink-500);padding:32px 14px;font-size:12px}.badge{min-height:24px;color:var(--badge-ink);white-space:nowrap;background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:9px;font-weight:750;line-height:1;display:inline-flex}.status-badge--todo{--badge-ink:#8a5817;--badge-bg:#fff5df;--badge-border:#f4ddaa}.status-badge--inprogress{--badge-ink:#1d5eb9;--badge-bg:#edf4ff;--badge-border:#cee0fb}.status-badge--paused{--badge-ink:#52696c;--badge-bg:#f0f4f4;--badge-border:#d8e1e0}.status-badge--done{--badge-ink:#16704b;--badge-bg:#eaf7f0;--badge-border:#c7ead8}.status-badge--unset,.result-badge--unset{--badge-ink:#647678;--badge-bg:#f3f5f4;--badge-border:#dfe5e2}.result-badge--pending{--badge-ink:#6c5c37;--badge-bg:#f8f3e7;--badge-border:#eae0c8}.result-badge--testing{--badge-ink:#4d5aa8;--badge-bg:#f0f1ff;--badge-border:#d7daf8}.result-badge--best{--badge-ink:#825112;--badge-bg:#fff2cf;--badge-border:#efda96}.result-badge--good{--badge-ink:#147153;--badge-bg:#e8f7f0;--badge-border:#c7eadb}.result-badge--win{--badge-ink:#1863a8;--badge-bg:#eaf5ff;--badge-border:#cbe2f5}.result-badge--fail{--badge-ink:#a63f3a;--badge-bg:#fff0ef;--badge-border:#f2cecb}.result-badge--drop{--badge-ink:#69567a;--badge-bg:#f4eff8;--badge-border:#e1d5ea}.task-group__list li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions""project actions";align-items:center;column-gap:8px;display:grid}.task-group__list li>span{grid-area:name}.task-group__list li>small{grid-area:project}.mark-done-button{color:#16704b;cursor:pointer;white-space:nowrap;background:#eaf7f0;border:1px solid #c7ead8;border-radius:999px;grid-area:actions;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.mark-done-button:hover:not(:disabled){background:#d8f1e4;border-color:#a9dfc6}.mark-done-button:disabled{opacity:.6;cursor:default}.in-progress-heading-icon{vertical-align:-3px;color:#1d5eb9;margin-right:6px;display:inline-flex}.charts-section{flex-direction:column;gap:1.5rem;margin-block:1.5rem;display:flex}.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.charts-grid--single{grid-template-columns:minmax(0,1fr)}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.25rem 1.5rem;transition:border-color .15s,box-shadow .15s;display:flex}.chart-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.chart-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:1.25rem;display:flex}.chart-card__title{color:var(--ink-950);margin-block-end:.25rem;font-size:1.125rem;font-weight:700}.chart-card__subtitle{color:var(--ink-500);margin:0;font-size:.8125rem}.chart-range-picker{background:var(--surface-soft);border:1px solid var(--line);border-radius:9999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.chart-range-btn{color:var(--ink-700);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:all .15s}.chart-range-btn:hover{color:var(--ink-950);background:#0d25290d}.chart-range-btn--active{background:var(--ink-950);color:#fff;box-shadow:0 1px 3px #0d252933}.chart-range-btn--active:hover{background:var(--ink-900);color:#fff}.chart-card__body{flex-direction:column;flex:1;display:flex;position:relative}.chart-container{width:100%;min-height:240px}.chart-empty{background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);min-height:200px;color:var(--ink-500);text-align:center;justify-content:center;align-items:center;padding:1.5rem;font-size:.875rem;display:flex}.donut-chart-layout{justify-content:space-around;align-items:center;gap:1.5rem;padding-block:.5rem;display:flex}.donut-chart-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.donut-center-label{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center-label__count{color:var(--ink-950);font-size:1.25rem;font-weight:800;line-height:1.1}.donut-center-label__text{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);font-size:.6875rem;font-weight:600}.chart-legend-list{flex-direction:column;flex:1;gap:.5rem;min-width:140px;display:flex}.chart-legend-list--wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;display:grid}.chart-legend-item{align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.chart-legend-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chart-legend-text{justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;display:flex}.chart-legend-name{color:var(--ink-700);font-weight:500}.chart-legend-metrics{color:var(--ink-950);white-space:nowrap;font-size:.75rem}.success-rate-badge{border-radius:var(--radius-sm);background:#7357bd14;border:1px solid #7357bd40;align-items:center;gap:.5rem;padding:.375rem .75rem;display:inline-flex}.success-rate-badge__icon{color:var(--violet);display:flex}.success-rate-badge__content{flex-direction:column;display:flex}.success-rate-badge__label{text-transform:uppercase;letter-spacing:.04em;color:var(--violet);font-size:.6875rem;font-weight:600}.success-rate-badge__value{color:var(--ink-950);font-size:.9375rem;font-weight:800}.chart-tooltip{background:var(--ink-950);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);pointer-events:none;padding:.5rem .75rem;font-size:.75rem}.chart-tooltip__label{color:#fff;margin-block-end:.25rem;font-weight:700}.chart-tooltip__value{color:#e2e8e5;margin:0}.chart-tooltip__breakdown{flex-direction:column;gap:2px;margin-block-start:.375rem;font-size:.6875rem;display:flex}@media (width<=960px){.charts-grid{grid-template-columns:1fr}.donut-chart-layout{flex-direction:column;align-items:center}.chart-legend-list--wrap{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media (width<=640px){.chart-card{padding:1rem}.chart-card__header{flex-direction:column;align-items:stretch}.chart-range-picker{justify-content:space-between;width:100%;overflow-x:auto}.chart-range-btn{padding:.25rem .5rem;font-size:.6875rem}.chart-legend-list--wrap{grid-template-columns:1fr}}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-block-end:20px;padding:16px 20px;display:flex}.filter-panel__top{align-items:center;gap:12px;display:flex}.filter-search-box{flex:1;align-items:center;display:flex;position:relative}.filter-search-icon{color:var(--ink-500);pointer-events:none;position:absolute;left:12px}.filter-search-input{width:100%;color:var(--ink-950);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;padding:9px 36px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.filter-search-input:focus{border-color:var(--ink-700);box-shadow:0 0 0 2px #1431371a}.filter-search-clear{width:22px;height:22px;color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:8px}.filter-search-clear:hover{color:var(--ink-950);background:var(--line)}.filter-panel__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-dropdown{display:inline-block;position:relative}.filter-dropdown__trigger{color:var(--ink-700);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-dropdown__trigger:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink-950)}.filter-dropdown__trigger--active{border-color:var(--lime-dark);color:var(--ink-950);background:#b9ec6933;font-weight:600}.filter-dropdown__label-text{color:var(--ink-500);font-weight:400}.filter-dropdown__value-text{color:var(--ink-950)}.filter-dropdown__icon{color:var(--ink-500);transition:transform .15s}.filter-dropdown__icon--open{transform:rotate(180deg)}.filter-dropdown__menu{z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:220px;max-width:320px;box-shadow:var(--shadow-md);padding:6px 0;animation:.12s ease-out fadeIn;position:absolute;top:calc(100% + 6px);left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown__header{border-bottom:1px solid var(--line);color:var(--ink-500);justify-content:space-between;align-items:center;padding:6px 12px 8px;font-size:.75rem;display:flex}.filter-dropdown__actions{gap:8px;display:flex}.filter-dropdown__action-btn{color:var(--ink-700);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.filter-dropdown__action-btn:hover{color:var(--ink-950)}.filter-dropdown__options{max-height:220px;padding:4px 0;overflow-y:auto}.filter-dropdown__empty{color:var(--ink-500);text-align:center;margin:0;padding:12px;font-size:.8rem}.filter-dropdown__option{color:var(--ink-900);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;transition:background .1s;display:flex}.filter-dropdown__option:hover{background:var(--surface-soft)}.filter-dropdown__option--selected{background:#b9ec691f;font-weight:500}.filter-dropdown__checkbox{width:15px;height:15px;accent-color:var(--lime-dark);cursor:pointer}.filter-dropdown__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter-dropdown__single-option{text-align:left;width:100%;color:var(--ink-900);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:.82rem;transition:background .1s;display:block}.filter-dropdown__single-option:hover{background:var(--surface-soft)}.filter-dropdown__single-option--selected{color:var(--ink-950);background:#b9ec6926;font-weight:600}.date-filter-menu{min-width:250px}.date-filter-presets{flex-direction:column;padding:4px 0;display:flex}.date-preset-btn{text-align:left;width:100%;color:var(--ink-900);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:.82rem;transition:background .1s;display:block}.date-preset-btn:hover{background:var(--surface-soft)}.date-preset-btn--active{color:var(--ink-950);background:#b9ec6926;font-weight:600}.date-filter-custom{border-top:1px solid var(--line);background:var(--surface-soft);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.date-custom-field{flex-direction:column;gap:3px;display:flex}.date-custom-field label{color:var(--ink-500);font-size:.72rem;font-weight:500}.date-custom-field input[type=date]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-950);padding:5px 8px;font-size:.8rem}.date-custom-clear{color:var(--ink-500);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:.75rem;display:inline-flex}.date-custom-clear:hover{color:var(--red)}.filter-panel__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.filter-summary{color:var(--ink-700);align-items:center;gap:8px;font-size:.82rem;display:flex}.filter-summary__badge{color:var(--lime-dark);background:#b9ec6940;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:600;display:inline-block}.filter-clear-btn{color:var(--ink-700);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-clear-btn:hover:not(:disabled){color:var(--red);border-color:var(--red);background:#c44b4814}.filter-clear-btn:disabled{opacity:.45;cursor:not-allowed}.active-filter-chips{flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;display:flex}.active-filter-chips__title{color:var(--ink-500);margin-right:2px;font-size:.75rem;font-weight:500}.active-filter-chips__list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.active-chip{background:var(--surface-soft);color:var(--ink-950);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;display:inline-flex;box-shadow:0 1px 2px #00000008}.active-chip__remove{width:14px;height:14px;color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.active-chip__remove:hover{color:var(--ink-950);background:var(--line)}.active-filter-chips__clear-btn{color:var(--ink-500);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.72rem;text-decoration:underline}.active-filter-chips__clear-btn:hover{color:var(--red)}.state-card--empty-filtered{border-color:var(--line-strong);background:var(--surface);text-align:center;padding:36px 20px}.state-card--empty-filtered h2{color:var(--ink-950);margin-bottom:6px;font-size:1.15rem}.state-card--empty-filtered p{color:var(--ink-500);margin-bottom:16px;font-size:.88rem}.state-card--empty-filtered button{background:var(--ink-950);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:opacity .15s;display:inline-flex}.state-card--empty-filtered button:hover{opacity:.85}.state-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-height:150px;box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:16px;padding:24px;display:grid}.state-card__icon{width:48px;height:48px;color:var(--red);background:#fff0ef;border-radius:14px;place-items:center;display:grid}.state-card h2{margin-bottom:5px;font-size:17px}.state-card p{color:var(--ink-500);margin:0;font-size:12px}.state-card button{color:#fff;background:var(--ink-900);border:0;border-radius:10px;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.state-card--empty{grid-template-columns:auto 1fr}.state-card--empty .state-card__icon{color:var(--ink-500);background:var(--surface-soft)}.dashboard-loading{gap:16px;padding-top:16px;display:grid}.loading-kpis,.loading-panels{gap:12px;display:grid}.loading-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.loading-panels{grid-template-columns:minmax(280px,.75fr) minmax(0,2.25fr)}.skeleton{border-radius:var(--radius-md);background:linear-gradient(110deg,#e7ece9 8%,#f2f5f3 18%,#e7ece9 33%) 0 0/200% 100%;border:1px solid #e1e7e3}.skeleton--kpi{height:138px}.skeleton--panel{height:280px}.skeleton--table{height:340px}@media (prefers-reduced-motion:reduce){.refresh-icon--spinning{animation:none}}@media (width<=1180px){.dashboard-header{align-items:flex-start}.dashboard-header__meta{flex-wrap:wrap;max-width:410px}.kpi-grid,.loading-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.task-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.dashboard-shell{padding:16px}.dashboard-header{padding:26px;display:grid}.dashboard-header__meta{justify-content:flex-start;max-width:none}.dashboard-split,.loading-panels{grid-template-columns:1fr}.data-status{align-items:flex-start}.data-status__metrics{justify-content:start;justify-items:start;display:grid}}@media (width<=640px){.dashboard-shell{padding:10px}.dashboard-header{border-radius:18px;min-height:0;padding:22px 18px}.dashboard-header__monogram{flex-basis:42px;width:42px;height:42px}.dashboard-header__meta,.header-meta-card,.refresh-button{width:100%}.header-meta-card{min-width:0}.data-status,.section-heading,.panel-heading{flex-direction:column;align-items:flex-start}.data-status__metrics{width:100%}.kpi-grid,.loading-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{min-height:122px}.task-group-grid{grid-template-columns:1fr}.task-table-wrap{border:0;overflow:visible}.task-table,.task-table tbody,.task-table tr,.task-table td{width:100%;display:block}.task-table thead{display:none}.task-table tbody{gap:10px;display:grid}.task-table tr{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;padding:12px;display:grid}.task-table td{border-bottom:1px solid #e5ebe7;grid-template-columns:78px 1fr;gap:8px;padding:8px 2px;display:grid}.task-table td:before{color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;content:attr(data-label);font-size:8px;font-weight:800}.task-table td:first-child,.task-table td:nth-child(2){grid-column:1/-1}.task-table td:nth-last-child(-n+2){border-bottom:0}.state-card{grid-template-columns:1fr;justify-items:start}}@media (width<=340px){.kpi-grid,.loading-kpis,.task-table tr{grid-template-columns:1fr}.task-table td{grid-column:1/-1;border-bottom:1px solid #e5ebe7!important}.task-table td:last-child{border-bottom:0!important}}.creative-performance-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding:1.5rem;display:flex}.creative-performance-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;display:flex}.creative-performance-title{color:var(--ink-950);letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.35rem;font-weight:700}.creative-performance-subtitle{color:var(--ink-500);margin:0;font-size:.875rem}.creative-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.creative-kpi-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;padding:1rem 1.125rem;transition:transform .15s,box-shadow .15s;display:flex}.creative-kpi-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.creative-kpi-card--highlight{background:linear-gradient(135deg,#1a8c6114,#b9ec6914);border-color:#1a8c6159}.creative-kpi-card__top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.creative-kpi-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500);font-size:.78rem;font-weight:600}.creative-kpi-card__icon{color:var(--ink-500);justify-content:center;align-items:center;display:flex}.creative-kpi-card__value{color:var(--ink-950);margin-bottom:.25rem;font-size:1.65rem;font-weight:700;line-height:1.2}.creative-kpi-card__caption{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.creative-analytics-visual-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;display:grid}@media (width<=1024px){.creative-analytics-visual-grid{grid-template-columns:1fr}}.creative-visual-col{flex-direction:column;min-width:0;display:flex}.creative-section-block{margin-top:.5rem}.creative-table-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;height:100%;display:flex;overflow:hidden}.creative-table-card__header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem .75rem;display:flex}.creative-table-card__title{color:var(--ink-900);margin-bottom:.15rem;font-size:1.05rem;font-weight:700}.creative-table-card__subtitle{color:var(--ink-500);margin:0;font-size:.8rem}.creative-table-toggle-btn{color:var(--blue);border-radius:var(--radius-sm);background:0 0;border:1px solid #2878ff4d;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.creative-table-toggle-btn:hover{border-color:var(--blue);background:#2878ff14}.creative-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.creative-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.creative-data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500);background:var(--surface-soft);border-bottom:1px solid var(--line);white-space:nowrap;padding:.65rem .875rem;font-size:.75rem;font-weight:600}.creative-data-table td{color:var(--ink-900);border-bottom:1px solid var(--line);white-space:nowrap;padding:.65rem .875rem}.creative-data-table tbody tr:last-child td{border-bottom:none}.creative-data-table tbody tr:hover{background:#0d252905}.creative-table-empty{text-align:center;color:var(--ink-500);padding:2rem 1rem;font-style:italic}.text-right{text-align:right}.font-mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-violet{color:var(--violet)!important}.text-green{color:var(--green)!important}.text-lime{color:var(--lime-dark,#41711d)!important}.text-blue{color:var(--blue)!important}.text-red{color:var(--red)!important}.text-muted{color:var(--ink-500)!important}
