.app-shell{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--topbar-height) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar-bg);border-right:var(--sidebar-border);flex-direction:column;grid-row:1/-1;display:flex;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-sm);height:var(--topbar-height);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border);font-weight:700;font-size:var(--text-h4-size);color:var(--color-primary);display:flex}.sidebar-brand .icon{width:28px;height:28px;color:var(--color-accent);justify-content:center;align-items:center;display:inline-flex}.nav-list{padding:var(--space-md) var(--space-sm);gap:var(--space-xs);flex-direction:column;margin:0;list-style:none;display:flex}.nav-section-title{padding:var(--space-md) var(--space-md) var(--space-xs);font-size:var(--text-caption-size);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:600}.nav-item{align-items:center;gap:var(--space-sm);width:100%;padding:10px var(--space-md);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--text-small-size);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item:hover{background:var(--sidebar-item-hover);text-decoration:none}.nav-item:hover .icon{text-decoration:none}.nav-item.is-active{background:var(--sidebar-item-active-bg);border-left-color:var(--sidebar-item-active-border);color:var(--sidebar-active-text)}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:0 var(--space-xl);background:var(--topbar-bg);border-bottom:var(--topbar-border);z-index:10;grid-area:1/2;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:var(--space-md);display:flex}.topbar-page-title{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar-page-title-heading{font-size:var(--text-lg-size);letter-spacing:-.01em;color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;line-height:1.25;overflow:hidden}.topbar-page-title-subtitle{font-size:var(--text-caption-size);color:var(--color-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.3;overflow:hidden}@media (width<=767px){.topbar-page-title-subtitle{display:none}}.topbar-breadcrumb{align-items:center;gap:var(--space-xs);font-size:var(--text-small-size);color:var(--color-secondary);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.topbar-breadcrumb .btn-icon.btn-sm{margin-left:-4px;padding:4px}.topbar-breadcrumb .font-mono{color:var(--color-tertiary)}.topbar .menu-toggle{display:none}.main-content{padding:var(--space-xl);background:var(--color-background);grid-area:2/2;overflow-y:auto}.sidebar-overlay{display:none}@media (width<=1023px){.app-shell{grid-template-columns:72px 1fr}.sidebar-brand span,.nav-item span{display:none}.nav-item{justify-content:center;padding:12px}.nav-list{padding:var(--space-md) var(--space-sm)}}@media (width<=767px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:20;width:min(280px,80vw);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar.is-open .sidebar-brand span,.sidebar.is-open .nav-item span{display:inline}.sidebar.is-open .nav-item{padding:10px var(--space-md);justify-content:flex-start}.topbar,.main-content{grid-column:1}.topbar .menu-toggle{display:inline-flex}.sidebar.is-open~.topbar .menu-toggle{display:none}.sidebar-overlay.is-visible{z-index:15;background:#0006;display:block;position:fixed;inset:0}}:root{--color-sf-brand-25:#f5f8ff;--color-sf-brand-50:#eaf1fe;--color-sf-brand-100:#d6e4fd;--color-sf-brand-200:#aec8fc;--color-sf-brand-300:#85a9f9;--color-sf-brand-400:#5d8bf4;--color-sf-brand-500:#3b71ed;--color-sf-brand-600:#2563eb;--color-sf-brand-700:#1d4ec5;--color-sf-brand-800:#1a3f9e;--color-sf-brand-900:#17357d;--color-sf-brand-950:#11214d;--color-sf-gray-25:#fcfcfd;--color-sf-gray-50:#f9fafb;--color-sf-gray-100:#f2f4f7;--color-sf-gray-200:#eaecf0;--color-sf-gray-300:#d0d5dd;--color-sf-gray-400:#98a1b2;--color-sf-gray-500:#667085;--color-sf-gray-600:#475467;--color-sf-gray-700:#344054;--color-sf-gray-800:#18212f;--color-sf-gray-900:#101828;--color-sf-gray-950:#0c111d;--color-sf-gray-100-rgb:242, 244, 247;--color-sf-gray-600-rgb:71, 84, 103;--color-sf-gray-900-rgb:16, 24, 40;--color-sf-white:#fff;--color-sf-black:#000;--color-sf-transparent:transparent;--color-sf-error-25:#fffbfa;--color-sf-error-50:#fef3f2;--color-sf-error-100:#fee4e2;--color-sf-error-500:#f04437;--color-sf-error-600:#d92c20;--color-sf-error-700:#b42318;--color-sf-error-950:#55160c;--color-sf-warning-25:#fffcf5;--color-sf-warning-50:#fffaeb;--color-sf-warning-100:#fef0c7;--color-sf-warning-500:#f79009;--color-sf-warning-600:#dc6803;--color-sf-warning-700:#b54708;--color-sf-warning-950:#4e1d08;--color-sf-success-25:#f6fef9;--color-sf-success-50:#ecfdf3;--color-sf-success-100:#d1fadf;--color-sf-success-500:#12b76a;--color-sf-success-600:#039855;--color-sf-success-700:#027a48;--color-sf-success-950:#053321;--color-sf-cyan-25:#f5feff;--color-sf-cyan-50:#ecfdff;--color-sf-cyan-100:#cff9fe;--color-sf-cyan-500:#06aed4;--color-sf-cyan-600:#088ab2;--color-sf-cyan-700:#0e7090;--color-sf-cyan-950:#0d2d3a}:root,[data-theme=light]{--color-sf-base-white:var(--color-sf-white);--color-sf-base-black:var(--color-sf-black);--color-sf-base-transparent:var(--color-sf-transparent);--color-sf-fg-primary:var(--color-sf-gray-900);--color-sf-fg-secondary:var(--color-sf-gray-600);--color-sf-fg-tertiary:var(--color-sf-gray-500);--color-sf-fg-quaternary:var(--color-sf-gray-400);--color-sf-fg-disabled:var(--color-sf-gray-400);--color-sf-fg-placeholder:var(--color-sf-gray-500);--color-sf-fg-on-brand:var(--color-sf-white);--color-sf-fg-brand:var(--color-sf-brand-600);--color-sf-fg-error:var(--color-sf-error-600);--color-sf-fg-warning:var(--color-sf-warning-600);--color-sf-fg-success:var(--color-sf-success-600);--color-sf-fg-info:var(--color-sf-cyan-700);--color-sf-bg-primary:var(--color-sf-white);--color-sf-bg-secondary:var(--color-sf-gray-50);--color-sf-bg-tertiary:var(--color-sf-gray-100);--color-sf-bg-brand:var(--color-sf-brand-600);--color-sf-bg-brand-hover:var(--color-sf-brand-700);--color-sf-bg-brand-subtle:var(--color-sf-brand-50);--color-sf-bg-error:var(--color-sf-error-50);--color-sf-bg-warning:var(--color-sf-warning-50);--color-sf-bg-success:var(--color-sf-success-50);--color-sf-bg-info:var(--color-sf-cyan-50);--color-sf-border-primary:var(--color-sf-gray-200);--color-sf-border-secondary:var(--color-sf-gray-100);--color-sf-border-brand:var(--color-sf-brand-300);--color-sf-border-error:var(--color-sf-error-300);--color-sf-border-warning:var(--color-sf-warning-300);--color-sf-border-success:var(--color-sf-success-300);--color-sf-border-info:var(--color-sf-cyan-300)}[data-theme=dark]{--color-sf-base-white:var(--color-sf-gray-100);--color-sf-fg-primary:var(--color-sf-gray-100);--color-sf-fg-secondary:var(--color-sf-gray-400);--color-sf-fg-tertiary:var(--color-sf-gray-500);--color-sf-fg-quaternary:var(--color-sf-gray-600);--color-sf-fg-disabled:var(--color-sf-gray-600);--color-sf-fg-placeholder:var(--color-sf-gray-500);--color-sf-fg-on-brand:var(--color-sf-white);--color-sf-fg-brand:var(--color-sf-brand-500);--color-sf-fg-error:var(--color-sf-error-500);--color-sf-fg-warning:var(--color-sf-warning-500);--color-sf-fg-success:var(--color-sf-success-500);--color-sf-fg-info:var(--color-sf-cyan-500);--color-sf-bg-primary:var(--color-sf-gray-950);--color-sf-bg-secondary:var(--color-sf-gray-900);--color-sf-bg-tertiary:var(--color-sf-gray-800);--color-sf-bg-brand:var(--color-sf-brand-500);--color-sf-bg-brand-hover:var(--color-sf-brand-400);--color-sf-bg-brand-subtle:var(--color-sf-gray-900);--color-sf-bg-error:var(--color-sf-error-950);--color-sf-bg-warning:var(--color-sf-warning-950);--color-sf-bg-success:var(--color-sf-success-950);--color-sf-bg-info:var(--color-sf-cyan-950);--color-sf-border-primary:var(--color-sf-gray-700);--color-sf-border-secondary:var(--color-sf-gray-800);--color-sf-border-brand:var(--color-sf-brand-500);--color-sf-border-error:var(--color-sf-error-800);--color-sf-border-warning:var(--color-sf-warning-800);--color-sf-border-success:var(--color-sf-success-800);--color-sf-border-info:var(--color-sf-cyan-800)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-sf-base-white:var(--color-sf-gray-100);--color-sf-fg-primary:var(--color-sf-gray-100);--color-sf-fg-secondary:var(--color-sf-gray-400);--color-sf-fg-tertiary:var(--color-sf-gray-500);--color-sf-fg-quaternary:var(--color-sf-gray-600);--color-sf-fg-disabled:var(--color-sf-gray-600);--color-sf-fg-placeholder:var(--color-sf-gray-500);--color-sf-fg-on-brand:var(--color-sf-white);--color-sf-fg-brand:var(--color-sf-brand-500);--color-sf-fg-error:var(--color-sf-error-500);--color-sf-fg-warning:var(--color-sf-warning-500);--color-sf-fg-success:var(--color-sf-success-500);--color-sf-fg-info:var(--color-sf-cyan-500);--color-sf-bg-primary:var(--color-sf-gray-950);--color-sf-bg-secondary:var(--color-sf-gray-900);--color-sf-bg-tertiary:var(--color-sf-gray-800);--color-sf-bg-brand:var(--color-sf-brand-500);--color-sf-bg-brand-hover:var(--color-sf-brand-400);--color-sf-bg-brand-subtle:var(--color-sf-gray-900);--color-sf-bg-error:var(--color-sf-error-950);--color-sf-bg-warning:var(--color-sf-warning-950);--color-sf-bg-success:var(--color-sf-success-950);--color-sf-bg-info:var(--color-sf-cyan-950);--color-sf-border-primary:var(--color-sf-gray-700);--color-sf-border-secondary:var(--color-sf-gray-800);--color-sf-border-brand:var(--color-sf-brand-500);--color-sf-border-error:var(--color-sf-error-800);--color-sf-border-warning:var(--color-sf-warning-800);--color-sf-border-success:var(--color-sf-success-800);--color-sf-border-info:var(--color-sf-cyan-800)}}:root,[data-theme=light]{--color-primary:var(--color-sf-gray-900);--color-secondary:var(--color-sf-gray-600);--color-tertiary:var(--color-sf-gray-500);--color-accent:var(--color-sf-brand-600);--color-accent-hover:var(--color-sf-brand-700);--color-accent-active:var(--color-sf-brand-800);--color-background:var(--color-sf-white);--color-surface:var(--color-sf-gray-50);--color-surface-elevated:var(--color-sf-white);--color-border:var(--color-sf-gray-200);--color-border-subtle:var(--color-sf-gray-100);--color-muted:var(--color-sf-gray-400);--color-placeholder:var(--color-sf-gray-500);--color-on-accent:var(--color-sf-white);--color-error:var(--color-sf-error-600);--color-warning:var(--color-sf-warning-600);--color-success:var(--color-sf-success-600);--color-info:var(--color-sf-cyan-700);--color-error-background:var(--color-sf-error-50);--color-warning-background:var(--color-sf-warning-50);--color-success-background:var(--color-sf-success-50);--color-info-background:var(--color-sf-cyan-50);--color-error-foreground:var(--color-sf-white);--color-warning-foreground:var(--color-sf-white);--color-success-foreground:var(--color-sf-white);--color-info-foreground:var(--color-sf-white);--color-accent-bg:var(--color-sf-bg-brand-subtle);--color-success-bg:var(--color-sf-bg-success);--color-warning-bg:var(--color-sf-bg-warning);--color-error-bg:var(--color-sf-bg-error);--color-info-bg:var(--color-sf-bg-info);--color-surface-secondary:var(--color-sf-bg-secondary);--color-surface-tertiary:var(--color-sf-bg-tertiary);--color-text:var(--color-primary)}[data-theme=dark]{--color-primary:var(--color-sf-gray-100);--color-secondary:var(--color-sf-gray-400);--color-tertiary:var(--color-sf-gray-500);--color-accent:var(--color-sf-brand-500);--color-accent-hover:var(--color-sf-brand-400);--color-accent-active:var(--color-sf-brand-300);--color-background:var(--color-sf-gray-950);--color-surface:var(--color-sf-gray-900);--color-surface-elevated:var(--color-sf-gray-800);--color-border:var(--color-sf-gray-700);--color-border-subtle:var(--color-sf-gray-800);--color-muted:var(--color-sf-gray-500);--color-placeholder:var(--color-sf-gray-500);--color-on-accent:var(--color-sf-white);--color-error:var(--color-sf-error-500);--color-warning:var(--color-sf-warning-500);--color-success:var(--color-sf-success-500);--color-info:var(--color-sf-cyan-500);--color-error-background:var(--color-sf-error-950);--color-warning-background:var(--color-sf-warning-950);--color-success-background:var(--color-sf-success-950);--color-info-background:var(--color-sf-cyan-950)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:var(--color-sf-gray-100);--color-secondary:var(--color-sf-gray-400);--color-tertiary:var(--color-sf-gray-500);--color-accent:var(--color-sf-brand-500);--color-accent-hover:var(--color-sf-brand-400);--color-accent-active:var(--color-sf-brand-300);--color-background:var(--color-sf-gray-950);--color-surface:var(--color-sf-gray-900);--color-surface-elevated:var(--color-sf-gray-800);--color-border:var(--color-sf-gray-700);--color-border-subtle:var(--color-sf-gray-800);--color-muted:var(--color-sf-gray-500);--color-placeholder:var(--color-sf-gray-500);--color-on-accent:var(--color-sf-white);--color-error:var(--color-sf-error-500);--color-warning:var(--color-sf-warning-500);--color-success:var(--color-sf-success-500);--color-info:var(--color-sf-cyan-500);--color-error-background:var(--color-sf-error-950);--color-warning-background:var(--color-sf-warning-950);--color-success-background:var(--color-sf-success-950);--color-info-background:var(--color-sf-cyan-950)}}:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-h1-size:36px;--text-h1-weight:700;--text-h1-line:1.2;--text-h1-track:-.02em;--text-h2-size:30px;--text-h2-weight:700;--text-h2-line:1.25;--text-h2-track:-.02em;--text-h3-size:24px;--text-h3-weight:600;--text-h3-line:1.3;--text-h3-track:-.01em;--text-h4-size:20px;--text-h4-weight:600;--text-h4-line:1.35;--text-h4-track:-.01em;--text-lg-size:18px;--text-lg-weight:600;--text-lg-line:1.3;--text-body-size:16px;--text-body-weight:400;--text-body-line:1.5;--text-body-strong-weight:600;--text-small-size:14px;--text-small-weight:400;--text-small-line:1.5;--text-small-strong-weight:600;--text-caption-size:12px;--text-caption-weight:500;--text-caption-line:1.4;--text-code-size:14px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:1000px;--shadow-sm:0px 1px 2px #1018280d;--shadow-default:0px 1px 3px #1018281a, 0px 1px 2px #1018280f;--shadow-md:0px 4px 6px #1018281a, 0px 2px 4px #1018280f;--shadow-lg:0px 10px 15px #1018281a, 0px 4px 6px #1018280d;--shadow-xl:0px 20px 25px #1018281a, 0px 10px 10px #1018280a;--shadow-focus-ring:0px 0px 0px 4px #2563eb3d;--sidebar-width:264px;--topbar-height:64px;--content-max-width:1440px;--grid-row-max-height:60px}@media (width>=1600px){:root{--content-max-width:1680px}}@media (width>=1920px){:root{--content-max-width:1880px}}@media (width>=2560px){:root{--content-max-width:2400px}}:root,[data-theme=light]{--btn-primary-bg:var(--color-accent);--btn-primary-bg-hover:var(--color-accent-hover);--btn-primary-bg-active:var(--color-accent-active);--btn-primary-text:var(--color-on-accent);--btn-primary-border:var(--color-accent);--btn-secondary-bg:var(--color-surface-elevated);--btn-secondary-bg-hover:var(--color-background);--btn-secondary-text:var(--color-primary);--btn-secondary-border:var(--color-border);--btn-ghost-text:var(--color-accent);--btn-ghost-bg-hover:#2563eb0f;--btn-disabled-bg:var(--color-sf-gray-100);--btn-disabled-text:var(--color-sf-gray-400);--btn-radius:var(--radius-md);--input-bg:var(--color-background);--input-border:1px solid var(--color-border);--input-border-hover:1px solid var(--color-sf-gray-400);--input-border-focus:1px solid var(--color-accent);--input-border-error:1px solid var(--color-error);--input-radius:var(--radius-md);--input-placeholder:var(--color-placeholder);--input-text:var(--color-primary);--input-focus-ring:var(--shadow-focus-ring);--card-bg:var(--color-surface-elevated);--card-border:1px solid var(--color-border);--card-radius:var(--radius-lg);--card-padding:var(--space-xl);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-default);--table-header-bg:var(--color-surface);--table-header-text:var(--color-secondary);--table-row-bg:var(--color-background);--table-row-bg-hover:var(--color-surface);--table-row-bg-selected:#2563eb0f;--table-border:1px solid var(--color-border);--table-text:var(--color-primary);--chip-bg:var(--color-surface);--chip-border:1px solid var(--color-border);--chip-radius:var(--radius-full);--chip-padding:var(--space-xs) 10px;--chip-text:var(--color-secondary);--badge-success-bg:var(--color-success-background);--badge-success-text:var(--color-success);--badge-warning-bg:var(--color-warning-background);--badge-warning-text:var(--color-warning);--badge-error-bg:var(--color-error-background);--badge-error-text:var(--color-error);--badge-info-bg:var(--color-info-background);--badge-info-text:var(--color-info);--badge-neutral-bg:var(--color-surface);--badge-neutral-text:var(--color-secondary);--alert-success-bg:var(--color-success-background);--alert-success-border:var(--color-success);--alert-success-text:var(--color-success);--alert-warning-bg:var(--color-warning-background);--alert-warning-border:var(--color-warning);--alert-warning-text:var(--color-warning);--alert-error-bg:var(--color-error-background);--alert-error-border:var(--color-error);--alert-error-text:var(--color-error);--alert-info-bg:var(--color-info-background);--alert-info-border:var(--color-info);--alert-info-text:var(--color-info);--alert-radius:var(--radius-lg);--alert-padding:var(--space-md);--tooltip-bg:var(--color-primary);--tooltip-text:var(--color-background);--tooltip-radius:var(--radius-md);--sidebar-bg:var(--color-surface-elevated);--sidebar-border:1px solid var(--color-border);--sidebar-item-hover:var(--color-surface);--sidebar-item-active-bg:#2563eb14;--sidebar-item-active-border:var(--color-accent);--sidebar-text:var(--color-secondary);--sidebar-active-text:var(--color-accent);--topbar-bg:var(--color-background);--topbar-border:1px solid var(--color-border);--topbar-height:64px}[data-theme=dark]{--btn-primary-bg:var(--color-accent);--btn-primary-bg-hover:var(--color-accent-hover);--btn-primary-bg-active:var(--color-accent-active);--btn-primary-text:var(--color-on-accent);--btn-primary-border:var(--color-accent);--btn-secondary-bg:var(--color-surface-elevated);--btn-secondary-bg-hover:var(--color-background);--btn-secondary-text:var(--color-primary);--btn-secondary-border:var(--color-border);--btn-ghost-text:var(--color-accent);--btn-ghost-bg-hover:#3b71ed14;--btn-disabled-bg:var(--color-sf-gray-800);--btn-disabled-text:var(--color-sf-gray-500);--table-header-bg:var(--color-surface);--table-header-text:var(--color-secondary);--table-row-bg:var(--color-background);--table-row-bg-hover:var(--color-surface);--table-row-bg-selected:#3b71ed1f;--table-border:1px solid var(--color-border);--table-text:var(--color-primary);--sidebar-bg:var(--color-surface-elevated);--sidebar-item-hover:var(--color-background);--sidebar-item-active-bg:#3b71ed1f;--topbar-bg:var(--color-background);--input-bg:var(--color-background);--input-border:1px solid var(--color-border);--input-border-hover:1px solid var(--color-sf-gray-500);--input-border-focus:1px solid var(--color-accent);--input-border-error:1px solid var(--color-error);--input-placeholder:var(--color-placeholder);--input-text:var(--color-primary);--card-bg:var(--color-surface-elevated);--card-border:1px solid var(--color-border);--chip-bg:var(--color-surface);--chip-border:1px solid var(--color-border);--chip-text:var(--color-secondary);--badge-success-bg:var(--color-success-background);--badge-success-text:var(--color-success);--badge-warning-bg:var(--color-warning-background);--badge-warning-text:var(--color-warning);--badge-error-bg:var(--color-error-background);--badge-error-text:var(--color-error);--badge-info-bg:var(--color-info-background);--badge-info-text:var(--color-info);--badge-neutral-bg:var(--color-surface);--badge-neutral-text:var(--color-secondary);--alert-success-bg:var(--color-success-background);--alert-success-border:var(--color-success);--alert-success-text:var(--color-success);--alert-warning-bg:var(--color-warning-background);--alert-warning-border:var(--color-warning);--alert-warning-text:var(--color-warning);--alert-error-bg:var(--color-error-background);--alert-error-border:var(--color-error);--alert-error-text:var(--color-error);--alert-info-bg:var(--color-info-background);--alert-info-border:var(--color-info);--alert-info-text:var(--color-info);--tooltip-bg:var(--color-primary);--tooltip-text:var(--color-background)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--btn-primary-bg:var(--color-accent);--btn-primary-bg-hover:var(--color-accent-hover);--btn-primary-bg-active:var(--color-accent-active);--btn-primary-text:var(--color-on-accent);--btn-primary-border:var(--color-accent);--btn-secondary-bg:var(--color-surface-elevated);--btn-secondary-bg-hover:var(--color-background);--btn-secondary-text:var(--color-primary);--btn-secondary-border:var(--color-border);--btn-ghost-text:var(--color-accent);--btn-ghost-bg-hover:#3b71ed14;--btn-disabled-bg:var(--color-sf-gray-800);--btn-disabled-text:var(--color-sf-gray-500);--table-header-bg:var(--color-surface);--table-header-text:var(--color-secondary);--table-row-bg:var(--color-background);--table-row-bg-hover:var(--color-surface);--table-row-bg-selected:#3b71ed1f;--table-border:1px solid var(--color-border);--table-text:var(--color-primary);--sidebar-bg:var(--color-surface-elevated);--sidebar-item-hover:var(--color-background);--sidebar-item-active-bg:#3b71ed1f;--topbar-bg:var(--color-background);--input-bg:var(--color-background);--input-border:1px solid var(--color-border);--input-border-hover:1px solid var(--color-sf-gray-500);--input-border-focus:1px solid var(--color-accent);--input-border-error:1px solid var(--color-error);--input-placeholder:var(--color-placeholder);--input-text:var(--color-primary);--card-bg:var(--color-surface-elevated);--card-border:1px solid var(--color-border);--chip-bg:var(--color-surface);--chip-border:1px solid var(--color-border);--chip-text:var(--color-secondary);--badge-success-bg:var(--color-success-background);--badge-success-text:var(--color-success);--badge-warning-bg:var(--color-warning-background);--badge-warning-text:var(--color-warning);--badge-error-bg:var(--color-error-background);--badge-error-text:var(--color-error);--badge-info-bg:var(--color-info-background);--badge-info-text:var(--color-info);--badge-neutral-bg:var(--color-surface);--badge-neutral-text:var(--color-secondary);--alert-success-bg:var(--color-success-background);--alert-success-border:var(--color-success);--alert-success-text:var(--color-success);--alert-warning-bg:var(--color-warning-background);--alert-warning-border:var(--color-warning);--alert-warning-text:var(--color-warning);--alert-error-bg:var(--color-error-background);--alert-error-border:var(--color-error);--alert-error-text:var(--color-error);--alert-info-bg:var(--color-info-background);--alert-info-border:var(--color-info);--alert-info-text:var(--color-info);--tooltip-bg:var(--color-primary);--tooltip-text:var(--color-background)}}.e-grid{border:var(--table-border);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-small-size);line-height:var(--text-small-line);color:var(--table-text);background-color:var(--table-row-bg);overflow:hidden;width:100%!important}.e-grid .e-gridtitlebar,.e-grid .e-toolbar,.e-grid .e-toolbar-items,.e-grid table caption,.e-grid caption{display:none!important}.e-grid .e-gridheader{background-color:var(--table-header-bg);border-bottom:var(--table-border)}.e-grid .e-gridheader table,.e-grid .e-columnheader{background-color:var(--table-header-bg)}.e-grid .e-headercell,.e-grid .e-detailheadercell{background-color:var(--table-header-bg);color:var(--table-header-text);font-family:var(--font-sans);font-size:var(--text-caption-size);font-weight:var(--text-caption-weight);letter-spacing:.05em;text-transform:uppercase;padding:var(--space-sm) var(--space-lg);white-space:normal;word-break:break-word;vertical-align:middle;border-bottom:none;border-right:none;text-align:left!important}.e-grid .e-headercell .e-headercelldiv{color:var(--table-header-text);font-family:var(--font-sans);font-size:var(--text-caption-size);height:auto;line-height:var(--text-small-line);white-space:normal;word-break:break-word;padding:0;text-align:left!important}.e-grid .e-headercell .e-sortfilterdiv,.e-grid .e-headercell .e-ascending:before,.e-grid .e-headercell .e-descending:before{color:var(--color-muted)}.e-grid .e-gridcontent,.e-grid .e-content{background-color:var(--table-row-bg)}.e-grid .e-gridcontent table,.e-grid .e-content table{table-layout:fixed;min-width:100%;width:100%!important}.e-grid .e-gridheader table{table-layout:fixed;width:100%!important}.e-grid .e-rowcell,.e-grid .e-summarycell{background-color:var(--table-row-bg);color:var(--table-text);font-family:var(--font-sans);font-size:var(--text-small-size);line-height:var(--text-small-line);padding:var(--space-sm) var(--space-lg);border-bottom:var(--table-border);vertical-align:top;white-space:nowrap;text-overflow:ellipsis;border-top:none;border-right:none;overflow:hidden;text-align:left!important}.e-grid .e-rowcell.cell-wrap{word-break:break-word;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.e-grid .e-clipboard{cursor:default;resize:none;width:1px;height:1px;position:fixed;top:-1000px;left:-1000px;overflow:hidden}.e-grid .cell-clamp-2{word-break:break-word;white-space:normal!important;text-overflow:ellipsis!important;-webkit-line-clamp:2!important;line-clamp:2!important;-webkit-box-orient:vertical!important;display:-webkit-box!important;overflow:hidden!important}.e-grid .e-tooltip-wrap,.e-grid+.e-tooltip-wrap,.e-grid~.e-tooltip-wrap,.e-tooltip-wrap.e-grid-tooltip,.e-grid-tooltip,.e-grid .e-tooltipwrap{visibility:hidden!important;opacity:0!important;display:none!important}.e-grid .e-rowcell[title],.e-grid .e-rowcell [title]{pointer-events:auto}.e-grid .e-headercell{vertical-align:middle}.e-grid .e-row:last-child .e-rowcell{border-bottom:none}.e-grid .e-altrow .e-rowcell{background-color:var(--table-row-bg)}.e-grid .e-row:hover .e-rowcell,.e-grid .e-row.e-altrow:hover .e-rowcell{background-color:var(--table-row-bg-hover);cursor:pointer}.e-grid .e-row.e-selectionbackground .e-rowcell,.e-grid .e-active .e-rowcell{background-color:var(--table-row-bg-selected);color:var(--table-text)}.e-grid .e-emptyrow td,.e-grid .e-emptyrow .e-rowcell{background-color:var(--table-row-bg);color:var(--color-muted);padding:var(--space-xl) var(--space-lg);font-size:var(--text-small-size);border-bottom:none;text-align:center!important}.e-grid .e-gridpager,.e-pager{background-color:var(--table-header-bg);border-top:var(--table-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-xs) var(--space-lg);font-family:var(--font-sans);font-size:var(--text-small-size);color:var(--color-secondary);flex-wrap:nowrap;align-items:center;gap:0;flex-direction:row!important;display:flex!important}.e-pager>*{flex-shrink:0;align-items:center;display:inline-flex!important}.e-pager .e-mfirst,.e-pager .e-mprev,.e-pager .e-mnext,.e-pager .e-mlast{display:none!important}.e-pager .e-pagercontainer{background-color:#0000;border:none;flex-wrap:nowrap;order:2;align-items:center;gap:2px;flex-direction:row!important;display:inline-flex!important}.e-pager .e-pagercontainer>div{flex-shrink:0;display:inline-flex!important}.e-pager .e-parentmsgbar{color:var(--color-secondary);font-size:var(--text-small-size);white-space:nowrap;order:3;margin-left:auto}.e-pager .e-numericitem{color:var(--color-secondary);border-radius:var(--radius-sm);cursor:pointer;min-width:28px;height:28px;font-size:var(--text-small-size);font-family:var(--font-sans);white-space:nowrap;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex!important}.e-pager .e-numericitem:hover{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-primary)}.e-pager .e-numericitem.e-currentpage,.e-pager .e-numericitem.e-active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}.e-pager .e-first,.e-pager .e-prev,.e-pager .e-next,.e-pager .e-last,.e-pager .e-pp,.e-pager .e-np{color:var(--color-secondary);border-radius:var(--radius-sm);cursor:pointer;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;line-height:1;display:inline-flex!important}.e-pager .e-first:hover,.e-pager .e-prev:hover,.e-pager .e-next:hover,.e-pager .e-last:hover{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-primary)}.e-pager .e-first.e-disable,.e-pager .e-prev.e-disable,.e-pager .e-next.e-disable,.e-pager .e-last.e-disable{color:var(--color-muted);cursor:default;pointer-events:none}.e-pager .e-icons{color:inherit;align-items:center;font-size:12px;display:inline-flex}.e-pager .e-pagerconstant,.e-pager .e-pagerexternalmsg{color:var(--color-muted);font-size:var(--text-small-size);display:none}.e-grid *,.e-grid :before,.e-grid :after{box-shadow:none!important}.e-grid table{border-collapse:collapse;min-width:100%}.e-grid .e-gridheader,.e-grid .e-gridcontent,.e-grid .e-gridpager{box-shadow:none;border:none}.e-grid .e-rhandler{border-right:none}.e-grid .e-row:focus-within .e-rowcell,.e-grid .e-focused .e-rowcell,.e-grid .e-rowcell.e-focused,.e-grid td.e-focused,.e-grid .e-row.e-selectionbackground .e-rowcell,.e-grid .e-active .e-rowcell{box-shadow:none!important;border-color:#0000!important;outline:none!important}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-line);color:var(--color-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}code,pre,.mono{font-family:var(--font-mono);font-size:var(--text-code-size)}img{max-width:100%;display:block}.text-muted{color:var(--color-muted)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-accent{color:var(--color-accent)}.font-mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{border-radius:var(--btn-radius);font-size:var(--text-small-size);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}.btn:disabled,.btn.is-disabled{cursor:not-allowed;background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:#0000!important}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-border)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.btn-primary:active:not(:disabled){background:var(--btn-primary-bg-active)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-bg-hover)}.btn-ghost{color:var(--btn-ghost-text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--btn-ghost-bg-hover)}.btn-sm{font-size:var(--text-caption-size);padding:6px 12px}.btn-lg{font-size:var(--text-body-size);padding:12px 20px}.btn-icon{padding:8px}.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}.card-body{gap:var(--space-md);flex-direction:column;display:flex}.grid-card .e-grid .e-row,.grid-card .e-grid .e-rowcell{height:var(--grid-row-max-height)}.grid-card .e-grid .e-rowcell{vertical-align:middle}.grid-card .e-grid .e-gridcontent,.grid-card .e-grid .e-content,.grid-card .e-grid .e-gridcontent table,.grid-card .e-grid .e-content table{height:auto!important}.card.is-hover:hover{box-shadow:var(--card-shadow-hover)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.card-title{font-size:var(--text-h4-size);letter-spacing:var(--text-h4-track);color:var(--color-primary);margin:0;font-weight:700}.card-subtitle{font-size:var(--text-small-size);color:var(--color-secondary);margin:4px 0 0}.kpi-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.kpi-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--space-lg);box-shadow:var(--card-shadow)}.kpi-label{font-size:var(--text-small-size);color:var(--color-secondary);margin-bottom:var(--space-sm);font-weight:500}.kpi-value{letter-spacing:-.02em;color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.kpi-change{margin-top:var(--space-sm);font-size:var(--text-caption-size);align-items:center;gap:4px;font-weight:600;display:inline-flex}.kpi-change.positive{color:var(--color-success)}.kpi-change.negative{color:var(--color-error)}.kpi-change.warning{color:var(--color-warning)}.kpi-change.text-secondary{color:var(--color-secondary)}.page-header{margin-bottom:var(--space-xl)}.page-header h1{font-size:var(--text-h2-size);letter-spacing:var(--text-h2-track);margin:0 0 6px;font-weight:700}.page-header p{color:var(--color-secondary);margin:0}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:var(--space-sm);display:flex}.alert{align-items:center;gap:var(--space-sm);padding:var(--alert-padding);border-radius:var(--alert-radius);background:var(--color-surface);color:var(--color-primary);margin-bottom:var(--space-lg);border:1px solid #0000;display:flex}.alert-success{background:var(--alert-success-bg);border-color:var(--alert-success-border);color:var(--alert-success-text)}.alert-warning{background:var(--alert-warning-bg);border-color:var(--alert-warning-border);color:var(--alert-warning-text)}.alert-error{background:var(--alert-error-bg);border-color:var(--alert-error-border);color:var(--alert-error-text)}.alert-info{background:var(--alert-info-bg);border-color:var(--alert-info-border);color:var(--alert-info-text)}.badge{border-radius:var(--radius-full);font-size:var(--text-caption-size);white-space:nowrap;justify-content:center;align-items:center;gap:4px;padding:3px 10px;font-weight:600;line-height:1.4;display:inline-flex}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.badge-error{background:var(--badge-error-bg);color:var(--badge-error-text)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-text)}.badge-neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.table-container{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--space-md);box-shadow:var(--card-shadow)}.progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width .3s}.progress-fill.is-success{background:var(--color-success)}.progress-fill.is-warning{background:var(--color-warning)}.progress-fill.is-error{background:var(--color-error)}.status-dot{background:var(--color-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.success{background:var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.error{background:var(--color-error)}.status-dot.info{background:var(--color-info)}.tabs{gap:var(--space-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg);display:flex}.tab{color:var(--color-secondary);font-size:var(--text-small-size);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-weight:600;transition:color .15s,border-color .15s}.tab:hover{color:var(--color-primary)}.tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-small-size)}.data-table thead{background:var(--table-header-bg)}.data-table th{text-align:left;color:var(--table-header-text);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:var(--text-caption-size);white-space:nowrap;padding:12px 16px}.data-table td{color:var(--table-text);border-bottom:var(--table-border);vertical-align:middle;padding:14px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--table-row-bg-hover)}.data-table tbody tr.is-selected{background:var(--table-row-bg-selected)}.two-column-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.panel-grid{gap:var(--space-lg);display:grid}.bar-chart{align-items:flex-end;gap:var(--space-md);border-bottom:1px solid var(--color-border);height:180px;padding-bottom:28px;display:flex;position:relative}.bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex;position:relative}.bar-pair{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;min-height:0;display:flex}.bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-accent);opacity:.85;width:14px}.bar.is-actual{background:var(--color-border);opacity:1}.bar-label{font-size:var(--text-caption-size);color:var(--color-secondary);white-space:nowrap;position:absolute;bottom:-24px}.donut{border-radius:50%;position:relative}.donut-hole{background:var(--color-surface-elevated);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:22%}.donut-hole span{font-size:var(--text-h3-size);color:var(--color-primary);font-weight:700;line-height:1}.donut-hole small{font-size:var(--text-caption-size);color:var(--color-secondary)}.segmented-control{background:var(--color-surface-secondary);border:var(--input-border);border-radius:var(--radius-md);padding:3px;display:inline-flex}.segment{border-radius:var(--radius-sm);color:var(--color-secondary);font-size:var(--text-small-size);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-weight:600;transition:background .15s,color .15s}.segment:hover{color:var(--color-primary)}.segment.is-active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-sm)}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--color-secondary);flex-direction:column;align-items:center;display:flex}.empty-state .icon{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.5}.icon{vertical-align:middle;stroke:currentColor;flex-shrink:0;display:inline-flex}.chart-tooltip{background:var(--tooltip-bg);color:var(--tooltip-text);border-radius:var(--tooltip-radius);box-shadow:var(--shadow-md);white-space:nowrap;z-index:10;pointer-events:none;padding:6px 8px;font-size:12px;line-height:1.6;position:absolute;left:50%;transform:translate(-50%)}.chart-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--tooltip-bg);position:absolute;top:100%;left:50%;transform:translate(-50%)}.chart-tooltip-title{margin-bottom:2px;font-weight:600}.chart-tooltip-row{align-items:center;gap:6px;display:flex}.chart-tooltip-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.bar-group:focus-visible{box-shadow:var(--shadow-focus-ring);border-radius:var(--radius-sm);outline:none}.loading-state{padding:var(--space-3xl);color:var(--color-secondary);justify-content:center;align-items:center;display:flex}
