:root{--ref-grey-50:#fbfbfc;--ref-grey-100:#f6f7f9;--ref-grey-200:#eef0f3;--ref-grey-300:#e3e6eb;--ref-grey-400:#cdd2da;--ref-grey-500:#9ba3af;--ref-grey-600:#6b7280;--ref-grey-700:#4b5563;--ref-grey-900:#111727;--ref-accent-50:#eef0fe;--ref-accent-100:#dde2fd;--ref-accent-600:#2236e5;--ref-accent-700:#1b2bb8;--ref-green-50:#ecfdf3;--ref-green-200:#a6f4c5;--ref-green-600:#079455;--ref-green-700:#067647;--ref-orange-50:#fff8eb;--ref-orange-200:#fedf89;--ref-orange-600:#dc6803;--ref-orange-700:#b54708;--ref-yellow-50:#fefbe8;--ref-yellow-200:#fde68a;--ref-yellow-600:#eab308;--ref-yellow-700:#a16207;--ref-red-50:#fef3f2;--ref-red-200:#fecdca;--ref-red-600:#d92d20;--ref-red-700:#b42318;--color-primary:var(--ref-accent-600);--color-primary-hover:var(--ref-accent-700);--color-primary-weak:var(--ref-accent-50);--color-on-primary:var(--ref-grey-50);--color-bg:var(--ref-grey-100);--color-surface:var(--ref-grey-50);--color-surface-subtle:var(--ref-grey-200);--color-border:var(--ref-grey-300);--color-border-strong:var(--ref-grey-400);--color-text:var(--ref-grey-900);--color-text-secondary:var(--ref-grey-700);--color-text-muted:var(--ref-grey-500);--color-primary-border:var(--ref-accent-100);--color-atmosphere-strong:#2236e512;--color-atmosphere-weak:#2236e50a;--color-sidebar-glass:#fbfbfce0;--status-success-text:var(--ref-green-700);--status-success-surface:var(--ref-green-50);--status-success-border:var(--ref-green-200);--status-success-dot:var(--ref-green-600);--status-warning-text:var(--ref-orange-700);--status-warning-surface:var(--ref-orange-50);--status-warning-border:var(--ref-orange-200);--status-warning-dot:var(--ref-orange-600);--status-pending-text:var(--ref-yellow-700);--status-pending-surface:var(--ref-yellow-50);--status-pending-border:var(--ref-yellow-200);--status-pending-dot:var(--ref-yellow-600);--status-error-text:var(--ref-red-700);--status-error-surface:var(--ref-red-50);--status-error-border:var(--ref-red-200);--status-error-dot:var(--ref-red-600);--component-xs:.25rem;--component-sm:.5rem;--component-md:.75rem;--component-lg:1rem;--component-xl:1.25rem;--component-2xl:1.5rem;--layout-sm:1.5rem;--layout-md:2rem;--layout-lg:3rem;--layout-xl:4rem;--radius-sharp:0;--radius-moderate:.25rem;--radius-rounded:.5rem;--radius-pill:100rem;--shadow-none:none;--shadow-low:0 .0625rem .125rem #1117270a, 0 0 .0625rem #11172714;--shadow-medium:0 .5rem 1.5rem #1117271a;--shadow-high:0 1.5rem 4rem #11172729;--focus-ring:0 0 0 .25rem #2236e52e;--font-ui:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-data:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--type-display:1.875rem;--type-headline:1.5rem;--type-title:1.125rem;--type-body:.9375rem;--type-label:.8125rem;--type-caption:.75rem;--line-tight:1.2;--line-snug:1.4;--line-body:1.6;--control-height:2.5rem;--control-height-small:2rem;--row-dense:2rem;--sidebar-width:13.5rem;--assistant-width:22.5rem;--workspace-max:80rem;--chart-height:15rem;color:var(--color-text);background:var(--color-bg);font:400 var(--type-body) / var(--line-body) var(--font-ui);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem}body{background:radial-gradient(circle at 45% -10%, var(--color-atmosphere-strong), transparent 30rem), radial-gradient(circle at 100% 10%, var(--color-atmosphere-weak), transparent 28rem), var(--color-bg);min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}h1,h2,p{margin-top:0}h1{margin-bottom:var(--component-sm);font-size:var(--type-display);line-height:var(--line-tight);letter-spacing:-.02em}h2{margin-bottom:var(--component-xs);font-size:var(--type-title);line-height:var(--line-snug)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.app-shell--chat{grid-template-columns:var(--sidebar-width) minmax(0, 1fr) var(--assistant-width)}.sidebar{height:100vh;padding:var(--component-2xl) var(--component-lg);border-right:.0625rem solid var(--color-border);background:var(--color-sidebar-glass);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);position:sticky;top:0}.brand{align-items:center;gap:var(--component-sm);letter-spacing:-.01em;font-weight:700;display:flex}.brand__mark,.assistant__icon{width:var(--control-height-small);height:var(--control-height-small);border-radius:var(--radius-rounded);color:var(--color-on-primary);background:var(--color-primary);font-family:var(--font-data);font-size:var(--type-label);place-items:center;display:inline-grid}.sidebar nav{gap:var(--component-xs);margin-top:var(--layout-md);display:grid}.nav-link{min-height:var(--control-height);padding:0 var(--component-md);border-radius:var(--radius-moderate);color:var(--color-text-secondary);align-items:center;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-surface-subtle);color:var(--color-text)}.nav-link--active{color:var(--color-primary);background:var(--color-primary-weak)}.sidebar__saved{margin-top:var(--layout-lg);padding:var(--component-md);border-top:.0625rem solid var(--color-border)}.sidebar__saved span{margin-top:var(--component-sm);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.eyebrow{margin-bottom:var(--component-xs);color:var(--color-text-muted);font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.muted{color:var(--color-text-muted);font-size:var(--type-label)}.workspace{width:100%;max-width:var(--workspace-max);padding:var(--layout-md);margin:0 auto;overflow:hidden}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--layout-md);margin-bottom:var(--layout-sm);animation:.48s ease-out both reveal;display:flex}.page-header p{color:var(--color-text-secondary);margin-bottom:0}.page-header__actions{gap:var(--component-sm);flex-wrap:wrap;display:flex}.button{min-height:var(--control-height);padding:0 var(--component-lg);border-radius:var(--radius-moderate);cursor:pointer;border:.0625rem solid #0000;font-weight:600;transition:background-color .14s,border-color .14s,transform .14s}.button:active{transform:translateY(.0625rem)}.button:disabled{cursor:wait;opacity:.6}.button--primary{color:var(--color-on-primary);background:var(--color-primary)}.button--primary:hover{background:var(--color-primary-hover)}.button--ghost{color:var(--color-text-secondary);border-color:var(--color-border-strong);background:var(--color-surface)}.button--ghost:hover{color:var(--color-text);background:var(--color-surface-subtle)}.button--small{min-height:var(--control-height-small);padding-inline:var(--component-md);font-size:var(--type-label)}.icon-button{width:var(--control-height-small);height:var(--control-height-small);border-radius:var(--radius-moderate);color:var(--color-text-secondary);cursor:pointer;font-size:var(--type-headline);background:0 0;border:0}.filter-bar{align-items:end;gap:var(--component-md);margin-bottom:var(--layout-sm);padding:var(--component-md);border:.0625rem solid var(--color-border);border-radius:var(--radius-rounded);background:var(--color-surface);box-shadow:var(--shadow-low);flex-wrap:wrap;animation:.48s ease-out 40ms both reveal;display:flex}.filter-bar label,.form-stack label{gap:var(--component-xs);color:var(--color-text-secondary);font-size:var(--type-label);font-weight:600;display:grid}.filter-bar input,.form-stack input,.assistant textarea{min-height:var(--control-height);padding:0 var(--component-md);border:.0625rem solid var(--color-border-strong);border-radius:var(--radius-moderate);color:var(--color-text);background:var(--color-surface)}.filter-bar input:focus,.form-stack input:focus,.assistant textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.filter-chip,.badge{align-items:center;gap:var(--component-xs);min-height:var(--control-height-small);padding:0 var(--component-sm);border:.0625rem solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--type-caption);font-weight:600;display:inline-flex}.filter-bar__status{align-items:center;gap:var(--component-sm);min-height:var(--control-height);color:var(--color-text-muted);font-size:var(--type-caption);margin-left:auto;display:inline-flex}.status-dot{width:var(--component-sm);height:var(--component-sm);border-radius:var(--radius-pill);background:var(--status-success-dot)}.metrics-grid{gap:var(--component-md);margin-bottom:var(--layout-sm);grid-template-columns:repeat(4,minmax(0,1fr));animation:.48s ease-out 80ms both reveal;display:grid}.metric-card,.card,.state-card{border:.0625rem solid var(--color-border);border-radius:var(--radius-rounded);background:var(--color-surface);box-shadow:var(--shadow-low)}.metric-card{min-width:0;padding:var(--component-lg)}.metric-card__label{margin-bottom:var(--component-sm);color:var(--color-text-secondary);font-size:var(--type-label);font-weight:600}.metric-card__value{margin-bottom:var(--component-xs);font:600 var(--type-headline) / var(--line-tight) var(--font-data);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-card__detail{color:var(--color-text-muted);font-size:var(--type-caption);margin-bottom:0}.metric-card__detail--success{color:var(--status-success-text)}.metric-card__detail--warning{color:var(--status-warning-text)}.card{margin-bottom:var(--layout-sm);animation:.48s ease-out .12s both reveal;overflow:hidden}.card__header{justify-content:space-between;align-items:center;gap:var(--component-lg);padding:var(--component-lg) var(--component-xl);border-bottom:.0625rem solid var(--color-border);display:flex}.card__header p{color:var(--color-text-muted);font-size:var(--type-label);margin:0}.card__header--wrap{flex-wrap:wrap}.card__footer{padding:var(--component-sm) var(--component-xl);border-top:.0625rem solid var(--color-border);color:var(--color-text-muted);font:var(--type-caption) var(--font-data)}.badge:before{width:var(--component-xs);height:var(--component-xs);border-radius:var(--radius-pill);content:"";background:currentColor}.badge--pending{color:var(--status-pending-text);border-color:var(--status-pending-border);background:var(--status-pending-surface)}.badge--success{color:var(--status-success-text);border-color:var(--status-success-border);background:var(--status-success-surface)}.trend-chart{padding:var(--component-lg)}.trend-chart__visual{width:100%;height:var(--chart-height);display:block;overflow:visible}.trend-chart__axis{stroke:var(--color-border);stroke-width:1px}.trend-chart__line{fill:none;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;vector-effect:non-scaling-stroke}.segmented{padding:var(--component-xs);border:.0625rem solid var(--color-border);border-radius:var(--radius-moderate);background:var(--color-surface-subtle);display:flex}.segmented button{min-height:var(--control-height-small);padding:0 var(--component-sm);border-radius:var(--radius-moderate);color:var(--color-text-secondary);cursor:pointer;font-size:var(--type-caption);background:0 0;border:0;font-weight:600}.segmented button[aria-pressed=true]{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-low)}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:var(--type-label)}th{height:var(--row-dense);padding:0 var(--component-md);color:var(--color-text-muted);background:var(--color-surface-subtle);font-size:var(--type-caption);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;position:sticky;top:0}td{height:var(--row-dense);padding:var(--component-sm) var(--component-md);border-bottom:.0625rem solid var(--color-border);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--color-primary-weak)}.number{font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right}.change-up{color:var(--status-warning-text)}.change-down{color:var(--status-success-text)}.state-card{justify-content:center;align-items:center;gap:var(--component-lg);min-height:calc(var(--control-height) * 4);margin-bottom:var(--layout-sm);padding:var(--component-xl);color:var(--color-text-secondary);display:flex}.state-card p{color:var(--color-text-muted);margin:0}.state-card--error{border-color:var(--status-error-border);color:var(--status-error-text);background:var(--status-error-surface)}.spinner{width:var(--component-xl);height:var(--component-xl);border:.125rem solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-pill);animation:.8s linear infinite spin}.assistant{border-left:.0625rem solid var(--color-border);background:var(--color-surface);height:100vh;box-shadow:var(--shadow-medium);grid-template-rows:auto 1fr auto;animation:.2s ease-out both slide-in;display:grid;position:sticky;top:0}.assistant__header{padding:var(--component-lg);border-bottom:.0625rem solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.assistant__header>div{align-items:center;gap:var(--component-sm);display:flex}.assistant__header p{color:var(--color-text-muted);font-size:var(--type-caption);margin:0}.assistant__body{padding:var(--component-lg);background:var(--color-bg);overflow-y:auto}.assistant__message{max-width:95%;padding:var(--component-md);border:.0625rem solid var(--color-border);border-radius:var(--radius-rounded);background:var(--color-surface)}.assistant__message p:last-child{margin-bottom:0}.assistant__message--answer{margin-top:var(--component-md);border-color:var(--color-primary-border);background:var(--color-primary-weak);white-space:pre-wrap}.assistant__composer{padding:var(--component-lg);border-top:.0625rem solid var(--color-border)}.assistant textarea{width:100%;min-height:calc(var(--control-height) * 2);padding-block:var(--component-sm);resize:vertical}.assistant__composer>div{margin-top:var(--component-sm);color:var(--color-text-muted);font-size:var(--type-caption);justify-content:space-between;align-items:center;display:flex}.auth-shell{min-height:100vh;padding:var(--layout-md);place-items:center;display:grid}.auth-card{width:min(100%,32.5rem);padding:var(--layout-md);border:.0625rem solid var(--color-border);border-radius:var(--radius-rounded);background:var(--color-surface);box-shadow:var(--shadow-medium)}.auth-card h1{margin-top:var(--layout-sm)}.auth-card>p{color:var(--color-text-secondary)}.form-stack{gap:var(--component-lg);margin-top:var(--layout-sm);display:grid}.inline-message{min-height:var(--component-2xl);padding:var(--component-sm);font-size:var(--type-label);margin:0}.inline-message:empty{padding:0}.inline-message--error{color:var(--status-error-text)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:.0625rem!important;height:.0625rem!important;margin:-.0625rem!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes reveal{0%{opacity:0;transform:translateY(var(--component-sm))}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translateX(var(--component-lg))}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=75rem){.app-shell,.app-shell--chat{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.assistant{z-index:10;width:min(100%, var(--assistant-width));box-shadow:var(--shadow-high);position:fixed;right:0}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=48rem){.app-shell,.app-shell--chat{display:block}.sidebar{width:100%;height:auto;padding:var(--component-md);justify-content:space-between;align-items:center;display:flex;position:static}.sidebar nav{margin:0;display:flex}.sidebar__saved{display:none}.workspace{padding:var(--component-md)}.page-header{display:block}.page-header__actions{margin-top:var(--component-lg)}.filter-bar__status{width:100%;margin-left:0}.card__header{align-items:flex-start}}@media (width<=32rem){.sidebar nav .nav-link:not(.nav-link--active){display:none}.metrics-grid{grid-template-columns:1fr}.page-header__actions .button{flex:1}.filter-bar label,.filter-bar input{width:100%}.segmented{max-width:100%;overflow-x:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
