@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/SpaceGrotesk-Variable-DIiYFC0O.woff2)format("woff2"),url(/assets/SpaceGrotesk-Variable-COAQ4X7I.woff)format("woff"),url(/assets/SpaceGrotesk-Variable-BUwR3fZg.ttf)format("truetype")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/SpaceGrotesk-Light-C-FpMVV3.woff2)format("woff2"),url(/assets/SpaceGrotesk-Light-BOtHAO_W.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/SpaceGrotesk-Regular-5_qAMI6V.woff2)format("woff2"),url(/assets/SpaceGrotesk-Regular-rVngIBA1.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/SpaceGrotesk-Medium-DQn-B5H0.woff2)format("woff2"),url(/assets/SpaceGrotesk-Medium-svsF0Ke6.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/SpaceGrotesk-SemiBold-NsvtSSnZ.woff2)format("woff2"),url(/assets/SpaceGrotesk-SemiBold-DCb7PEcH.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/SpaceGrotesk-Bold-B4eZEm09.woff2)format("woff2"),url(/assets/SpaceGrotesk-Bold-Ep1gio5U.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/DMSans-VariableFont_opsz_wght-D_B5dL4R.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/DMSans-Italic-VariableFont_opsz_wght-CT59GZwy.ttf)format("truetype")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/SpaceMono-Regular-Rg4St2Dn.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/SpaceMono-Italic-YylcN9Ay.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/SpaceMono-Bold-mWgeinG7.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/SpaceMono-BoldItalic-vNvENeTh.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/DMMono-Light-CNmLoeDX.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/DMMono-LightItalic-BE49Pu2L.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/DMMono-Regular-4GdczIuU.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/DMMono-Italic-BtO4nDW5.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/DMMono-Medium-DRMDZjhP.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/DMMono-MediumItalic-vWA_G4sR.woff2)format("woff2")}:root{--primary-50:#f3f9f3;--primary-100:#e7f5e7;--primary-200:#c2e6c2;--primary-300:#9cd79d;--primary-400:#79c57c;--primary-500:#63b567;--primary-600:#48934c;--primary-700:#38703b;--primary-800:#2e4d2f;--primary-900:#222d22;--secondary-50:#faf7f4;--secondary-100:#f8efe4;--secondary-200:#ead9c6;--secondary-300:#dbc4aa;--secondary-400:#cbaf91;--secondary-500:#b89c7c;--secondary-600:#967c5f;--secondary-700:#735e47;--secondary-800:#514232;--secondary-900:#2f2821;--accent-50:#faf5ff;--accent-100:#f6edff;--accent-200:#e9d8fb;--accent-300:#dcc4f3;--accent-400:#cdb1e8;--accent-500:#bda0d8;--accent-600:#997db1;--accent-700:#745e88;--accent-800:#51425f;--accent-900:#2f2836;--neutral-900:#111;--neutral-800:#282828;--neutral-700:#424242;--neutral-600:#5d5d5d;--neutral-500:#7a7a7a;--neutral-400:#989898;--neutral-300:#adadad;--neutral-200:#d9d9d9;--neutral-100:#efefef;--neutral-50:#f7f7f7;--white:#fff;--brand-green:#5cb66a;--brand-brass:#b89c7c;--brand-purple:#9e82b8;--brand-grey:#989898;--green-05:#f3f9f3;--green-50:#63b567;--green-10:#e7f5e7;--green-60:#48934c;--green-20:#c2e6c2;--green-70:#38703b;--green-30:#9cd79d;--green-80:#2e4d2f;--green-40:#79c57c;--green-90:#222d22;--green-95:#0e120e;--brass-05:#faf7f4;--brass-50:#b89c7c;--brass-10:#f8efe4;--brass-60:#967c5f;--brass-20:#ead9c6;--brass-70:#735e47;--brass-30:#dbc4aa;--brass-80:#514232;--brass-40:#cbaf91;--brass-90:#2f2821;--brass-95:#12110f;--purple-05:#faf5ff;--purple-50:#bda0d8;--purple-10:#f6edff;--purple-60:#997db1;--purple-20:#e9d8fb;--purple-70:#745e88;--purple-30:#dcc4f3;--purple-80:#51425f;--purple-40:#cdb1e8;--purple-90:#2f2836;--purple-95:#121014;--grey-05:#f7f7f7;--grey-50:#989898;--grey-10:#efefef;--grey-60:#7a7a7a;--grey-20:#d9d9d9;--grey-70:#5d5d5d;--grey-30:#c3c3c3;--grey-80:#424242;--grey-40:#adadad;--grey-90:#282828;--grey-95:#111;--success-bg:#e7f5e7;--success-border:#9cd79d;--success-text:#38703b;--success-icon:#38703b;--warning-bg:#f8efe4;--warning-border:#dbc4aa;--warning-text:#735e47;--warning-icon:#735e47;--danger-bg:#ffebee;--danger-100:#ffcdd2;--danger-200:#ef9a9a;--danger-300:#e57373;--danger-600:#c62828;--danger-border:#ffcdd2;--danger-text:#c62828;--danger-icon:#c62828;--info-bg:#f6edff;--info-border:#dcc4f3;--info-text:#745e88;--info-icon:#745e88;--status-neutral-bg:#efefef;--status-neutral-border:#c3c3c3;--status-neutral-text:#5d5d5d;--status-neutral-icon:#5d5d5d;--color-text-primary:var(--neutral-900);--color-text-secondary:var(--neutral-600);--color-text-tertiary:var(--neutral-500);--color-text-disabled:var(--neutral-400);--color-text-inverse:var(--white);--color-text-link:var(--primary-600);--color-text-code:var(--neutral-900);--color-bg-page:var(--neutral-50);--color-bg-card:var(--white);--color-bg-secondary:var(--neutral-50);--color-bg-tertiary:var(--neutral-100);--color-bg-overlay:#11111180;--color-bg-tooltip:var(--neutral-900);--color-border-default:var(--neutral-200);--color-border-input:var(--neutral-300);--color-border-strong:var(--neutral-400);--color-border-tertiary:var(--neutral-200);--color-border-focus:var(--primary-600);--color-border-error:var(--danger-600);--color-border-active:var(--primary-600);--color-action-primary:var(--primary-600);--color-action-primary-hover:var(--primary-700);--color-action-primary-bg:var(--primary-100);--color-action-primary-border:var(--primary-300);--color-action-secondary:var(--secondary-600);--color-action-secondary-bg:var(--secondary-100);--color-action-accent:var(--accent-600);--color-action-accent-bg:var(--accent-100);--font-heading:"Space Grotesk", system-ui, sans-serif;--font-display:"Space Grotesk", system-ui, sans-serif;--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:"Space Mono", monospace;--font-mono-secondary:"DM Mono", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:15px;--font-size-xl:16px;--font-size-2xl:28px;--font-size-3xl:36px;--font-size-4xl:48px;--font-size-display:64px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.25;--line-height-normal:1.4;--line-height-relaxed:1.6;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.06em;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:8px;--border-radius-pill:9px;--border-radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 12px #0000001a;--shadow-xl:0 8px 24px #0000001f;--focus-ring:2px solid var(--primary-600);--focus-ring-offset:2px;--transition-fast:.15s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out;--transition-enter:.2s ease-out;--transition-exit:.18s ease-in;--z-base:0;--z-raised:10;--z-dropdown:100;--z-nav-flyout:200;--z-right-panel:300;--z-nav-panel:400;--z-overlay:500;--z-message:600;--z-modal:700;--z-tooltip:800;--header-height:56px;--nav-expanded-width:240px;--nav-collapsed-width:56px;--nav-flyout-width:200px;--content-max-width:960px;--right-panel-narrow:280px;--right-panel-standard:360px;--right-panel-wide:480px;--nav-item-height:36px;--nav-item-indent-l2:24px;--nav-item-indent-l3:44px;--nav-icon-size:16px;--nav-badge-height:18px;--nav-badge-min-width:18px;--nav-badge-font-size:var(--font-size-xs);--nav-controls-height:32px;--input-height:36px;--input-height-compact:32px;--input-border-radius:var(--border-radius-sm);--input-border:1px solid var(--color-border-input);--input-border-focus:var(--focus-ring);--input-border-error:1px solid var(--color-border-error);--button-height:32px;--button-padding-x:12px;--button-padding-x-icon:8px;--button-icon-size:16px;--button-icon-gap:6px;--button-border-radius:var(--border-radius-sm);--table-row-height:40px;--table-row-height-compact:32px;--table-header-font-size:var(--font-size-xs);--table-header-font-weight:var(--font-weight-medium);--table-col-min-width:60px;--message-card-width:480px;--message-border-left:4px;--message-dismiss-size:4s;--favorite-card-size:96px;--favorite-icon-size:28px;--favorite-icon-top:24px;--favorite-grid-gap:12px;--favorite-grid-cols:4;--tooltip-font-size:var(--font-size-sm);--tooltip-border-radius:var(--border-radius-sm);--tooltip-offset:6px;--tooltip-delay-nav:.3s;--tooltip-delay-action:.4s;--breadcrumb-height:28px;--action-bar-height:48px;--tab-bar-height:40px;--dirty-dot-size:6px;--dirty-dot-color:var(--warning-text);--badge-dot-size:6px;--pagination-page-size-options:25, 50, 100;--nav-trigger-width:16px}.high-visibility{--neutral-900:#000;--neutral-600:#3d3d3d;--neutral-200:#c8c8c8;--neutral-50:#f5f5f5;--primary-600:#2e4d2f;--primary-100:#c2e6c2;--danger-600:#a31515;--warning-text:#514232;--success-text:#2e4d2f;--info-text:#51425f;--font-size-md:15px;--font-size-base:16px;--font-size-sm:14px}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font-family:inherit;font-size:inherit}button{cursor:pointer}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*{scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.type-display,.h-display{font-family:var(--font-heading);font-size:var(--font-size-display);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1,.h1{font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin:0}h2,.h2{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-primary);margin:0}h3,.h3{font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-primary);margin:0}h4,.h4{font-family:var(--font-sans);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary);margin:0}p,.body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}.body-sm{font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-tertiary)}.label{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.eyebrow{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-tertiary)}code,.code,.mono{font-family:var(--font-mono);color:var(--color-text-primary);font-size:.92em}.cw-root{background:var(--chat-bg,var(--color-bg-card,#fff));flex-direction:column;width:100%;height:100%;display:flex}.cw-messages-wrap{flex:1;min-height:0;position:relative}.cw-messages{background:var(--chat-bg,var(--color-bg-card,#fff));padding:1rem .75rem;position:absolute;inset:0;overflow:hidden auto}.cw-messages__inner{flex-direction:column;gap:1.5rem;max-width:48rem;margin:0 auto;display:flex}.cw-empty-hint{color:var(--chat-text,var(--color-text-primary,#1a1a1a));padding:.5rem 0;font-size:.875rem}.cw-msg{flex-direction:column;display:flex}.cw-msg--user{align-items:flex-end;gap:.125rem}.cw-msg--ai{align-items:flex-start;gap:.375rem}.cw-msg__label{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));margin:0;padding:0 .25rem;font-size:.625rem;font-weight:500}.cw-msg__user-bubble{background:var(--chat-user-bg,var(--color-action-primary,#48934c));border-radius:1rem 1rem .25rem;max-width:75%;padding:.5rem .75rem;font-size:.875rem}.cw-msg__user-text{white-space:pre-wrap;word-wrap:break-word;color:var(--chat-user-text,#fff);font-size:inherit;display:block}.cw-msg__ai-content{color:var(--chat-text,var(--color-text-primary,#1a1a1a));width:100%;font-size:.875rem}.cw-msg__error{color:var(--chat-danger,var(--danger-text,#dc2626));margin:0;font-size:.875rem}.cw-msg__time{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));margin:0;padding:0 .25rem;font-size:.625rem}.cw-feedback{align-items:center;gap:.25rem;padding-top:.125rem;padding-left:.125rem;display:flex}.cw-thumb{border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));cursor:pointer;background:0 0;border-radius:.375rem;align-items:center;padding:.25rem;transition:background .15s,color .15s;display:flex}.cw-thumb:hover{background:var(--chat-input-bg,var(--color-bg-card,#f3f4f6));color:var(--chat-text,var(--color-text-primary,#1a1a1a))}.cw-thumb--active{background:color-mix(in srgb, var(--chat-user-bg,var(--color-action-primary,#48934c)) 20%, transparent);border-color:var(--chat-user-bg,var(--color-action-primary,#48934c));color:var(--chat-user-bg,var(--color-action-primary,#48934c))}.cw-thumb:disabled{opacity:.5;cursor:not-allowed}.cw-saved{color:var(--chat-user-bg,var(--color-action-primary,#48934c));font-size:.625rem;font-weight:500}.cw-feedback-form{border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));background:var(--chat-input-bg,var(--color-bg-card,#f9fafb));border-radius:.75rem;flex-direction:column;gap:.5rem;max-width:28rem;margin-top:.25rem;padding:.75rem;display:flex}.cw-feedback-form__label{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));margin:0;font-size:.75rem;font-weight:500}.cw-feedback-form__chips{flex-wrap:wrap;gap:.375rem;display:flex}.cw-chip{border:1px solid var(--chat-border,var(--color-border-default,#d1d5db));color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));cursor:pointer;background:0 0;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;transition:border-color .15s,color .15s,background .15s}.cw-chip:hover{border-color:var(--chat-user-bg,var(--color-action-primary,#48934c));color:var(--chat-text,var(--color-text-primary,#1a1a1a))}.cw-chip--active{background:color-mix(in srgb, var(--chat-user-bg,var(--color-action-primary,#48934c)) 20%, transparent);border-color:var(--chat-user-bg,var(--color-action-primary,#48934c));color:var(--chat-user-bg,var(--color-action-primary,#48934c))}.cw-feedback-form__text{resize:none;border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));background:var(--chat-bg,var(--color-bg-card,#fff));color:var(--chat-text,var(--color-text-primary,#1a1a1a));box-sizing:border-box;border-radius:.5rem;width:100%;padding:.5rem;font-family:inherit;font-size:.75rem}.cw-feedback-form__actions{justify-content:flex-end;gap:.5rem;display:flex}.cw-btn{cursor:pointer;border:none;border-radius:.375rem;padding:.25rem .75rem;font-family:inherit;font-size:.75rem;transition:opacity .15s}.cw-btn:disabled{opacity:.5;cursor:not-allowed}.cw-btn--primary{background:var(--chat-user-bg,var(--color-action-primary,#48934c));color:var(--chat-user-text,var(--color-text-inverse,#fff))}.cw-btn--primary:hover:not(:disabled){opacity:.9}.cw-btn--ghost{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));background:0 0}.cw-btn--ghost:hover:not(:disabled){color:var(--chat-text,var(--color-text-primary,#1a1a1a))}.cw-icon{width:.875rem;height:.875rem}.cw-thinking-wrap{flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.cw-thinking{border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));background:var(--chat-input-bg,var(--color-bg-card,#f9fafb));border-radius:.75rem .75rem .75rem 0;width:100%;max-width:32rem;animation:.2s cw-fade-in;overflow:hidden;box-shadow:0 1px 3px #00000014}.cw-thinking__inner{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.cw-thinking__header{flex-direction:row;align-items:center;gap:.625rem;display:flex}.cw-thinking__text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.cw-thinking__label{color:var(--chat-text,var(--color-text-primary,#1a1a1a));margin:0;font-size:.875rem;font-weight:500}.cw-thinking__detail{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));white-space:nowrap;text-overflow:ellipsis;max-width:min(100%,20rem);margin:0;font-size:.875rem;overflow:hidden}.cw-thinking__logo{flex-shrink:0;width:2rem;height:2rem;display:inline-block}.cw-thinking__spinner{border:2px solid var(--chat-border,var(--color-border-default,#e5e7eb));border-top-color:var(--chat-user-bg,var(--color-action-primary,#48934c));border-radius:9999px;flex-shrink:0;width:1.5rem;height:1.5rem;animation:.8s linear infinite cw-spin}.cw-thinking__progress{border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));background:color-mix(in srgb, var(--chat-border,#e5e7eb) 30%, transparent);color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));border-radius:.5rem;flex-direction:column;gap:.25rem;max-height:8rem;padding:.5rem .75rem;font-size:.75rem;display:flex;overflow-y:auto}.cw-thinking__progress-line{line-height:1.4}.cw-thinking__progress-time{opacity:.7}.cw-long-wait{color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));background:color-mix(in srgb, var(--chat-border,#e5e7eb) 30%, transparent);border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));border-radius:.5rem;margin:0;padding:.5rem .75rem;font-size:.75rem}.cw-scroll-btn{z-index:20;background:var(--chat-bg,var(--color-bg-card,#fff));border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));width:2.25rem;height:2.25rem;color:var(--chat-text-muted,var(--color-text-secondary,#6b7280));cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.cw-scroll-btn:hover{color:var(--chat-user-bg,var(--color-action-primary,#48934c));background:var(--chat-input-bg,var(--color-bg-card,#f9fafb))}.cw-input-area{border-top:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));background:var(--chat-input-bg,var(--color-bg-card,#f9fafb));flex-shrink:0;padding:.5rem .75rem}.cw-input-row{align-items:flex-end;gap:.5rem;max-width:48rem;margin:0 auto;display:flex}.cw-input{background:var(--chat-bg,var(--color-bg-card,#fff));border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));color:var(--chat-text,var(--color-text-primary,#1a1a1a));resize:none;box-sizing:border-box;border-radius:.5rem;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.cw-input::placeholder{color:var(--chat-text-muted,var(--color-text-secondary,#9ca3af))}.cw-input:focus{border-color:var(--chat-user-bg,var(--color-action-primary,#48934c));box-shadow:0 0 0 2px color-mix(in srgb, var(--chat-user-bg,#48934c) 25%, transparent)}.cw-input:disabled{opacity:.5}.cw-send-btn{background:var(--chat-user-bg,var(--color-action-primary,#48934c));width:2.25rem;height:2.25rem;color:var(--chat-user-text,var(--color-text-inverse,#fff));cursor:pointer;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;box-shadow:0 2px 6px #00000026}.cw-send-btn:hover:not(:disabled){opacity:.9}.cw-send-btn:disabled{opacity:.5;cursor:not-allowed}.cw-cancel-btn{background:var(--chat-input-bg,var(--color-bg-card,#f9fafb));width:2.25rem;height:2.25rem;color:var(--chat-danger,var(--danger-text,#dc2626));border:1px solid var(--chat-border,var(--color-border-default,#e5e7eb));cursor:pointer;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex}.cw-cancel-btn:hover{opacity:.8}.cw-loading{justify-content:center;align-items:center;gap:.375rem;padding:2rem;display:flex}.cw-loading__dot{background:var(--chat-text-muted,var(--color-text-secondary,#9ca3af));border-radius:9999px;width:.375rem;height:.375rem;animation:1s infinite cw-bounce;display:inline-block}.cw-stream-error{color:var(--chat-danger,var(--danger-text,#dc2626));max-width:48rem;margin:0 auto;padding:0 .5rem;font-size:.875rem}@keyframes cw-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes cw-spin{to{transform:rotate(360deg)}}@keyframes cw-bounce{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}@keyframes cwSpin{to{transform:rotate(360deg)}}@keyframes cwPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes cwBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cwPing{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes cwWobble{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes cwFlip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}@keyframes cwHue{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@keyframes cwBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes cwShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes cwGlow{0%,to{filter:brightness()}50%{filter:brightness(1.4)}}.cwAnim-spin{animation:2.2s linear infinite cwSpin}.cwAnim-pulse{animation:2.2s ease-in-out infinite cwPulse}.cwAnim-bounce{animation:2.2s ease-in-out infinite cwBounce}.cwAnim-ping{animation:2.2s ease-out infinite cwPing}.cwAnim-wobble{animation:2.2s ease-in-out infinite cwWobble}.cwAnim-flip{animation:2.2s ease-in-out infinite cwFlip}.cwAnim-hue{animation:2.2s linear infinite cwHue}.cwAnim-breathe{animation:2.2s ease-in-out infinite cwBreathe}.cwAnim-shake{animation:2.2s ease-in-out infinite cwShake}.cwAnim-glow{animation:2.2s ease-in-out infinite cwGlow}.shell__header{height:var(--header-height);align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--white);border-bottom:1px solid var(--color-border-default);z-index:var(--z-raised);flex-shrink:0;display:flex;position:relative}.header__left{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.header__hamburger{border-radius:var(--border-radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.header__hamburger:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.header__hamburger--active{color:var(--primary-600)}.header__hamburger--active:hover{background:var(--primary-100);color:var(--primary-600)}.header__hamburger:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.header__brand{align-items:center;gap:var(--space-2);height:var(--space-5);padding:0 var(--space-1);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.header__brand:hover{background:var(--color-bg-tertiary)}.header__brand:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.header__logo{flex-shrink:0;width:auto;height:20px;display:block}.header__brand-name{font-family:var(--font-heading);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);white-space:nowrap}.header__brand-ex{color:var(--color-text-primary);transition:color var(--transition-fast)}.header__brand-os{color:var(--primary-600);transition:color var(--transition-fast)}.header__brand-name:hover .header__brand-ex{color:var(--primary-600)}.header__brand-name:hover .header__brand-os{color:var(--color-text-primary)}.header__right{align-items:center;gap:var(--space-1);flex-shrink:0;margin-left:auto;display:flex}.header__user-wrap{position:relative}.header__user-btn{align-items:center;gap:var(--space-2);height:var(--input-height);padding:0 var(--space-2);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.header__user-btn:hover{background:var(--color-bg-tertiary)}.header__user-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.header__user-btn--open{background:var(--primary-100)}.header__user-btn--open .header__user-name{color:var(--primary-700)}.header__user-btn--loading{pointer-events:none;background:var(--primary-100)}.header__avatar{width:var(--breadcrumb-height);height:var(--breadcrumb-height);border-radius:var(--border-radius-full);background:var(--primary-600);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__avatar--loading{background:var(--neutral-300)}.header__user-name{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-regular)}.header__user-name--loading{color:var(--neutral-500)}@media (width<=1024px){.header__user-name{display:none}.header__user-btn{justify-content:center;min-width:44px}}.header__panel-wrap{align-items:center;display:flex;position:relative}.header-panel{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--border-radius-md);width:280px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.header-panel__title{padding:var(--space-2) var(--space-3);font-family:var(--font-heading);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.header-panel__divider{background:var(--neutral-200);height:1px;margin:0}.header-panel__body{padding:var(--space-1) 0}.header-panel__empty{padding:var(--space-4) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;display:block}.header-panel__link{align-items:center;gap:var(--space-2);width:100%;height:36px;padding:0 var(--space-3);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;text-decoration:none;display:flex}.header-panel__link svg{color:var(--neutral-600);transition:color var(--transition-fast);flex-shrink:0}.header-panel__link:hover{background:var(--neutral-50)}.header-panel__link:hover svg{color:var(--primary-600)}.header-panel__link:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.header-panel__link--danger:hover,.header-panel__link--danger:hover svg{color:var(--danger-text)}.header-panel__link[aria-busy=true]{pointer-events:none;color:var(--neutral-500);cursor:default}.header-panel__user-info{align-items:flex-start;gap:var(--favorite-grid-gap);padding:var(--space-3);display:flex}.header-panel__user-avatar{width:var(--table-row-height);height:var(--table-row-height);border-radius:var(--border-radius-full);background:var(--primary-600);color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-panel__user-details{flex-direction:column;gap:2px;min-width:0;display:flex}.header-panel__user-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--neutral-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-panel__user-email{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--neutral-600);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--border-radius-md);width:280px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.user-menu__info{align-items:flex-start;gap:var(--favorite-grid-gap);padding:var(--space-3);display:flex}.user-menu__avatar{width:var(--table-row-height);height:var(--table-row-height);border-radius:var(--border-radius-full);background:var(--primary-600);color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-menu__details{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu__full-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--neutral-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__email{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--neutral-600);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__meta{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--neutral-500);margin-top:2px}.user-menu__divider{background:var(--neutral-200);height:1px;margin:0}.user-menu__actions{padding:var(--space-2) 0}.user-menu__sign-out{align-items:center;gap:var(--space-2);width:100%;height:var(--input-height);padding:0 var(--space-3);color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;display:flex}.user-menu__sign-out svg{color:var(--neutral-600);transition:color var(--transition-fast);flex-shrink:0}.user-menu__sign-out:hover{background:var(--neutral-50);color:var(--danger-600)}.user-menu__sign-out:hover svg{color:var(--danger-600)}.user-menu__sign-out:active{background:var(--primary-100)}.user-menu__sign-out:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.user-menu__sign-out[aria-busy=true]{pointer-events:none;color:var(--neutral-500);cursor:default}.user-menu__sign-out[aria-busy=true] svg{color:var(--neutral-400)}.user-menu__spinner{border:2px solid var(--neutral-200);border-top-color:var(--primary-600);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.search-overlay{background:var(--color-bg-overlay);z-index:var(--z-modal);justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}.search-overlay__box{background:var(--white);border-radius:var(--border-radius-md);width:100%;max-width:560px;box-shadow:var(--shadow-xl);overflow:hidden}.search-overlay__input-row{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);height:52px;display:flex}.search-overlay__icon{color:var(--color-text-tertiary);flex-shrink:0}.search-overlay__input{font-size:var(--font-size-base);font-family:var(--font-sans);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1}.search-overlay__input::placeholder{color:var(--color-text-tertiary)}.search-overlay__esc{height:22px;padding:0 var(--space-1);background:var(--color-bg-page);border:1px solid var(--color-border-default);font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;border-radius:3px;flex-shrink:0;align-items:center;font-size:11px;display:inline-flex}.search-overlay__hint{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center}.shell__nav{background:var(--white);border-right:1px solid var(--color-border-default);transition:width var(--transition-slow);z-index:var(--z-nav-panel);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.nav--expanded{width:var(--nav-expanded-width)}.nav--collapsed{width:var(--nav-collapsed-width)}.nav--hidden{border-right:none;width:0}.nav__header{height:var(--nav-controls-height);padding:0 var(--space-2);border-bottom:1px solid var(--color-border-default);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.nav__title{font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden}.nav__pin-btn{border-radius:var(--border-radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav__pin-btn:hover{background:var(--color-bg-tertiary);color:var(--primary-600)}.nav__pin-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.nav__controls{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border-default);flex-shrink:0;display:flex}.nav__ctrl-btn{height:28px;padding:0 var(--space-1);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.nav__ctrl-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.nav__ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.nav__ctrl-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.nav__search-wrap{padding:var(--space-1) 6px var(--space-1) 10px;border-bottom:1px solid var(--color-border-default);flex-shrink:0;align-items:center;gap:2px;display:flex}.nav__search-field{flex:1;align-items:center;min-width:0;display:flex;position:relative}.nav__search-icon{color:var(--neutral-400);pointer-events:none;align-items:center;display:flex;position:absolute;left:8px}.nav__search-input{border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);background:var(--white);width:100%;height:32px;font-size:var(--font-size-md);color:var(--color-text-primary);transition:border-color var(--transition-fast);outline:none;padding:0 28px}.nav__search-input::placeholder{color:var(--color-text-tertiary)}.nav__search-input:focus{border-color:var(--primary-600)}.nav__search-clear{width:16px;height:16px;color:var(--neutral-400);cursor:pointer;border-radius:var(--border-radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:6px}.nav__search-clear:hover{color:var(--color-text-primary)}.nav__search-clear:focus-visible{outline:var(--focus-ring);outline-offset:1px}.nav__search-action-btn{border-radius:var(--border-radius-sm);width:26px;height:26px;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.nav__search-action-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.nav__search-action-btn:disabled{opacity:.35;cursor:not-allowed}.nav__search-action-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.nav__search-icon-btn{border-radius:var(--border-radius-sm);width:32px;height:32px;color:var(--neutral-400);cursor:pointer;margin:var(--space-1) auto;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.nav__search-icon-btn:hover{background:var(--color-bg-tertiary);color:var(--primary-600)}.nav__search-icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.nav__search-empty{padding:var(--space-3) var(--space-2);font-size:var(--font-size-md);color:var(--color-text-tertiary);text-align:center}.nav-highlight{color:var(--primary-600);font-weight:var(--font-weight-medium);background:0 0}.nav__tree-scroll{padding:var(--space-1) 0;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent;flex:1;overflow:hidden auto}.nav__tree-scroll::-webkit-scrollbar{width:4px}.nav__tree-scroll::-webkit-scrollbar-track{background:0 0}.nav__tree-scroll::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:2px}.nav__tree{margin:0;padding:0;list-style:none}.nav-item__wrapper{list-style:none;position:relative}.nav-item{align-items:center;gap:var(--space-2);width:100%;height:var(--nav-item-height);padding:0 var(--space-2) 0 12px;font-size:var(--font-size-md);font-weight:var(--font-weight-regular);color:var(--neutral-700);cursor:pointer;text-align:left;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;display:flex;overflow:hidden}.nav-item:hover{background:var(--neutral-100);color:var(--neutral-900)}.nav-item:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.nav-item--l2{padding-left:var(--nav-item-indent-l2)}.nav-item--l3{padding-left:var(--nav-item-indent-l3)}.nav-item--active{background:var(--primary-100);border-left-color:var(--primary-600);color:var(--primary-700);font-weight:var(--font-weight-medium)}.nav-item--active .nav-item__icon{color:var(--primary-600)}.nav-item--active:hover{background:var(--primary-100);color:var(--primary-700)}.nav-item--ancestor{color:var(--primary-600);font-weight:var(--font-weight-medium)}.nav-item--ancestor .nav-item__icon{color:var(--primary-500)}.nav-item__icon{color:var(--neutral-500);flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.nav-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item__chevron{color:var(--neutral-400);flex-shrink:0;align-items:center;margin-left:auto;display:flex}.nav-item__children{margin:0;padding:0;list-style:none}.nav-badge{min-width:var(--nav-badge-min-width);height:var(--nav-badge-height);border-radius:var(--border-radius-pill);font-size:var(--nav-badge-font-size);font-weight:var(--font-weight-medium);flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.nav-badge--danger{background:var(--danger-bg);color:var(--danger-text)}.nav-badge--warning{background:var(--warning-bg);color:var(--warning-text)}.nav-badge--info{background:var(--info-bg);color:var(--info-text)}.nav-badge-dot{width:var(--badge-dot-size);height:var(--badge-dot-size);border-radius:var(--border-radius-full);position:absolute;top:6px;right:6px}.nav-badge-dot--danger{background:var(--danger-text)}.nav-badge-dot--warning{background:var(--warning-text)}.nav-badge-dot--info{background:var(--info-text)}.nav-item__wrapper:hover .nav-flyout{display:block}.nav-flyout{width:var(--nav-flyout-width);background:var(--white);border:.5px solid var(--color-border-default);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-nav-flyout);display:none;position:absolute;top:0;left:100%;overflow:hidden}.nav-flyout__title{padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-default)}.nav-flyout__list{padding:var(--space-1) 0;margin:0;list-style:none}.nav-flyout__item{align-items:center;gap:var(--space-2);width:100%;height:34px;padding:0 var(--space-3);font-size:var(--font-size-md);color:var(--neutral-700);cursor:pointer;text-align:left;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.nav-flyout__item:hover{background:var(--primary-100);color:var(--color-text-primary)}.nav__trigger{width:var(--nav-trigger-width);border:none;border-right:1px solid var(--color-border-default);background:var(--color-bg-page);color:var(--color-text-tertiary);cursor:pointer;z-index:var(--z-nav-panel);transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.nav__trigger:hover{background:var(--primary-100);color:var(--primary-600)}.nav__trigger:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.bottom-nav{z-index:var(--z-overlay);background:var(--color-bg-card);border-top:1px solid var(--color-border-default);box-shadow:var(--shadow-md);padding:var(--space-1) var(--space-2);justify-content:space-around;align-items:stretch;gap:var(--space-1);flex-direction:row;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=768px){.bottom-nav{display:flex}}.bottom-nav__item{appearance:none;justify-content:center;align-items:center;gap:var(--space-1);min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-xs);background:0 0;border:none;flex-direction:column;flex:1 1 0;display:flex}.bottom-nav__item:hover:not(:disabled){background:var(--neutral-100);color:var(--color-text-primary)}.bottom-nav__item:disabled{opacity:.4;cursor:not-allowed}.bottom-nav__item--active{background:var(--color-action-primary-bg);color:var(--color-action-primary);font-weight:var(--font-weight-medium)}.bottom-nav__item:focus-visible{outline:2px solid var(--primary-600);outline-offset:-2px}.bottom-nav__label{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.bottom-nav__scrim{background:var(--color-bg-overlay);z-index:var(--z-overlay);display:none;position:fixed;inset:0}.bottom-nav__drawer{z-index:var(--z-modal);background:var(--color-bg-card);border-top:1px solid var(--color-border-default);border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-3) var(--space-2) calc(var(--space-7) + var(--space-3));max-height:60vh;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (width<=768px){.bottom-nav__scrim,.bottom-nav__drawer{display:block}}.bottom-nav__drawer-item{appearance:none;width:100%;padding:var(--space-3) var(--space-2);text-align:left;font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;border:none;min-height:44px;display:block}.bottom-nav__drawer-item:hover:not(:disabled){background:var(--neutral-100)}.bottom-nav__drawer-item:disabled{color:var(--color-text-disabled);cursor:not-allowed}.bottom-nav__drawer-item--active{background:var(--color-action-primary-bg);color:var(--color-action-primary);font-weight:var(--font-weight-medium)}.shell__content{background:var(--color-bg-page);scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden auto}.shell__content::-webkit-scrollbar{width:6px}.shell__content::-webkit-scrollbar-track{background:0 0}.shell__content::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:3px}.shell__content:focus{outline:none}.content__title-bar{padding:var(--space-3) var(--space-4) var(--space-2);background:var(--white);flex-shrink:0;align-items:center;display:flex}.content__page-title{font-size:18px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}.content__inner{flex:1;min-height:0}.content__inner--fluid{padding:var(--space-3) var(--space-4)}.content__inner--centered{max-width:var(--content-max-width);width:100%;padding:var(--space-3) var(--space-4);margin:0 auto}.content__inner--full-bleed{padding:0}.shell__right{background:var(--white);border-left:1px solid var(--color-border-default);transition:width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.right-panel__header{height:var(--action-bar-height);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.right-panel__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.right-panel__close{border-radius:var(--border-radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.right-panel__close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.right-panel__close:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.right-panel__body{padding:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent;flex:1;overflow:hidden auto}.right-panel__body::-webkit-scrollbar{width:4px}.right-panel__body::-webkit-scrollbar-track{background:0 0}.right-panel__body::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:2px}.right-panel__empty{font-size:var(--font-size-md);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-5)}.message-control{z-index:var(--z-message);width:min(var(--message-card-width), calc(100vw - 48px));pointer-events:none;flex-direction:column;gap:8px;max-height:calc(100vh - 48px);display:flex;position:fixed;top:24px;right:24px;overflow-y:auto}.message-control__queue-label{pointer-events:auto;text-align:center;font-size:var(--font-size-sm);color:var(--neutral-500);padding:4px 0}.message-card{pointer-events:auto;width:min(var(--message-card-width), calc(100vw - 48px));background:var(--color-bg-card);border:.5px solid var(--color-border-default);border-radius:var(--border-radius-md);animation:msg-enter var(--transition-enter,.2s) ease-out both;border-left-width:4px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.message-card--success{border-left-color:var(--success-text)}.message-card--error{border-left-color:var(--danger-text)}.message-card--warning{border-left-color:var(--warning-text)}.message-card--info{border-left-color:var(--info-text)}.message-card--dismissing{animation:msg-exit var(--transition-exit,.18s) ease-in both;pointer-events:none}.message-card__body{align-items:flex-start;gap:8px;padding:12px;display:flex}.message-card__icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.message-card--success .message-card__icon{color:var(--success-icon)}.message-card--error .message-card__icon{color:var(--danger-icon)}.message-card--warning .message-card__icon{color:var(--warning-icon)}.message-card--info .message-card__icon{color:var(--info-icon)}.message-card__main{flex:1;min-width:0}.message-card__content{cursor:pointer;border-radius:var(--border-radius-sm)}.message-card__content:focus-visible{outline:var(--focus-ring);outline-offset:2px}.message-card__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal);overflow-wrap:anywhere;-webkit-line-clamp:2;max-height:calc(2 * var(--line-height-normal) * 1em);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.message-card__detail{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);overflow-wrap:anywhere;-webkit-line-clamp:3;max-height:calc(3 * var(--line-height-relaxed) * 1em);-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.message-card__errorinfo{font-size:var(--font-size-xs,11px);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--neutral-100);line-height:var(--line-height-normal);overflow-wrap:anywhere;-webkit-line-clamp:2;max-height:calc(2 * var(--line-height-normal) * 1em + 4px);border-radius:3px;-webkit-box-orient:vertical;margin-top:4px;padding:2px 6px;display:-webkit-box;overflow:hidden}.message-card--expanded .message-card__title,.message-card--expanded .message-card__detail,.message-card--expanded .message-card__errorinfo{-webkit-line-clamp:unset;max-height:none;display:block}.message-card__actions{gap:8px;margin-top:8px;display:flex}.message-card__action-btn{cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-underline-offset:2px;background:0 0;border:none;padding:0;line-height:1;text-decoration:underline}.message-card__action-btn:hover{color:var(--color-text-link)}.message-card__action-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:2px}.message-card__dismiss{border-radius:var(--border-radius-sm);cursor:pointer;width:20px;height:20px;color:var(--neutral-400);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:0;padding:0;display:flex}.message-card__dismiss:hover{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.message-card__dismiss:focus-visible{outline:var(--focus-ring);outline-offset:2px}@keyframes msg-enter{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes msg-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}.sl-panel{background:var(--white);border-left:1px solid var(--color-border-default);width:0;transition:width var(--transition-base);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sl-panel--open{width:360px}.sl-panel__header{height:var(--action-bar-height);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sl-panel__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-family:var(--font-heading);letter-spacing:.01em}.sl-panel__header-actions{align-items:center;gap:var(--space-1);display:flex}.sl-panel__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sl-sessions{border-bottom:1px solid var(--color-border-default);scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent;flex-shrink:0;max-height:140px;overflow-y:auto}.sl-sessions::-webkit-scrollbar{width:4px}.sl-sessions::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:2px}.sl-session{padding:var(--space-2) var(--space-3);cursor:pointer;align-items:center;gap:var(--space-2);min-height:36px;transition:background var(--transition-fast);display:flex}.sl-session:hover{background:var(--color-bg-secondary)}.sl-session--active{background:var(--color-action-primary-bg);border-left:2px solid var(--color-action-primary)}.sl-session__title{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sl-session__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:none}.sl-session:hover .sl-session__actions,.sl-session--active .sl-session__actions{display:flex}.sl-session__rename{font-size:var(--font-size-sm);border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);padding:2px var(--space-2);background:var(--white);color:var(--color-text-primary);outline:none;flex:1}.sl-session__rename:focus{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.sl-empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center;flex-direction:column;flex:1;display:flex}.sl-empty__title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.sl-empty__hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.sl-chat-area{flex-direction:column;flex:1;min-height:0;display:flex}.sl-error{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--danger-text);text-align:center}.sl-btn{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-2) var(--space-3);transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;border:none;display:inline-flex}.sl-btn--primary{background:var(--color-action-primary);color:var(--white)}.sl-btn--primary:hover:not(:disabled){background:var(--color-action-primary-hover)}.sl-btn--primary:disabled{opacity:.5;cursor:not-allowed}.sl-btn--ghost{color:var(--color-text-secondary);border:1px solid var(--color-border-default);background:0 0}.sl-btn--ghost:hover:not(:disabled){background:var(--color-bg-tertiary)}.sl-btn--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.sl-noshrink{flex-shrink:0}*,:before,:after{box-sizing:border-box}.shell{background:var(--color-bg-page);width:100%;height:100vh;font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;overflow:hidden}.shell__body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.shell--right-open.shell--right-280 .shell__right{width:280px}.shell--right-open.shell--right-360 .shell__right{width:360px}.shell--right-open.shell--right-480 .shell__right{width:480px}@media (width<=768px){.shell .nav-panel{display:none}.shell__body{padding-bottom:64px}}.home{padding:var(--space-5) var(--space-4)}.home__greeting{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0 0 var(--space-4)}.home__section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.home__section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0}.home__grid{grid-template-columns:repeat(4, var(--favorite-card-size));gap:var(--favorite-grid-gap);display:grid}@media (width<=1279px){.home__grid{grid-template-columns:repeat(3, var(--favorite-card-size))}}.fav-card{width:var(--favorite-card-size);height:var(--favorite-card-size);justify-content:center;align-items:center;gap:var(--space-2);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-bg-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);padding:var(--space-2);flex-direction:column;display:flex}.fav-card:hover{background:var(--primary-100);border-color:var(--primary-300)}.fav-card:active{transform:scale(.96)}.fav-card:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.fav-card__icon{color:var(--primary-600)}.fav-card__label{font-size:var(--font-size-sm);color:var(--neutral-700);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.login-page{background:linear-gradient(135deg, var(--primary-100) 0%, #dbeafe 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--white);border-radius:12px;width:100%;max-width:400px;padding:2.5rem 2rem;box-shadow:0 4px 24px #0000001a}.login-card__header{text-align:center;margin-bottom:2rem}.login-card__icon{color:var(--primary-600);margin:0 auto 1rem;display:block}.login-card__title{color:var(--neutral-900);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.login-card__subtitle{color:var(--neutral-600);margin:0;font-size:.875rem}.login-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:6px;align-items:flex-start;gap:.625rem;margin-bottom:1.5rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.login-error__icon{flex-shrink:0;margin-top:1px}.login-actions{flex-direction:column;gap:.75rem;display:flex}.login-btn{border:1px solid var(--neutral-300);background:var(--white);width:100%;color:var(--neutral-700);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:flex}.login-btn:hover{background:var(--neutral-50);border-color:var(--neutral-400)}.login-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.login-footer{text-align:center;color:var(--neutral-500);margin-top:1.25rem;font-size:.75rem}.auth-loading{background:var(--neutral-50);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading__spinner{border:3px solid var(--primary-100);border-top-color:var(--primary-600);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.dmp{background:var(--white);flex-direction:column;height:100%;font-size:13px;display:flex}.dmp__loading{color:var(--neutral-500);align-items:center;gap:8px;padding:24px;display:flex}@keyframes dmp-spin{to{transform:rotate(360deg)}}.dmp__spinner{animation:.8s linear infinite dmp-spin}.dmp__tabs{border-bottom:1px solid var(--neutral-200);flex-shrink:0;gap:0;padding:0 12px;display:flex}.dmp__tab{color:var(--neutral-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:10px 14px;font-size:13px;display:inline-flex;position:relative}.dmp__tab:hover{color:var(--neutral-700)}.dmp__tab--active{color:var(--primary-600);border-bottom-color:var(--primary-600);font-weight:500}.dmp__tab-dot{background:var(--warning-icon);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dmp__status{color:var(--neutral-400);background:var(--neutral-50);border-bottom:1px solid var(--neutral-100);flex-shrink:0;padding:4px 12px;font-size:11px}.dmp__body{flex:1;min-height:0;overflow-y:auto}.dmp__no-draft{color:var(--neutral-400);padding:24px 16px;font-size:13px;line-height:1.5}.dmp__table-editor{padding:12px}.dmp__meta-row{border-bottom:1px solid var(--neutral-100);flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.dmp__field-group{flex-direction:column;gap:3px;display:flex}.dmp__label{color:var(--neutral-500);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:500}.dmp__select,.dmp__input{border:1px solid var(--neutral-300);border-radius:var(--border-radius-sm);height:28px;color:var(--neutral-800);background:var(--white);outline:none;padding:0 8px;font-size:12px}.dmp__select:focus,.dmp__input:focus{border-color:var(--primary-500)}.dmp__input--sm{width:72px}.dmp__col-header{border-bottom:1px solid var(--neutral-100);grid-template-columns:42px 1fr 1.4fr 36px 36px 52px 68px;align-items:center;gap:6px;margin-bottom:4px;padding:0 4px 4px;display:grid}.dmp__col-hd{color:var(--neutral-400);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:10px;font-weight:600}.dmp__col-hd--field,.dmp__col-hd--label{text-align:left}.dmp__col-row{border-radius:var(--border-radius-sm);grid-template-columns:42px 1fr 1.4fr 36px 36px 52px 68px;align-items:center;gap:6px;padding:3px 4px;display:grid}.dmp__col-row:hover{background:var(--neutral-50)}.dmp__col-order{flex-direction:column;align-items:center;gap:1px;display:flex}.dmp__order-btn{cursor:pointer;width:18px;height:16px;color:var(--neutral-400);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;display:flex}.dmp__order-btn:hover:not(:disabled){background:var(--neutral-200);color:var(--neutral-700)}.dmp__order-btn:disabled{opacity:.25;cursor:default}.dmp__col-field{color:var(--neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dmp__col-label{flex:1;width:100%}.dmp__toggle{width:14px;height:14px;accent-color:var(--primary-600);cursor:pointer;margin:0 auto;display:block}.dmp__json-editor{flex-direction:column;height:100%;display:flex}.dmp__json-textarea{width:100%;height:100%;font-family:var(--font-mono);resize:none;color:var(--neutral-800);background:var(--white);border:none;outline:none;flex:1;padding:12px;font-size:12px;line-height:1.6}.dmp__json-textarea--error{background:var(--danger-bg)}.dmp__json-error{background:var(--danger-bg);color:var(--danger-600);border-top:1px solid var(--danger-border);flex-shrink:0;padding:6px 12px;font-size:11px}.dmp__gen-prompt{border-top:1px solid var(--neutral-200);background:var(--neutral-50);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.dmp__gen-input{border:1px solid var(--neutral-300);border-radius:var(--border-radius-sm);height:30px;color:var(--neutral-800);background:var(--white);outline:none;padding:0 10px;font-size:12px}.dmp__gen-input:focus{border-color:var(--primary-500)}.dmp__gen-actions{justify-content:flex-end;gap:8px;display:flex}.dmp__footer{border-top:1px solid var(--neutral-200);background:var(--white);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.dmp__footer-right{gap:8px;margin-left:auto;display:flex}.dmp__btn{border-radius:var(--border-radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;height:30px;padding:0 12px;font-size:13px;display:inline-flex}.dmp__btn:disabled{opacity:.4;cursor:not-allowed}.dmp__btn--primary{background:var(--primary-600);color:var(--color-text-inverse);border-color:var(--primary-600)}.dmp__btn--primary:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700)}.dmp__btn--secondary{background:var(--white);color:var(--neutral-700);border-color:var(--neutral-300)}.dmp__btn--secondary:hover:not(:disabled){background:var(--neutral-50)}.dmp__btn--ghost{color:var(--neutral-600);background:0 0;border-color:#0000}.dmp__btn--ghost:hover:not(:disabled){background:var(--neutral-100)}.cell-tooltip-container{width:100%;display:inline-block}.cell-tooltip{z-index:var(--z-tooltip);padding:var(--space-2) var(--space-3);background:var(--color-bg-tooltip);color:var(--color-text-inverse);font-size:var(--tooltip-font-size);line-height:var(--line-height-relaxed);border-radius:var(--tooltip-border-radius);box-shadow:var(--shadow-lg);pointer-events:none;overflow-wrap:break-word;animation:tooltip-fade-in var(--transition-fast) ease-out;position:fixed}.cell-tooltip--bottom{transform-origin:top}.cell-tooltip--top{transform-origin:bottom}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.table-cell-panel{padding:var(--space-3);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--neutral-800)}.table-cell-panel__lookup-value{font-weight:var(--font-weight-medium);margin-bottom:var(--space-2)}.table-cell-panel__lookup-record{color:var(--neutral-500);font-size:var(--font-size-sm)}.tbl__cell-link{color:var(--color-action-primary);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.tbl__cell-link:hover{color:var(--color-action-primary-hover)}.tbl__cell-link:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:2px;border-radius:2px}.tbl__cell-stack{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.tbl__td--accent{--tbl-accent:var(--color-border-default);box-shadow:inset 3px 0 0 var(--tbl-accent)}.tbl__td--accent-danger{--tbl-accent:var(--danger-text)}.tbl__td--accent-warning{--tbl-accent:var(--warning-text)}.tbl__td--accent-success{--tbl-accent:var(--success-text)}.tbl__td--accent-info{--tbl-accent:var(--info-text)}.tbl__td--accent-neutral{--tbl-accent:var(--status-neutral-text)}.tbl__td--accent.tbl__td--frozen{box-shadow:inset 3px 0 0 var(--tbl-accent), 1px 0 0 var(--neutral-200)}.col-vis-popover{background:var(--white);border:.5px solid var(--neutral-200);border-radius:var(--border-radius-md);width:220px;z-index:var(--z-dropdown,100);padding:4px 0;font-size:13px;position:fixed;box-shadow:0 4px 16px #0000001f}.col-vis-popover__header{color:var(--neutral-500);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 6px;font-size:11px;font-weight:600}.col-vis-popover__row{align-items:center;gap:8px;height:34px;padding:0 12px;display:flex}.col-vis-popover__row--frozen{color:var(--neutral-500)}.col-vis-popover__row--toggle{cursor:pointer}.col-vis-popover__row--toggle:hover{background:var(--neutral-50)}.col-vis-popover__row--disabled{opacity:.5;cursor:not-allowed}.col-vis-popover__lock{color:var(--neutral-400);flex-shrink:0}.col-vis-popover__label{text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800);flex:1;overflow:hidden}.col-vis-popover__badge{color:var(--neutral-400);white-space:nowrap;font-size:11px}.col-vis-popover__toggle{width:16px;height:16px;accent-color:var(--primary-600);cursor:pointer;flex-shrink:0}.col-vis-popover__divider{background:var(--neutral-200);height:.5px;margin:4px 0}.col-vis-popover__reset{text-align:left;width:100%;color:var(--primary-600);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px;display:block}.col-vis-popover__reset:hover{background:var(--neutral-50)}.col-vis-popover__list{overscroll-behavior:contain;max-height:50vh;overflow-y:auto}.profile-sel{background:var(--white);border:.5px solid var(--neutral-200);border-radius:var(--border-radius-md);width:260px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown,100);padding:4px 0;font-size:13px;position:fixed}.profile-sel__header{color:var(--neutral-500);text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 6px;font-size:11px;font-weight:600}.profile-sel__empty{color:var(--neutral-400);padding:8px 12px;font-size:12px}.profile-sel__row{justify-content:space-between;align-items:center;gap:6px;height:36px;padding:0 8px 0 12px;display:flex}.profile-sel__row:hover{background:var(--neutral-50)}.profile-sel__row--active{background:var(--primary-50)}.profile-sel__row-main{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.profile-sel__active-icon{color:var(--primary-600);flex-shrink:0}.profile-sel__name{text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800);flex:1;overflow:hidden}.profile-sel__badge{flex-shrink:0;align-items:center;display:flex}.profile-sel__badge--public{color:var(--neutral-400)}.profile-sel__badge--default{color:var(--warning-icon)}.profile-sel__row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.profile-sel__btn{cursor:pointer;border-radius:var(--border-radius-sm);white-space:nowrap;border:none;justify-content:center;align-items:center;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.profile-sel__btn:disabled{opacity:.4;cursor:not-allowed}.profile-sel__btn--apply{background:var(--primary-600);color:var(--white)}.profile-sel__btn--apply:hover:not(:disabled){background:var(--primary-700)}.profile-sel__btn--icon{color:var(--neutral-500);background:0 0;width:26px;padding:0}.profile-sel__btn--icon:hover:not(:disabled){background:var(--neutral-100);color:var(--neutral-700)}.profile-sel__btn--danger:hover:not(:disabled){color:var(--danger-600);background:var(--danger-bg)}.profile-sel__divider{background:var(--neutral-200);height:.5px;margin:4px 0}.profile-sel__create{align-items:center;gap:6px;padding:6px 8px;display:flex}.profile-sel__create-input{border:1px solid var(--neutral-300);border-radius:var(--border-radius-sm);min-width:0;height:28px;color:var(--neutral-800);outline:none;flex:1;padding:0 8px;font-size:12px}.profile-sel__create-input:focus{border-color:var(--primary-500)}.profile-sel__create-public{color:var(--neutral-600);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.profile-sel__btn--create{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200);flex-shrink:0}.profile-sel__btn--create:hover:not(:disabled){background:var(--neutral-200)}.profile-sel__clear-default{text-align:left;width:100%;color:var(--neutral-500);cursor:pointer;background:0 0;border:none;padding:6px 12px 8px;font-size:12px;display:block}.profile-sel__clear-default:hover{color:var(--neutral-700)}.toolbar{border-bottom:.5px solid var(--neutral-200);background:var(--white);flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.toolbar__left{flex:1;align-items:center;display:flex;overflow:hidden}.toolbar__right{flex-shrink:0;align-items:center;gap:4px;display:flex}.toolbar__count{color:var(--neutral-600);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.toolbar__entity-label{color:var(--neutral-800);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.toolbar__deselect{color:var(--primary-600);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.toolbar__deselect:hover{color:var(--primary-700)}.toolbar__divider{background:var(--neutral-200);width:.5px;height:20px;margin:0 4px}.toolbar-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:500;transition:background 80ms,opacity 80ms;display:inline-flex}.toolbar-btn:focus-visible{outline:var(--focus-ring,2px solid #1e5fa8);outline-offset:2px}.toolbar-btn--icon-only{padding:0 8px}.toolbar-btn--primary{background:var(--primary-600);color:var(--white);border:none}.toolbar-btn--primary:hover:not(.toolbar-btn--disabled){background:var(--primary-700)}.toolbar-btn--secondary{border:.5px solid var(--neutral-300);color:var(--neutral-800);background:0 0}.toolbar-btn--secondary:hover:not(.toolbar-btn--disabled){background:var(--neutral-50)}.toolbar-btn--destructive{border:.5px solid var(--danger-300);color:var(--danger-600);background:0 0}.toolbar-btn--destructive:hover:not(.toolbar-btn--disabled){background:var(--danger-bg)}.toolbar-btn--ghost{color:var(--neutral-500);background:0 0;border:none}.toolbar-btn--ghost:hover:not(.toolbar-btn--disabled){background:var(--neutral-100);color:var(--neutral-700)}.toolbar-btn--active{background:var(--primary-100);color:var(--primary-600)}.toolbar-btn--disabled{opacity:.4;cursor:not-allowed}@keyframes toolbar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-btn__spinner{animation:.7s linear infinite toolbar-spin}.toolbar__overflow-wrap{position:relative}.toolbar__overflow-menu{background:var(--white);border:.5px solid var(--neutral-200);border-radius:var(--border-radius-md);z-index:var(--z-dropdown,100);min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0000001a}.toolbar__overflow-item{text-align:left;width:100%;color:var(--neutral-800);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:13px;display:block}.toolbar__overflow-item:hover{background:var(--neutral-50)}.filter-control{flex-direction:column;flex-shrink:0;gap:3px;display:flex}.filter-control__header{align-items:center;gap:4px;min-height:13px;display:flex}.filter-control__label{color:var(--neutral-500);white-space:nowrap;font-size:11px;font-weight:500;line-height:1}.filter-control__clear-btn{width:14px;height:14px;color:var(--neutral-400);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color 80ms,background 80ms;display:flex}.filter-control__clear-btn:hover{color:var(--neutral-700);background:var(--neutral-100)}.filter-control__input{border:.5px solid var(--neutral-300);height:28px;color:var(--neutral-800);background:var(--white);border-radius:4px;min-width:96px;max-width:160px;padding:0 8px;font-size:12px;transition:border-color 80ms}.filter-control__input:hover{border-color:var(--neutral-400)}.filter-control__input:focus{outline:2px solid var(--primary-600);outline-offset:1px;border-color:#0000}.filter-control__input--active{border-color:var(--primary-400);background:var(--primary-50)}.filter-control__input--mono{font-family:var(--font-mono,monospace)}.filter-control__input--numeric{text-align:right;appearance:textfield;max-width:90px}.filter-control__input--numeric::-webkit-outer-spin-button{appearance:none}.filter-control__input--numeric::-webkit-inner-spin-button{appearance:none}.filter-control__select{border:.5px solid var(--neutral-300);min-width:80px;height:28px;color:var(--neutral-700);background:var(--white);cursor:pointer;border-radius:4px;padding:0 6px;font-size:12px;transition:border-color 80ms}.filter-control__select:hover{border-color:var(--neutral-400)}.filter-control__select:focus{outline:2px solid var(--primary-600);outline-offset:1px}.filter-control__select--active{border-color:var(--primary-400);background:var(--primary-50);color:var(--neutral-900)}.filter-control__date-range{align-items:center;gap:6px;display:flex}.filter-control__date-pair{align-items:center;gap:3px;display:flex}.filter-control__date-op{color:var(--neutral-400);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.filter-control__date-input{border:.5px solid var(--neutral-300);height:28px;color:var(--neutral-800);background:var(--white);border-radius:4px;width:118px;padding:0 6px;font-size:12px;transition:border-color 80ms}.filter-control__date-input:hover{border-color:var(--neutral-400)}.filter-control__date-input:focus{outline:2px solid var(--primary-600);outline-offset:1px;border-color:#0000}.filter-control__date-input--active{border-color:var(--primary-400);background:var(--primary-50)}.fc-multi{display:inline-flex;position:relative}.fc-multi__trigger{border:.5px solid var(--neutral-300);background:var(--white);min-width:96px;max-width:180px;height:28px;color:var(--neutral-700);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:0 8px;font-size:12px;transition:border-color 80ms,background 80ms;display:flex}.fc-multi__trigger:hover{border-color:var(--neutral-400)}.fc-multi__trigger:focus-visible{outline:2px solid var(--primary-600);outline-offset:1px}.fc-multi__trigger--open{border-color:var(--primary-600)}.fc-multi__trigger--active{border-color:var(--primary-400);background:var(--primary-50);color:var(--neutral-900)}.fc-multi__trigger-text{text-overflow:ellipsis;text-align:left;flex:1;overflow:hidden}.fc-multi__trigger-text--placeholder{color:var(--neutral-400)}.fc-multi__chevron{color:var(--neutral-400);flex-shrink:0;transition:transform .15s}.fc-multi__chevron--up{transform:rotate(180deg)}.fc-multi__dropdown{background:var(--white);border:.5px solid var(--neutral-200);min-width:100%;max-height:220px;z-index:var(--z-dropdown,100);border-radius:4px;padding:3px 0;position:absolute;top:calc(100% + 3px);left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.fc-multi__divider{background:var(--neutral-200);height:.5px;margin:3px 0}.fc-multi__option{cursor:pointer;color:var(--neutral-800);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:5px 10px;font-size:12px;transition:background 60ms;display:flex}.fc-multi__option:hover{background:var(--neutral-50)}.fc-multi__option--checked{background:var(--primary-50)}.fc-multi__option--checked:hover{background:var(--primary-100)}.fc-multi__checkbox{cursor:pointer;width:13px;height:13px;accent-color:var(--primary-600);flex-shrink:0}.fc-suggest{flex-direction:column;display:inline-flex;position:relative}.fc-suggest__wrap{border:.5px solid var(--neutral-300);background:var(--white);cursor:text;border-radius:4px;align-items:center;gap:4px;min-width:120px;max-width:200px;height:28px;padding:0 7px;transition:border-color 80ms;display:flex}.fc-suggest__wrap:hover{border-color:var(--neutral-400)}.fc-suggest__wrap--open{border-color:var(--primary-600);outline:2px solid var(--primary-600);outline-offset:1px}.fc-suggest__wrap--active{border-color:var(--primary-400);background:var(--primary-50)}.fc-suggest__icon{color:var(--neutral-400);flex-shrink:0}.fc-suggest__input{color:var(--neutral-800);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px}.fc-suggest__input::placeholder{color:var(--neutral-500)}.fc-suggest__clear{color:var(--neutral-400);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:1px;transition:color 80ms,background 80ms;display:flex}.fc-suggest__clear:hover{color:var(--neutral-700);background:var(--neutral-100)}.fc-suggest__dropdown{background:var(--white);border:.5px solid var(--neutral-200);min-width:100%;max-height:220px;z-index:var(--z-dropdown,100);border-radius:4px;padding:3px 0;position:absolute;top:calc(100% + 3px);left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.fc-suggest__option{cursor:pointer;color:var(--neutral-800);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:5px 10px;font-size:12px;transition:background 60ms;display:flex}.fc-suggest__option:hover{background:var(--neutral-50)}.fc-suggest__option--checked{background:var(--primary-50)}.fc-suggest__option--checked:hover{background:var(--primary-100)}.fc-suggest__checkbox{cursor:pointer;width:13px;height:13px;accent-color:var(--primary-600);flex-shrink:0}.fc-suggest__loading{color:var(--neutral-400);padding:6px 10px;font-size:11px;display:block}.fc-suggest__error{color:var(--danger-text);padding:6px 10px;font-size:11px;display:block}.pagination{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.pagination__top-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pagination__count{color:var(--neutral-500);white-space:nowrap;font-size:11px;line-height:1}.pagination__size-segmented{border:.5px solid var(--neutral-300);background:var(--white);border-radius:4px;align-items:stretch;height:20px;display:inline-flex;overflow:hidden}.pagination__size-option{appearance:none;font-size:11px;font-family:var(--font-mono);color:var(--neutral-700);cursor:pointer;background:0 0;border:none;margin:0;padding:0 8px;transition:background 80ms}.pagination__size-option+.pagination__size-option{border-left:.5px solid var(--neutral-300)}.pagination__size-option:hover:not(.pagination__size-option--selected){background:var(--neutral-100)}.pagination__size-option--selected{background:var(--color-action-primary-bg);color:var(--color-action-primary);cursor:default;font-weight:500}.pagination__size-option:focus-visible{outline:2px solid var(--primary-600);outline-offset:-2px}.pagination__nav{align-items:center;gap:2px;display:flex}.pagination__arrow{width:26px;height:26px;color:var(--neutral-600);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background 80ms;display:flex}.pagination__arrow:hover:not(:disabled){background:var(--neutral-100)}.pagination__arrow:disabled{opacity:.35;cursor:not-allowed}.pagination__page-input{border:.5px solid var(--neutral-300);text-align:center;width:36px;height:26px;color:var(--neutral-800);background:var(--white);appearance:textfield;border-radius:4px;padding:0;font-size:12px;font-weight:500}.pagination__page-input::-webkit-outer-spin-button{appearance:none;margin:0}.pagination__page-input::-webkit-inner-spin-button{appearance:none;margin:0}.pagination__page-input:hover{border-color:var(--neutral-400)}.pagination__page-input:focus{outline:2px solid var(--primary-600);outline-offset:1px;border-color:#0000}.pagination__of{color:var(--neutral-400);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 3px;font-size:12px;line-height:26px}.filter-bar{background:var(--neutral-50);border-bottom:.5px solid var(--neutral-200);flex-direction:column;flex-shrink:0;display:flex}.filter-bar__row{flex-wrap:nowrap;align-items:center;gap:12px;min-height:52px;padding:0 12px;display:flex}.filter-bar__filters{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-height:52px;padding:6px 0;display:flex}.filter-bar__clear-all{color:var(--neutral-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px;text-decoration:underline}.filter-bar__clear-all:hover{color:var(--neutral-700)}.filter-bar__search-btn{height:28px;color:var(--color-text-inverse);background:var(--primary-600);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:0 14px;font-size:12px;font-weight:500;transition:background 80ms;display:inline-flex}.filter-bar__search-btn:hover{background:var(--color-action-primary-hover)}.filter-bar__expand-wrap{flex-shrink:0;display:inline-flex;position:relative}.filter-bar__expand-btn{justify-content:center;align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);white-space:nowrap;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;transition:background 80ms,color 80ms;display:flex}.filter-bar__expand-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.filter-bar__expand-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.filter-bar__expand-btn--open,.filter-bar__expand-btn--open:hover{background:var(--primary-100);color:var(--primary-600)}.filter-bar__expand-btn:focus-visible{outline:2px solid var(--primary-600);outline-offset:1px}.filter-bar__expand-badge{min-width:14px;height:14px;color:var(--color-text-inverse);background:var(--primary-600);pointer-events:none;border-radius:7px;justify-content:center;align-items:center;padding:0 3px;font-size:9px;font-weight:500;display:flex;position:absolute;top:-4px;right:-4px}.filter-bar__more-panel{border-top:.5px solid var(--neutral-200);background:var(--neutral-50);flex-wrap:wrap;gap:12px 16px;padding:10px 12px 14px;display:flex}.data-table{background:var(--white);border:.5px solid var(--neutral-200);border-radius:var(--border-radius-md);flex-direction:column;height:100%;display:flex;overflow:hidden}.tbl-wrap{flex:1;position:relative;overflow:auto}.tbl-wrap--resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.tbl{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.tbl__th{height:40px;color:var(--neutral-600);text-transform:uppercase;letter-spacing:.04em;text-align:left;background:var(--white);border-bottom:1.5px solid var(--neutral-200);white-space:nowrap;z-index:2;vertical-align:middle;padding:0 12px;font-size:11px;font-weight:600;position:sticky;top:0;overflow:hidden}.tbl__th--sortable{cursor:pointer}.tbl__th--sortable:hover{background:var(--neutral-50)}.tbl__th--sorted-asc,.tbl__th--sorted-desc{color:var(--primary-600)}.tbl__th--frozen{z-index:3;background:var(--white);box-shadow:1px 0 0 var(--neutral-200);position:sticky;left:0}.tbl__th--checkbox{text-align:center;width:44px;min-width:44px;padding:0}.tbl__th--drag-over{background:var(--primary-100);border-left:2px solid var(--primary-600)}.tbl__th-inner{align-items:center;gap:4px;display:flex;overflow:hidden}.tbl__th-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tbl__sort-icon{color:var(--neutral-400);flex-shrink:0;transition:color .1s}.tbl__sort-icon--idle{opacity:0}.tbl__th--sortable:hover .tbl__sort-icon--idle{opacity:1}.tbl__sort-icon--active{color:var(--primary-600);opacity:1}.tbl__resize-handle{cursor:col-resize;z-index:1;width:5px;position:absolute;top:0;bottom:0;right:0}.tbl__resize-handle:hover,.tbl-wrap--resizing .tbl__resize-handle{background:var(--primary-400)}.tbl__tr{border-bottom:.5px solid var(--neutral-100);cursor:pointer;height:40px;transition:background 80ms}.tbl__tr:nth-child(2n){background:var(--neutral-50)}.tbl__tr:hover{background:var(--color-bg-tertiary)}.tbl__tr--selected,.tbl__tr--selected:hover{box-shadow:inset 2px 0 0 var(--primary-600);background:var(--primary-100)!important}.tbl__tr--skeleton{cursor:default}.tbl__td{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;color:var(--neutral-800);padding:0 12px;overflow:hidden}.tbl__td--left{text-align:left}.tbl__td--right{text-align:right}.tbl__td--center{text-align:center}.tbl__td--frozen{z-index:1;background:inherit;box-shadow:1px 0 0 var(--neutral-200);position:sticky;left:0}.tbl__td--checkbox{text-align:center;width:44px;min-width:44px;padding:0}.tbl__checkbox{width:16px;height:16px;accent-color:var(--primary-600);cursor:pointer}@keyframes tbl-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.tbl__skeleton-cell{background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-50) 50%, var(--neutral-100) 75%);background-size:600px 100%;border-radius:3px;height:12px;animation:1.4s ease-in-out infinite tbl-shimmer}.tbl__td--empty{text-align:center;padding:48px 0}.tbl__empty-state{flex-direction:column;align-items:center;gap:16px;display:flex}.tbl__empty-message{color:var(--neutral-500);margin:0;font-size:14px}.data-table__select-all-banner{background:var(--primary-50);border-bottom:.5px solid var(--primary-200);color:var(--neutral-700);padding:8px 16px;font-size:12px}.data-table__select-all-banner--active{background:var(--primary-100)}.data-table__select-all-link{color:var(--primary-600);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.data-table__select-all-link:hover{color:var(--primary-700)}.btn{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:background .1s,border-color .1s;display:inline-flex}.btn--primary{background:var(--primary-600);color:var(--color-text-inverse);height:36px;padding:0 16px}.btn--primary:hover{background:var(--primary-700)}.btn--sm{height:32px;padding:0 12px;font-size:12px}.grouped-table{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.grouped-table__tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border-default);scrollbar-width:thin;display:flex;overflow-x:auto}.grouped-table__tabs--level1{padding-bottom:var(--space-2)}.grouped-table__tabs--level2{padding-bottom:var(--space-2);margin-top:var(--space-3)}.grouped-table__tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;transition:all .15s;display:flex}.grouped-table__tab:hover{color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.grouped-table__tab--active{color:var(--color-action-primary);border-bottom-color:var(--color-action-primary);background-color:var(--color-action-primary-bg)}.grouped-table__tab:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:2px}.grouped-table__tab-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.grouped-table__tab-count{min-width:20px;height:20px;padding:0 var(--space-1);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.grouped-table__tab--active .grouped-table__tab-count{color:var(--color-action-primary);background-color:var(--color-action-primary-bg)}.grouped-table__content{width:100%}.grouped-table__level2{gap:var(--space-3);flex-direction:column;display:flex}.grouped-table__empty{padding:var(--space-6);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.dashboard-layout{gap:var(--space-5);padding:var(--space-4);background:var(--color-bg-page);flex-direction:column;display:flex}.dashboard-header{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-titleblock{gap:var(--space-1);flex-direction:column;display:flex}.dashboard-titleblock__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.15}.dashboard-titleblock__subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.dashboard-titleblock__accent-line{margin:var(--space-2) 0 0;font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dashboard-titleblock__accent{color:var(--color-action-primary)}.dashboard-sections{gap:var(--space-5);flex-direction:column;display:flex}.dashboard-section{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-lg);padding:var(--space-4)}.dashboard-section__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.dashboard-section--clickable{cursor:pointer;transition:border-color var(--transition-fast)}.dashboard-section--clickable:hover{border-color:var(--color-border-strong)}.highlighted-card{background:var(--color-bg-card);border-radius:var(--border-radius-md);padding:var(--space-4);gap:var(--space-3);align-items:flex-start;display:flex}.highlighted-card--info{border-left:4px solid var(--color-action-primary);background:var(--info-bg)}.highlighted-card--warning{border-left:4px solid var(--secondary-600);background:var(--warning-bg)}.highlighted-card--success{border-left:4px solid var(--primary-600);background:var(--success-bg)}.highlighted-card--danger{border-left:4px solid var(--danger-text);background:var(--danger-bg)}.highlighted-card--neutral{border-left:4px solid var(--neutral-400);background:var(--color-bg-secondary)}.highlighted-card__icon{width:24px;height:24px;color:var(--color-text-secondary);flex-shrink:0}.highlighted-card--info .highlighted-card__icon{color:var(--info-text)}.highlighted-card--warning .highlighted-card__icon{color:var(--warning-text)}.highlighted-card--success .highlighted-card__icon{color:var(--success-text)}.highlighted-card--danger .highlighted-card__icon{color:var(--danger-text)}.highlighted-card__content{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.highlighted-card__title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.highlighted-card__body{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.dashboard-chart{width:100%;min-height:300px}.dashboard-chart-empty{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);min-height:300px;color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.dashboard-accordion{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-accordion__item{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);overflow:hidden}.dashboard-accordion__header{padding:var(--space-3);background:var(--color-bg-secondary);cursor:pointer;transition:background-color var(--transition-fast);font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);justify-content:space-between;align-items:center;display:flex}.dashboard-accordion__header:hover{background:var(--neutral-50)}.dashboard-accordion__icon{width:20px;height:20px;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.dashboard-accordion__icon--expanded{transform:rotate(180deg)}.dashboard-accordion__content{padding:var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.detail-panel-drawer{background:var(--color-bg-page);border-left:1px solid var(--color-border-default);height:100vh;box-shadow:var(--shadow-xl);z-index:var(--z-right-panel);transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.detail-panel-drawer--open{transform:translate(0)}.detail-panel-drawer--w360{width:360px}.detail-panel-drawer--w480{width:480px}.detail-panel-drawer--w600{width:600px}.detail-panel-drawer--w720{width:720px}.detail-panel-drawer__header{padding:var(--space-4);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-card);justify-content:space-between;align-items:center;display:flex}.detail-panel-drawer__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.detail-panel-drawer__close{border-radius:var(--border-radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.detail-panel-drawer__close:hover{background:var(--color-bg-secondary)}.detail-panel-drawer__close:active{background:var(--neutral-100)}.detail-panel-drawer__body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.detail-panel-section{gap:var(--space-3);flex-direction:column;display:flex}.detail-panel-section__title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.detail-panel-backdrop{background:var(--color-bg-overlay);width:100vw;height:100vh;z-index:calc(var(--z-right-panel) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition-base);position:fixed;top:0;left:0}.detail-panel-backdrop--visible{opacity:1;pointer-events:all}.dashboard-loading{min-height:400px;color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.dashboard-loading__spinner{border:3px solid var(--neutral-200);border-top-color:var(--color-action-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-error{justify-content:center;align-items:center;gap:var(--space-3);min-height:400px;padding:var(--space-4);background:var(--danger-bg);border:1px solid var(--danger-text);border-radius:var(--border-radius-lg);flex-direction:column;display:flex}.dashboard-error__icon{width:48px;height:48px;color:var(--danger-text)}.dashboard-error__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--danger-text);margin:0}.dashboard-error__message{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;max-width:600px}.dashboard-tabs{gap:var(--space-2);border-bottom:1px solid var(--color-border-default);padding:0 var(--space-1);display:flex}.dashboard-tabs__tab{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.dashboard-tabs__tab:hover{color:var(--color-text-primary)}.dashboard-tabs__tab--active{color:var(--color-action-primary);border-bottom-color:var(--color-action-primary)}.dashboard-detail-modal__backdrop{background:var(--color-bg-overlay);z-index:1000;padding:var(--space-5);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-detail-modal__card{background:var(--color-bg-card);border:1px solid var(--color-border-default);width:min(960px, calc(100vw - var(--space-6)));max-height:calc(100vh - var(--space-6));box-shadow:var(--shadow-xl);border-radius:8px;flex-direction:column;display:flex}.dashboard-detail-modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.dashboard-detail-modal__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.dashboard-detail-modal__close{cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);background:0 0;border:none;border-radius:4px;font-size:24px;line-height:1}.dashboard-detail-modal__close:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.dashboard-detail-modal__body{padding:var(--space-5);flex:auto;overflow-y:auto}.dashboard-detail-modal__status{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-5)}.dashboard-detail-modal__status--error{color:var(--danger-text)}.detail-panel-renderer{gap:var(--space-4);flex-direction:column;display:flex}.detail-panel-renderer__title{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.detail-panel-renderer__sections{gap:var(--space-4);flex-direction:column;display:flex}.detail-panel-renderer__section{gap:var(--space-2);flex-direction:column;display:flex}.detail-panel-renderer__section-title{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.detail-panel-renderer__placeholder{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-tertiary);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--border-radius-sm)}.dashboard-filter-bar{align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);flex-wrap:wrap;display:flex}.dashboard-filter-bar__field{gap:var(--space-1);flex-direction:column;min-width:180px;display:flex}.dashboard-filter-bar__label{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide)}.dashboard-filter-bar__select,.dashboard-filter-bar__input{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-input);border-radius:var(--border-radius-sm);padding:var(--space-2) var(--space-3);height:var(--input-height);cursor:pointer;transition:border-color var(--transition-fast)}.dashboard-filter-bar__select:hover,.dashboard-filter-bar__input:hover{border-color:var(--color-border-strong)}.dashboard-filter-bar__select:focus,.dashboard-filter-bar__input:focus{outline:2px solid var(--color-action-primary);outline-offset:1px;border-color:var(--color-border-focus)}.dashboard-filter-bar__unsupported{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-2) var(--space-3)}.entity-table-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.entity-table-page__header{gap:var(--space-1);padding:var(--space-4) var(--space-4) 0;flex-direction:column;display:flex}.entity-table-page__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.15}.entity-table-page__subtitle{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.entity-page-status{justify-content:center;align-items:center;height:100%;display:flex}.entity-page-status__spinner{border:2.5px solid var(--neutral-200);border-top-color:var(--primary-600);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite entity-page-spin}@keyframes entity-page-spin{to{transform:rotate(360deg)}}.entity-page-status__error{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.entity-page-status__error-title{color:var(--neutral-800);font-size:14px;font-weight:500}.entity-page-status__error-detail{color:var(--neutral-500);font-size:12px}.entity-config-index{font-family:var(--font-sans);color:var(--color-text-primary);padding:var(--space-4)}.entity-config-index__header{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4) 0;display:flex}.entity-config-index__header-icon{color:var(--color-text-secondary)}.entity-config-index__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin:0}.entity-config-index__toolbar{margin:0 0 var(--space-3) 0;display:flex}.entity-config-index__filter{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-card);border:var(--input-border);border-radius:var(--input-border-radius);height:var(--input-height);padding:0 var(--space-3);width:320px}.entity-config-index__filter:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-index__status,.entity-config-index__empty,.entity-config-index__error{font-size:var(--font-size-base);color:var(--color-text-secondary);background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);padding:var(--space-4);margin:var(--space-3) 0}.entity-config-index__error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.entity-config-index__error-detail{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2);overflow-wrap:anywhere;display:block}.entity-config-index__list{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);margin:0;padding:0;list-style:none}.entity-config-index__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);display:flex}.entity-config-index__row:last-child{border-bottom:0}.entity-config-index__row-name{font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-code);font-weight:var(--font-weight-medium)}.entity-config-index__row-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.entity-config-index__chip{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-action-primary-bg);border:1px solid var(--color-border-default);border-radius:var(--border-radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background var(--transition-fast)}.entity-config-index__chip:hover{background:var(--primary-200)}.entity-config-index__chip:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor{font-family:var(--font-sans);color:var(--color-text-primary);padding:var(--space-4)}.entity-config-editor__header{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4) 0;flex-wrap:wrap;display:flex}.entity-config-editor__back{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-link);border:1px solid var(--color-border-default);border-radius:var(--button-border-radius);height:var(--button-height);padding:0 var(--button-padding-x);cursor:pointer;background:0 0}.entity-config-editor__back:hover{background:var(--color-bg-tertiary)}.entity-config-editor__back:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor__title{font-family:var(--font-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);align-items:baseline;gap:var(--space-2);margin:0;display:flex}.entity-config-editor__title-name{font-family:var(--font-mono);font-size:var(--font-size-xl);color:var(--color-text-code)}.entity-config-editor__title-sep{color:var(--color-text-tertiary)}.entity-config-editor__title-type{font-family:var(--font-mono);font-size:var(--font-size-xl);color:var(--color-text-secondary)}.entity-config-editor__status{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);border:1px solid var(--color-border-default);border-radius:var(--border-radius-pill);padding:var(--space-1) var(--space-3)}.entity-config-editor__status--published{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.entity-config-editor__status--draft{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.entity-config-editor__status--none{background:var(--status-neutral-bg);border-color:var(--status-neutral-border);color:var(--status-neutral-text)}.entity-config-editor__loading{font-size:var(--font-size-base);color:var(--color-text-secondary);background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);padding:var(--space-4)}.entity-config-editor__error{font-size:var(--font-size-base);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--border-radius-md);padding:var(--space-4);color:var(--danger-text)}.entity-config-editor__error-detail{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2);overflow-wrap:anywhere;display:block}.entity-config-editor__tablist{gap:var(--space-1);border-bottom:1px solid var(--color-border-default);margin:0 0 var(--space-3) 0;display:flex}.entity-config-editor__tab{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);cursor:pointer;height:var(--tab-bar-height);background:0 0;border:0;border-bottom:2px solid #0000}.entity-config-editor__tab:hover{color:var(--color-text-primary)}.entity-config-editor__tab:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor__tab--active{color:var(--color-action-primary);border-bottom:2px solid var(--color-border-active)}.entity-config-editor__panel{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);padding:var(--space-4)}.entity-config-editor__empty,.entity-config-editor__hint{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.entity-config-editor__published-json{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-code);background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--border-radius-sm);padding:var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;margin:0}.entity-config-editor__field-label{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-1) 0;display:block}.entity-config-editor__description-input{width:100%;height:var(--input-height);font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-card);border:var(--input-border);border-radius:var(--border-radius-sm);padding:0 var(--space-3);display:block}.entity-config-editor__description-input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor__textarea-label{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-1) 0;display:block}.entity-config-editor__textarea{width:100%;min-height:480px;max-height:70vh;font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-card);border:var(--input-border);border-radius:var(--border-radius-sm);padding:var(--space-3);tab-size:2;resize:vertical;display:block}.entity-config-editor__textarea:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor__inline-error{margin:var(--space-3) 0 0 0;padding:var(--space-2) var(--space-3);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--border-radius-sm);color:var(--danger-text);font-family:var(--font-mono);font-size:var(--font-size-sm);overflow-wrap:anywhere}.entity-config-editor__inline-success{margin:var(--space-3) 0 0 0;padding:var(--space-2) var(--space-3);background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--border-radius-sm);color:var(--success-text);font-size:var(--font-size-sm)}.entity-config-editor__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.entity-config-editor__button{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);height:var(--button-height);padding:0 var(--button-padding-x);border-radius:var(--button-border-radius);cursor:pointer}.entity-config-editor__button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.entity-config-editor__button:disabled{cursor:not-allowed;opacity:.6}.entity-config-editor__button--secondary{border:1px solid var(--color-border-default);color:var(--color-text-primary);background:0 0}.entity-config-editor__button--secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.entity-config-editor__button--primary{background:var(--color-action-primary);border:1px solid var(--color-action-primary);color:var(--color-text-inverse)}.entity-config-editor__button--primary:hover:not(:disabled){background:var(--color-action-primary-hover);border-color:var(--color-action-primary-hover)}.entity-config-editor__history{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--font-size-base)}.entity-config-editor__history th{text-align:left;text-transform:uppercase;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);color:var(--neutral-600);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-default)}.entity-config-editor__history td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary);vertical-align:top;font-family:var(--font-mono);font-size:var(--font-size-sm)}.entity-config-editor__history tbody tr:last-child td{border-bottom:0}
