.ui-toaster{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.ui-toast{--_c:var(--info);align-items:center;gap:var(--space-3);min-width:240px;max-width:360px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:auto;animation:ui-toast-in var(--dur) var(--ease);display:flex}.ui-toast--info{--_c:var(--info)}.ui-toast--success{--_c:var(--success)}.ui-toast--warning{--_c:var(--warning)}.ui-toast--danger{--_c:var(--danger)}.ui-toast__dot{border-radius:var(--radius-full);background:var(--_c);flex:none;width:8px;height:8px}.ui-toast__msg{font-size:var(--text-sm);color:var(--fg);flex:1}.ui-toast__close{color:var(--fg-subtle);cursor:pointer;font-size:var(--text-xs);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px}.ui-toast__close:hover{color:var(--fg)}.ui-toast__close:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=640px){.ui-toaster{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.ui-toast{max-width:none}}@media (prefers-reduced-motion:reduce){.ui-toast{animation:none}}.ui-spinner{border-radius:var(--radius-full);vertical-align:middle;opacity:.9;border:2px solid;border-top-color:#0000;animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner{animation-duration:1.4s}}.ui-btn{--_h:36px;justify-content:center;align-items:center;gap:var(--space-2);height:var(--_h);padding:0 var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);border:1px solid #0000;line-height:1;display:inline-flex}.ui-btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ui-btn:disabled{cursor:not-allowed;opacity:.5}.ui-btn__label{display:inline-block}.ui-btn--sm{--_h:28px;padding:0 var(--space-3);font-size:var(--text-xs)}.ui-btn--md{--_h:36px}.ui-btn--lg{--_h:44px;padding:0 var(--space-6);font-size:var(--text-base)}.ui-btn--block{width:100%;display:flex}.ui-btn--primary{background:var(--brand);color:var(--fg-on-brand)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-strong)}.ui-btn--primary:active:not(:disabled){transform:translateY(.5px)}.ui-btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--fg)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--fg-subtle)}.ui-btn--ghost{color:var(--fg-muted);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.ui-btn--danger{background:var(--danger);color:#fff}.ui-btn--danger:hover:not(:disabled){filter:brightness(.94)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg)}.ui-card--elev-flat{box-shadow:none}.ui-card--elev-sm{box-shadow:var(--shadow-sm)}.ui-card--elev-md{box-shadow:var(--shadow)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--space-3)}.ui-card--pad-md{padding:var(--space-4)}.ui-card--pad-lg{padding:var(--space-6)}.ui-card--interactive{cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease)}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.ui-card--interactive:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ui-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ui-card__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--fg)}.ui-card__subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--fg-muted)}.ui-card__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.ui-badge{--_c:var(--fg-muted);--_bg:var(--surface-2);align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;line-height:1.4;display:inline-flex}.ui-badge--sm{padding:1px var(--space-2);font-size:11px}.ui-badge--neutral{--_c:var(--fg-muted);--_bg:var(--surface-2)}.ui-badge--brand{--_c:var(--brand-text);--_bg:var(--brand-weak)}.ui-badge--success,.ui-badge--good{--_c:var(--success);--_bg:var(--success-bg)}.ui-badge--warning,.ui-badge--mid{--_c:var(--warning);--_bg:var(--warning-bg)}.ui-badge--danger,.ui-badge--bad{--_c:var(--danger);--_bg:var(--danger-bg)}.ui-badge--ai{--_c:var(--ai);--_bg:var(--ai-bg)}.ui-badge--soft{background:var(--_bg);color:var(--_c)}.ui-badge--solid{background:var(--_c);color:#fff}.ui-badge--outline{border-color:var(--_c);color:var(--_c);background:0 0}.ui-badge__dot-slot{display:inline-flex}.ui-stat{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-stat--right{text-align:right;align-items:flex-end}.ui-stat__label{font-size:var(--text-sm);color:var(--fg-muted)}.ui-stat__value-row{align-items:baseline;gap:var(--space-1);display:flex}.ui-stat__value{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--fg);line-height:var(--leading-tight)}.ui-stat__unit{font-size:var(--text-sm);color:var(--fg-muted)}.ui-stat--sm .ui-stat__value{font-size:var(--text-lg)}.ui-stat--md .ui-stat__value{font-size:var(--text-xl)}.ui-stat--lg .ui-stat__value{font-size:var(--text-2xl)}.ui-stat__delta{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:inline-flex}.ui-stat__delta--up{color:var(--up)}.ui-stat__delta--down{color:var(--down)}.ui-stat__delta--flat{color:var(--fg-subtle)}.ui-stat__hint{font-size:var(--text-xs);color:var(--fg-subtle)}.ui-skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-hover) 37%, var(--surface-2) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite ui-skeleton-shimmer;display:block}.ui-skeleton--text{border-radius:var(--radius-sm);height:.85em;margin:.2em 0}.ui-skeleton--block{border-radius:var(--radius)}.ui-skeleton--circle{border-radius:var(--radius-full)}.ui-skeleton-lines{display:block}@keyframes ui-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{opacity:.75;animation:none}}.ui-state{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);color:var(--fg-muted);flex-direction:column;display:flex}.ui-state--md{padding:var(--space-10) var(--space-6)}.ui-state--sm{padding:var(--space-6) var(--space-4)}.ui-state__icon{opacity:.85;margin-bottom:var(--space-1);font-size:32px;line-height:1}.ui-state--sm .ui-state__icon{font-size:24px}.ui-state__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--fg)}.ui-state__desc{font-size:var(--text-sm);color:var(--fg-muted);max-width:34ch}.ui-state__action{margin-top:var(--space-2)}.ui-state--error .ui-state__icon{color:var(--danger)}.ui-segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.ui-segmented--block{width:100%;display:flex}.ui-segmented__item{height:30px;padding:0 var(--space-4);border-radius:calc(var(--radius-sm) - 2px);color:var(--fg-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:none;flex:1;justify-content:center;align-items:center;display:inline-flex}.ui-segmented--sm .ui-segmented__item{height:24px;padding:0 var(--space-3);font-size:var(--text-xs)}.ui-segmented__item:hover:not(.is-active):not(:disabled){color:var(--fg)}.ui-segmented__item:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ui-segmented__item:disabled{opacity:.4;cursor:not-allowed}.ui-segmented__item.is-active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-sm)}.ui-tabs{align-items:center;gap:var(--space-1);display:flex}.ui-tabs--underline{gap:var(--space-4);border-bottom:1px solid var(--border)}.ui-tabs__tab{align-items:center;gap:var(--space-2);color:var(--fg-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:none;display:inline-flex}.ui-tabs__tab:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:var(--radius-sm);outline:none}.ui-tabs__tab:disabled{opacity:.4;cursor:not-allowed}.ui-tabs--underline .ui-tabs__tab{padding:var(--space-3) 2px;border-bottom:2px solid #0000;margin-bottom:-1px}.ui-tabs--underline .ui-tabs__tab:hover:not(:disabled){color:var(--fg)}.ui-tabs--underline .ui-tabs__tab.is-active{color:var(--brand-text);border-bottom-color:var(--brand)}.ui-tabs--pill .ui-tabs__tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full)}.ui-tabs--pill .ui-tabs__tab:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.ui-tabs--pill .ui-tabs__tab.is-active{background:var(--brand-weak);color:var(--brand-text)}.ui-tabs__badge{border-radius:var(--radius-full);background:var(--surface-2);min-width:18px;height:18px;color:var(--fg-muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.ui-tabs__tab.is-active .ui-tabs__badge{background:var(--brand-weak);color:var(--brand-text)}.ui-table-wrap{border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);color:var(--fg)}.ui-table th,.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.ui-table--dense th,.ui-table--dense td{padding:var(--space-2) var(--space-3)}.ui-table thead th{background:var(--surface-2);color:var(--fg-muted);font-weight:var(--fw-medium);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap}.ui-table--sticky thead th{z-index:1;position:sticky;top:0}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--surface-hover)}.ui-table__row--click{cursor:pointer}.ui-table__row--click:focus-visible{box-shadow:inset 0 0 0 2px var(--ring);outline:none}.ui-table__num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-table__empty{text-align:center;color:var(--fg-subtle);padding:var(--space-8)!important}.ui-num{font-variant-numeric:tabular-nums}.ui-num--up{color:var(--up)}.ui-num--down{color:var(--down)}.ui-num--flat{color:var(--fg)}.ui-num--empty{color:var(--fg-subtle)}.ui-conclusion{--_accent:var(--fg-muted);--_bg:var(--surface-2);padding:var(--space-5) var(--space-6);padding-left:var(--space-6);background:var(--_bg);border-radius:var(--radius);border-left:3px solid var(--_accent);position:relative}.ui-conclusion--good{--_accent:var(--success);--_bg:var(--success-bg)}.ui-conclusion--mid{--_accent:var(--warning);--_bg:var(--warning-bg)}.ui-conclusion--bad{--_accent:var(--danger);--_bg:var(--danger-bg)}.ui-conclusion--neutral{--_accent:var(--border-strong);--_bg:var(--surface-2)}.ui-conclusion__top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.ui-conclusion__eyebrow{font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:.04em;color:var(--_accent);text-transform:none}.ui-conclusion--neutral .ui-conclusion__eyebrow{color:var(--fg-muted)}.ui-conclusion__text{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--leading-tight);color:var(--fg);margin:0}@media (width<=768px){.ui-conclusion{padding:var(--space-4)}.ui-conclusion__text{font-size:var(--text-lg)}}.ui-modal-root{z-index:var(--z-modal);display:flex;position:fixed;inset:0}.ui-modal-root--center{padding:var(--space-4);justify-content:center;align-items:center}.ui-modal-root--right{justify-content:flex-end}.ui-modal-root--left{justify-content:flex-start}.ui-modal__overlay{background:var(--overlay);animation:ui-fade-in var(--dur) var(--ease);position:absolute;inset:0}.ui-modal__panel{background:var(--surface);max-height:100%;color:var(--fg);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;position:relative}.ui-modal__panel--center{max-width:calc(100vw - var(--space-8));border-radius:var(--radius-lg);animation:ui-modal-pop var(--dur) var(--ease)}.ui-modal__panel--right,.ui-modal__panel--left{max-width:92vw;height:100%}.ui-modal__panel--right{animation:ui-slide-left var(--dur) var(--ease);border-left:1px solid var(--border)}.ui-modal__panel--left{animation:ui-slide-right var(--dur) var(--ease);border-right:1px solid var(--border)}.ui-modal__header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex}.ui-modal__title{font-size:var(--text-lg);font-weight:var(--fw-semibold)}.ui-modal__close{color:var(--fg-muted);font-size:var(--text-base);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none}.ui-modal__close:hover{background:var(--surface-hover);color:var(--fg)}.ui-modal__close:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ui-modal__body{padding:var(--space-5);flex:1;min-height:0;overflow-y:auto}.ui-modal__body--flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.ui-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes ui-slide-left{0%{transform:translate(100%)}to{transform:none}}@keyframes ui-slide-right{0%{transform:translate(-100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.ui-modal__overlay,.ui-modal__panel{animation:none}}.ui-tooltip{align-items:center;display:inline-flex;position:relative}.ui-tooltip__bubble{z-index:var(--z-toast);width:max-content;max-width:240px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--gray-900);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-normal);line-height:var(--leading);box-shadow:var(--shadow);pointer-events:none;animation:ui-tooltip-in var(--dur-fast) var(--ease);position:absolute}:root[data-theme=dark] .ui-tooltip__bubble{background:var(--gray-700)}.ui-tooltip__bubble--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip__bubble--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip__bubble--left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.ui-tooltip__bubble--right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}@keyframes ui-tooltip-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ui-tooltip__bubble{animation:none}}.ui-select{align-items:center;display:inline-flex;position:relative}.ui-select__el{appearance:none;height:36px;padding:0 var(--space-8) 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;max-width:100%;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.ui-select--sm .ui-select__el{height:28px;font-size:var(--text-xs);padding-right:var(--space-6)}.ui-select__el:hover{border-color:var(--fg-subtle)}.ui-select__el:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring);outline:none}.ui-select__chevron{right:var(--space-3);color:var(--fg-subtle);font-size:var(--text-xs);pointer-events:none;position:absolute}.ui-select--sm .ui-select__chevron{right:var(--space-2)}
