*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb))}:root{--foreground-rgb:0,0,0;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255;--color-primary:#0d9488;--color-primary-dark:#0f766e;--color-primary-muted:#14b8a6;--color-primary-subtle:#f0fdfa;--color-primary-border:#99f6e4;--gantivity-teal:#0d9488;--gantivity-teal-dark:#0f766e;--focus-ring:#0d9488;--color-surface:#ffffff;--color-surface-subtle:#f8fafc;--color-surface-raised:#ffffff;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-placeholder:#94a3b8;--color-text-on-primary:#ffffff;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-info:#2563eb;--color-info-bg:#eff6ff;--color-info-border:#bfdbfe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(15,23,42,0.06);--shadow-md:0 4px 12px rgba(15,23,42,0.1);--shadow-lg:0 10px 30px rgba(15,23,42,0.12);--z-dropdown:40;--z-sticky:100;--z-modal:1000;--z-nav-drawer:10081}html[data-theme=dark]{--foreground-rgb:248,250,252;--background-start-rgb:15,23,42;--background-end-rgb:15,23,42;--color-surface:#1e293b;--color-surface-subtle:#0f172a;--color-surface-raised:#1e293b;--color-border:#334155;--color-border-strong:#475569;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-text-placeholder:#64748b;--gray-50:#0f172a;--gray-100:#1e293b;--gray-200:#334155;--gray-300:#475569;--gray-500:#94a3b8;--gray-700:#cbd5e1;--color-primary-subtle:#134e4a;--color-primary-border:#0f766e;--color-danger-bg:#450a0a;--color-danger-border:#7f1d1d;--color-success-bg:#14532d;--color-success-border:#166534;--color-warning-bg:#422006;--color-warning-border:#854d0e;--color-info-bg:#1e3a5f;--color-info-border:#1d4ed8}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes messaging-typing-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}.messaging-typing-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#64748b;animation:messaging-typing-bounce 1s ease-in-out infinite}.messaging-typing-dot:nth-child(2){animation-delay:.15s}.messaging-typing-dot:nth-child(3){animation-delay:.3s}@keyframes messaging-send-pulse{0%,to{opacity:.35}50%{opacity:1}}.messaging-send-pending{font-size:.45rem;letter-spacing:.18em;color:#8696a0;animation:messaging-send-pulse 1s ease-in-out infinite}.gantivity-msg-shell{width:100%;height:100%;flex:1 1;flex-direction:column}.gantivity-msg-pane,.gantivity-msg-shell{min-height:0;display:flex;overflow:hidden;background:var(--color-surface-subtle,#f8fafc)}.gantivity-msg-pane{flex:1 1}.gantivity-msg-sidebar{display:flex;flex-direction:column;min-height:0;background:var(--color-surface,#fff);border-right:1px solid var(--color-border,#e2e8f0);overflow:hidden}.gantivity-msg-sidebar-head{padding:.85rem .9rem .75rem;border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff)}.gantivity-msg-sidebar-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--color-text,#0f172a);letter-spacing:-.02em}.gantivity-msg-sidebar-hint{margin:.35rem 0 0;font-size:.72rem;line-height:1.4;color:var(--color-text-muted,#64748b)}.gantivity-msg-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;margin-bottom:.7rem;background:var(--color-surface-subtle,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:10px}.gantivity-msg-segment button{padding:.42rem .5rem;border:none;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;background:transparent;color:var(--color-text-muted,#64748b)}.gantivity-msg-segment button[data-active=true]{background:var(--color-surface,#fff);color:var(--color-primary,#0d9488);box-shadow:0 1px 2px rgba(15,23,42,.08)}.gantivity-msg-search{width:100%;padding:.5rem .7rem;border:1px solid var(--color-border,#e2e8f0);border-radius:9px;font-size:.8125rem;background:var(--color-surface-subtle,#f8fafc);color:var(--color-text,#0f172a)}.gantivity-msg-search:focus{outline:2px solid var(--color-primary,#0d9488);outline-offset:1px;background:#fff}.gantivity-msg-row{cursor:pointer;transition:background .15s ease;padding:.75rem 1rem;border-bottom:1px solid #f0f2f5;border-left:3px solid transparent;display:flex;gap:.75rem;align-items:center}.gantivity-msg-row[data-selected=true]{background:var(--color-primary-subtle,#f0fdfa);border-left-color:var(--color-primary,#0d9488)}.gantivity-msg-row:hover{background:var(--color-surface-subtle,#f8fafc)}.gantivity-msg-row[data-selected=true]:hover{background:var(--color-primary-subtle,#f0fdfa)}.gantivity-msg-row[data-unread=true] h3{font-weight:800;color:var(--color-text,#0f172a)}.gantivity-msg-hover-actions{margin-top:.35rem;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.gantivity-msg-hover-actions .gantivity-msg-ghost{padding:.18rem .45rem;font-size:.6875rem}.gantivity-msg-typing{display:flex;align-items:center;gap:.5rem;padding:.35rem 1rem;font-size:.75rem;color:var(--color-text-muted,#64748b)}.gantivity-msg-typing-dots{display:inline-flex;align-items:center;gap:3px}.gantivity-msg-kbd-help{font-size:.6875rem;color:var(--color-text-muted,#64748b)}.gantivity-msg-kbd-help summary{cursor:pointer;list-style:none;font-weight:600;color:var(--color-primary,#0d9488)}.gantivity-msg-kbd-help summary::-webkit-details-marker{display:none}.gantivity-msg-kbd-help ul{margin:.35rem 0 0;padding-left:1rem;line-height:1.5}.gantivity-msg-kbd-help kbd{font-size:.625rem;padding:.1rem .3rem;border-radius:4px}.gantivity-msg-input-row,.gantivity-msg-kbd-help kbd{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-subtle,#f8fafc)}.gantivity-msg-input-row{display:flex;gap:.5rem;align-items:center;flex:1 1;padding:.25rem .35rem .25rem .85rem;border-radius:14px}.gantivity-msg-input-row:focus-within{outline:2px solid var(--color-primary,#0d9488);outline-offset:1px;background:#fff}.gantivity-msg-empty{flex:1 1;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:radial-gradient(circle at top left,rgba(13,148,136,.08),transparent 42%),var(--color-surface-subtle,#f8fafc)}.gantivity-msg-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:1rem}.gantivity-msg-empty-card{max-width:420px;text-align:center;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;padding:2rem 1.5rem;box-shadow:0 8px 28px rgba(15,23,42,.06)}@media (max-width:767px){.gantivity-msg-pane[data-mobile-chat=true] .gantivity-msg-sidebar,.gantivity-msg-pane[data-mobile-list=true] .gantivity-msg-chat{display:none!important}.gantivity-msg-pane[data-mobile-chat=true] .gantivity-msg-chat{display:flex!important}.gantivity-msg-sidebar{width:100%!important}}.gantivity-msg-empty-card h2{margin:0;font-size:1.125rem;font-weight:800;color:var(--color-text,#0f172a)}.gantivity-msg-empty-card p{margin:.5rem 0 0;font-size:.875rem;line-height:1.55;color:var(--color-text-muted,#64748b)}.gantivity-msg-header{padding:.7rem 1rem;background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#e2e8f0)}.gantivity-msg-composer{padding:.65rem 1rem .85rem;background:var(--color-surface,#fff);border-top:1px solid var(--color-border,#e2e8f0)}.gantivity-msg-attach{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.gantivity-msg-attach button,.gantivity-msg-chip{padding:.28rem .62rem;background:var(--color-surface-subtle,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:999px;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--color-text-secondary,#475569)}.gantivity-msg-attach button:hover,.gantivity-msg-chip:hover{border-color:var(--color-primary-border,#99f6e4);background:var(--color-primary-subtle,#f0fdfa);color:var(--color-primary-dark,#0f766e)}.gantivity-msg-chip--primary{background:var(--color-primary,#0d9488);border-color:var(--color-primary,#0d9488);color:#fff}.gantivity-msg-chip--primary:hover{background:var(--color-primary-dark,#0f766e);border-color:var(--color-primary-dark,#0f766e);color:#fff}.gantivity-msg-chip--success{background:#15803d;border-color:#15803d;color:#fff}.gantivity-msg-chip--success:hover{background:#166534;border-color:#166534;color:#fff}.gantivity-msg-task-bar{padding:.55rem 1rem;background:#f0fdf4;border-bottom:1px solid #ccfbf1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.gantivity-msg-task-bar-meta{font-size:.75rem;color:#047857;font-weight:600}.gantivity-msg-task-actions{justify-content:flex-start}.gantivity-msg-task-context{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;padding:.4rem .65rem;margin-bottom:.35rem;background:#ecfdf5;border-left:3px solid #0d9488;border-radius:0 8px 8px 0;font-size:.8125rem;color:#065f46}.gantivity-msg-task-context-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#047857}.gantivity-msg-task-context-name{color:#334155;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantivity-msg-task-context-meta{font-size:.75rem;color:#64748b}.gantivity-msg-input{flex:1 1;min-width:0;padding:.62rem .9rem;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;font-size:.875rem;background:var(--color-surface-subtle,#f8fafc)}.gantivity-msg-input:focus{outline:2px solid var(--color-primary,#0d9488);outline-offset:1px;background:#fff}.gantivity-msg-send{padding:.62rem 1rem;background:var(--color-primary,#0d9488);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:700}.gantivity-msg-send:disabled{opacity:.45;cursor:not-allowed}.gantivity-msg-ghost{padding:.32rem .6rem;background:transparent;color:var(--color-text-muted,#64748b);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:600}.gantivity-msg-skeleton{display:flex;flex-direction:column;gap:10px;width:min(360px,90%)}.gantivity-msg-skeleton span{display:block;height:12px;border-radius:8px;background:linear-gradient(90deg,#e2e8f0,#f8fafc 50%,#e2e8f0);background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite}.studio-loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid #94a3b8;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-loading-dots{display:inline-block;animation:chat-pulse 1s ease-in-out infinite}@keyframes chat-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes signal-pulse-stuck{0%,to{box-shadow:0 0 0 0 rgba(220,38,38,.55)}60%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}@keyframes signal-pulse-very-slow{0%,to{box-shadow:0 0 0 0 rgba(234,88,12,.5)}60%{box-shadow:0 0 0 5px rgba(234,88,12,0)}}@keyframes signal-pulse-slow{0%,to{box-shadow:0 0 0 0 rgba(202,138,4,.45)}60%{box-shadow:0 0 0 5px rgba(202,138,4,0)}}@keyframes signal-shimmer-fast{0%{background-position:-120% 0}to{background-position:220% 0}}.signal-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1;white-space:nowrap;border:1px solid transparent}.signal-pill[data-signal=stuck]{background:#fee2e2;color:#991b1b;border-color:#fecaca;animation:signal-pulse-stuck 1.6s ease-in-out infinite}.signal-pill[data-signal=very_slow]{background:#ffedd5;color:#9a3412;border-color:#fed7aa;animation:signal-pulse-very-slow 2s ease-in-out infinite}.signal-pill[data-signal=slow]{background:#fef9c3;color:#854d0e;border-color:#fde68a;animation:signal-pulse-slow 2.4s ease-in-out infinite}.signal-pill[data-signal=par]{background:#dcfce7;color:#166534;border-color:#bbf7d0}.signal-pill[data-signal=fast]{background:linear-gradient(120deg,#99f6e4,#5eead4 35%,#ccfbf1 50%,#5eead4 65%,#99f6e4);background-size:220% 100%;color:#115e59;border-color:#5eead4;animation:signal-shimmer-fast 3.2s linear infinite}.signal-pill__dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;flex-shrink:0}@media (prefers-reduced-motion:reduce){.signal-pill,.signal-pill[data-signal=fast],.signal-pill[data-signal=slow],.signal-pill[data-signal=stuck],.signal-pill[data-signal=very_slow]{animation:none!important}}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-pill{border-radius:var(--radius-pill)}.kanban-card{transition:box-shadow .15s ease,transform .15s ease;background:var(--color-surface,#fff);border-color:var(--color-border,#e4e4e7);color:var(--color-text,#18181b)}.kanban-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.12)!important;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.kanban-card{transition:none}.kanban-card:hover{transform:none}}.kanban-column{border-radius:var(--radius-lg);transition:background .15s ease,border-color .15s ease;background:var(--color-surface-subtle,#f8fafc);border:1px solid var(--color-border,#e4e4e7)}.kanban-column--drop-target{background:rgba(13,148,136,.06);border-color:#99f6e4!important}.kanban-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-xs);font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.focus-ring:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px;border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;color:var(--color-text-secondary)}.icon-btn:hover{background:var(--color-surface-subtle);color:var(--color-text)}.icon-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.radius-sm{border-radius:var(--radius-sm)!important}.radius-md{border-radius:var(--radius-md)!important}.radius-lg{border-radius:var(--radius-lg)!important}.radius-xl{border-radius:var(--radius-xl)!important}.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;padding:12px 20px;background:var(--color-primary,var(--gantivity-teal));color:var(--color-text-on-primary,#fff);font-weight:600;border-radius:0 0 var(--radius-md) 0;text-decoration:none}.skip-link:focus{left:0;outline:2px solid #fff;outline-offset:2px}.project-card{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:#99f6e4!important}@media (prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}input:focus-visible:not(:disabled),select:focus-visible:not(:disabled),textarea:focus-visible:not(:disabled){outline:2px solid var(--focus-ring);outline-offset:2px}button:focus-visible:not(:disabled){outline:2px solid var(--focus-ring);outline-offset:2px}a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs,4px)}#main:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.scroll-hint-x{position:relative}.scroll-hint-x:after{content:"";position:absolute;right:0;top:0;bottom:0;width:24px;background:linear-gradient(270deg,rgba(255,255,255,.95),transparent);pointer-events:none}.report-studio-workbench{background-color:#eceff3;background-image:radial-gradient(circle at 1px 1px,rgba(100,116,139,.22) 1px,transparent 0);background-size:18px 18px}.report-studio-card-lift{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.report-studio-card-lift:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.09)}.report-studio-toolbar-pill{border-radius:14px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.04)}@media (prefers-reduced-motion:reduce){.report-studio-card-lift{transition:none}.report-studio-card-lift:hover{transform:none}}.report-studio-tab-strip{scrollbar-width:thin;scrollbar-color:#d4d4d8 transparent}.report-studio-tab-strip::-webkit-scrollbar{height:6px}.report-studio-tab-strip::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:3px}.report-inspector-chip{transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.report-inspector-chip:hover{box-shadow:0 2px 10px rgba(24,24,27,.1)}@media (prefers-reduced-motion:reduce){.report-inspector-chip{transition:none}.report-inspector-chip:hover{transform:none}}.mobile-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:10050;pointer-events:none}.mobile-bottom-bar__inner{pointer-events:auto;margin:0 auto;max-width:calc(100vw - 20px);width:min(560px,calc(100vw - 20px));display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:10px;padding:10px 10px 12px;border-radius:18px;border:1px solid var(--color-border,#e2e8f0);background:color-mix(in srgb,var(--color-surface,#fff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(15,23,42,.18);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.mobile-bottom-bar__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border-radius:14px;border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-subtle,#f8fafc);color:var(--color-text-secondary,#334155);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1 0 auto;min-width:64px}.mobile-bottom-bar__btn[disabled]{opacity:.5;cursor:not-allowed}.mobile-bottom-bar__btn[aria-pressed=true]{border-color:var(--color-primary);background:linear-gradient(180deg,rgba(13,148,136,.12),rgba(13,148,136,.06));color:var(--color-text,#0f172a)}.mobile-bottom-bar__icon,.sidebar-rail-icon{font-size:18px;line-height:1}.sidebar-rail-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;font-weight:500;color:inherit}.mobile-bottom-bar__label{font-size:11px;font-weight:700;letter-spacing:.02em}.gantt-hide-native-hscrollbar::-webkit-scrollbar{width:10px;height:0}.gantt-hide-native-hscrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.gantt-hide-native-hscrollbar::-webkit-scrollbar-corner,.gantt-hide-native-hscrollbar::-webkit-scrollbar-track{background:transparent}.admin-shell-nav-link:focus-visible{outline:2px solid var(--focus-ring,#0d9488);outline-offset:2px}@media (max-width:520px){.admin-shell-nav-label-full{display:none!important}.admin-shell-nav-label-short{display:inline!important}}.notif-bell-btn:hover{background:#f1f5f9;border-color:#e2e8f0}.notif-row-read{background:#fff;transition:background .14s ease}.notif-row-read:hover{background:#f8fafc}.notif-row-unread{background:#f0fdfa;transition:background .14s ease}.notif-row-unread:hover{background:#ccfbf1}a.admin-cc-card:hover{border-color:#99f6e4;box-shadow:0 4px 14px rgba(13,148,136,.12)}@media (max-width:900px){.portfolio-obs-canvas-layout{grid-template-columns:1fr!important}}.obs-canvas-fullscreen-root{position:fixed;inset:0;z-index:10050;display:flex;flex-direction:column;background:#f1f5f9;box-sizing:border-box}.obs-canvas-fullscreen-root:fullscreen{background:#f1f5f9}.obs-canvas-fullscreen-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(15,23,42,.04)}.obs-canvas-fullscreen-header-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.obs-canvas-fullscreen-title{font-size:15px;font-weight:800;color:#0f172a;letter-spacing:-.02em}.obs-canvas-fullscreen-sub{font-size:12px;color:#64748b;font-weight:500}.obs-canvas-fullscreen-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.obs-canvas-fullscreen-btn-secondary{padding:8px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-weight:700;font-size:13px;color:#334155;cursor:pointer}.obs-canvas-fullscreen-btn-secondary:hover{background:#f8fafc}.obs-canvas-fullscreen-btn-close{padding:8px 14px;border-radius:8px;border:none;background:#0d9488;color:#fff;font-weight:700;font-size:13px;cursor:pointer}.obs-canvas-fullscreen-btn-close:hover{filter:brightness(1.05)}.obs-canvas-fullscreen-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:16px;padding:16px;overflow:hidden;align-items:stretch}.obs-canvas-fullscreen-chart-wrap{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.obs-canvas-expand-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column}.obs-canvas-fullscreen-inspector-col{min-width:0;min-height:0;overflow:auto;position:relative}@media (max-width:900px){.obs-canvas-fullscreen-grid{grid-template-columns:1fr;overflow-y:auto;align-items:start}.obs-canvas-fullscreen-chart-wrap{min-height:min(50vh,420px);overflow:visible}}.obs-workspace-card{background:#fff;padding:1.25rem 1.35rem;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(15,23,42,.05)}.obs-data-grid{display:grid;gap:14px;margin-bottom:18px}@media (min-width:768px){.obs-data-grid{grid-template-columns:1fr 1fr;align-items:start}}.obs-panel{padding:14px 16px;background:linear-gradient(180deg,#fafbfc,#f8fafc);border-radius:12px;border:1px solid #e8ecf1}.obs-panel-title{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#64748b;margin-bottom:10px}.obs-editor-segment{display:inline-flex;padding:4px;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0;gap:2px;margin-bottom:14px}.obs-editor-segment button{padding:8px 18px;border-radius:8px;border:none;background:transparent;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.obs-editor-segment button:hover{color:#334155;background:rgba(255,255,255,.7)}.obs-editor-segment button[data-active=true]{background:#fff;color:#0f172a;box-shadow:0 1px 3px rgba(15,23,42,.08)}.obs-add-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;margin-bottom:12px}.obs-add-strip input[type=text],.obs-add-strip select{padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px;min-width:0}.obs-add-strip .obs-add-submit{padding:8px 16px;border-radius:8px;border:none;background:#0d9488;color:#fff;font-weight:700;font-size:14px;cursor:pointer}.obs-add-strip .obs-add-submit:hover{background:#0f766e}.obs-tree-root{list-style:none;margin:0;padding:4px 0 0}.obs-tree-nested{list-style:none;padding:4px 0 2px 12px;margin:0 0 0 10px;border-left:2px solid #e8ecf1}.obs-tree-li{margin:0 0 4px}.obs-tree-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px;min-height:42px;padding:4px 6px 4px 4px;border-radius:10px;border:1px solid transparent;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease;cursor:pointer}.obs-tree-row:hover{background:#f8fafc;border-color:#e8ecf1}.obs-tree-row--selected{background:linear-gradient(90deg,#ecfdf5,#f8fafc);border-color:#99f6e4;box-shadow:0 1px 2px rgba(13,148,136,.06)}.obs-tree-row-main{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0}.obs-tree-chevron{flex-shrink:0;width:28px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font-size:11px}.obs-tree-chevron:hover{background:#eef2f6;color:#0f172a}.obs-tree-spacer{width:28px;flex-shrink:0}.obs-tree-name{font-weight:600;font-size:14px;color:#0f172a;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-tree-meta{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.obs-tree-badge-team{font-size:9px;font-weight:800;letter-spacing:.08em;color:#4338ca;background:#eef2ff;padding:3px 7px;border-radius:6px}.obs-tree-badge-roster{font-size:11px;font-weight:600;color:#475569;background:#f1f5f9;padding:2px 8px;border-radius:6px}.obs-tree-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;color:#64748b;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-tree-actions{position:relative;flex-shrink:0;align-self:center}.obs-tree-menu-trigger{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;color:#64748b;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.obs-tree-menu-trigger:hover{background:#fff;border-color:#e2e8f0;color:#0f172a}.obs-tree-dropdown{position:absolute;right:0;top:calc(100% + 4px);min-width:216px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 16px 48px rgba(15,23,42,.14);z-index:40;padding:6px}.obs-tree-dropdown button{display:flex;width:100%;text-align:left;padding:9px 12px;border:none;border-radius:8px;background:none;font-size:13px;font-weight:500;color:#334155;cursor:pointer}.obs-tree-dropdown button:hover{background:#f1f5f9}.obs-tree-dropdown button.obs-dd-danger{color:#b91c1c}.obs-tree-dropdown button.obs-dd-danger:hover{background:#fef2f2}.obs-tree-edit-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;padding:10px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:10px}.obs-tree-edit-box input{padding:6px 10px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px}.obs-tree-shell{padding:12px 14px 14px;background:#fafbfc;border:1px solid #edf0f4;border-radius:12px;min-height:140px}.obs-tree-plus-group{gap:3px;flex-shrink:0;margin-right:2px}.obs-tree-plus,.obs-tree-plus-group{display:inline-flex;align-items:center}.obs-tree-plus{width:26px;height:28px;justify-content:center;border-radius:7px;border:1px solid #99f6e4;background:linear-gradient(180deg,#ecfdf5,#d1fae5);color:#047857;font-size:16px;font-weight:800;line-height:1;cursor:pointer;padding:0}.obs-tree-plus:hover{border-color:#14b8a6;background:#ccfbf1;color:#065f46}.obs-tree-plus-sibling{border-color:#cbd5e1;background:linear-gradient(180deg,#fff,#f8fafc);color:#475569;font-size:14px;font-weight:700}.obs-tree-plus-sibling:hover{border-color:#94a3b8;background:#f1f5f9;color:#0f172a}.obs-tree-inline-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 8px 42px;padding:10px 12px;background:#fff;border:1px solid #99f6e4;border-radius:10px;box-shadow:0 2px 8px rgba(13,148,136,.08)}.obs-tree-inline-add-hint{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0d9488;width:100%}.obs-tree-inline-add-input{flex:1 1;min-width:160px;padding:8px 11px;border-radius:8px;border:1px solid #e2e8f0;font-size:14px}.obs-tree-inline-add-submit{padding:8px 14px;border-radius:8px;border:none;background:#0d9488;color:#fff;font-weight:700;font-size:13px;cursor:pointer}.obs-tree-inline-add-submit:hover{background:#0f766e}.obs-tree-inline-add-cancel{padding:8px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#64748b;cursor:pointer}.obs-canvas-node-toolbar{position:absolute;top:2px;left:4px;z-index:4;display:flex;align-items:center;gap:3px;pointer-events:auto}.obs-canvas-plus-btn{width:22px!important;height:24px!important;font-size:13px!important}.obs-canvas-inline-add{margin:12px 0 0!important;max-width:100%}.obs-help-hint{font-size:12px;color:#64748b;margin:0 0 10px;line-height:1.45}