.app-shell{z-index:1;background-color:var(--dashboard-background-override,transparent);width:100%;height:100vh;transition:background-color var(--app-transition);flex-direction:column;display:flex;position:relative}.app-shell:before{content:"";background-image:radial-gradient(rgb(from var(--app-accent) r g b / var(--dot-grid-opacity,.1)) 1px, transparent 1px);pointer-events:none;z-index:5;background-size:28px 28px;position:absolute;inset:0}.app-command-bar{background:var(--app-surface);border-bottom:1px solid var(--app-border-subtle);z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:44px;padding:0 20px;display:flex;position:relative}.app-command-bar__left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.app-command-bar__logo{color:var(--app-text);align-items:center;gap:7px;text-decoration:none;display:flex}.app-command-bar__wordmark{letter-spacing:.14em;text-transform:uppercase;color:var(--app-text);font-size:11px;font-weight:700}.app-command-bar__sep{background:var(--app-border-subtle);flex-shrink:0;width:1px;height:16px}.app-command-bar__breadcrumb{color:var(--app-text-muted);letter-spacing:.02em;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:500;display:flex}.app-command-bar__breadcrumb-sep{opacity:.4;flex-shrink:0}.app-command-bar__breadcrumb-current{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.app-command-bar__right{flex-shrink:0;align-items:center;gap:6px;display:flex}.cmd-btn{border-radius:var(--app-radius-md);cursor:pointer;border:1px solid var(--app-border-subtle);color:var(--app-text-muted);letter-spacing:.02em;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.cmd-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.cmd-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.cmd-btn:disabled{opacity:.4;cursor:not-allowed}.cmd-btn--primary{background:var(--app-accent-dim);border-color:var(--app-accent-mid);color:var(--app-accent)}.cmd-btn--primary:hover{background:var(--app-accent-surface);border-color:var(--app-accent);color:var(--app-accent-strong)}.cmd-btn--icon{justify-content:center;width:28px;height:28px;padding:0}.app-body{z-index:1;flex:1;min-height:0;display:flex;position:relative}.app-sidebar{background:var(--app-surface);border-right:1px solid var(--app-border-subtle);z-index:4;flex-direction:column;flex-shrink:0;width:240px;display:flex;position:relative;overflow:visible}.app-sidebar__logo{border-bottom:1px solid var(--app-border-subtle);padding:16px 16px 12px}.app-sidebar__wordmark{letter-spacing:.14em;text-transform:uppercase;color:var(--app-text);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.app-sidebar__workspace{color:var(--app-text-muted);letter-spacing:.04em;margin-top:4px;font-size:11px}.app-sidebar__nav{flex-direction:column;gap:6px;padding:12px 10px 8px;display:flex}.app-sidebar__nav-link{border-radius:var(--app-radius-md);font-size:var(--text-xs);color:var(--app-text-muted);transition:background var(--app-transition), color var(--app-transition);align-items:center;gap:9px;padding:5px 10px;font-weight:500;text-decoration:none;display:flex}.app-sidebar__nav-link:hover{background:var(--app-accent-surface);color:var(--app-text)}.app-sidebar__nav-link.active{background:var(--app-accent-dim);color:var(--app-accent)}.app-sidebar__nav-link:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px}.app-sidebar--collapsed{border-right:none;width:0;overflow:hidden}.app-sidebar-toggle{z-index:3;background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:0 var(--app-radius-md) var(--app-radius-md) 0;width:20px;height:48px;color:var(--app-text-muted);cursor:pointer;transition:color var(--app-transition), border-color var(--app-transition);border-left:none;justify-content:center;align-items:center;font-size:18px;font-weight:400;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.app-sidebar-toggle:hover{color:var(--app-text);border-color:var(--app-border-strong)}.app-sidebar-toggle:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.app-sidebar-collapse{z-index:3;background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:0 var(--app-radius-md) var(--app-radius-md) 0;width:20px;height:48px;color:var(--app-text-muted);cursor:pointer;transition:color var(--app-transition), border-color var(--app-transition);border-left:none;justify-content:center;align-items:center;font-size:18px;font-weight:400;display:flex;position:absolute;top:50%;right:-20px;transform:translateY(-50%)}.app-sidebar-collapse:hover{color:var(--app-text);border-color:var(--app-border-strong)}.app-sidebar-collapse:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.app-content{flex:1;min-width:0;min-height:0;position:relative;overflow-y:auto}.undo-redo-btn{border-radius:var(--app-radius-md);cursor:pointer;border:1px solid var(--app-border-subtle);color:var(--app-text-muted);white-space:nowrap;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.undo-redo-btn:hover:not(:disabled){border-color:var(--app-border-strong);color:var(--app-text)}.undo-redo-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.undo-redo-btn:disabled{opacity:.35;cursor:not-allowed}.topbar-theme-btn{border-radius:var(--app-radius-md);border:1px solid var(--app-border-subtle);width:28px;height:28px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.topbar-theme-btn:hover{border-color:color-mix(in srgb, var(--app-accent) 40%, transparent);background:var(--app-accent-surface);color:var(--app-accent)}.topbar-theme-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}@media (width<=768px){.app-command-bar{padding:0 12px}.app-command-bar__breadcrumb{display:none}.app-sidebar{z-index:10;position:fixed;top:44px;bottom:0;left:0;overflow:visible}.app-sidebar--collapsed{width:0}}.popover{position:relative}.popover__trigger{border:1px solid var(--app-border-subtle);background:var(--app-surface-soft);color:var(--app-text);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), transform var(--app-transition);border-radius:999px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.popover__trigger:hover{border-color:var(--app-border-strong);transform:translateY(-1px)}.popover__trigger:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}.popover__panel{z-index:30;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:color-mix(in srgb, var(--app-surface) 94%, transparent);width:min(360px,100vw - 40px);box-shadow:var(--app-shadow-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:16px;position:fixed}.popover__panel--left{left:0;right:auto}.popover__scrim{z-index:20;position:fixed;inset:0}.dashboard-appearance-editor{z-index:4}.dashboard-appearance-editor__trigger{color:var(--app-text-muted);padding:4px 10px;font-size:12px;font-weight:500}.dashboard-appearance-editor__trigger-copy{font-weight:600}.dashboard-appearance-editor__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-appearance-editor__label{color:var(--app-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.76rem;display:block}.dashboard-appearance-editor__swatch{border:1px solid var(--app-border-subtle);border-radius:999px;width:28px;height:28px;box-shadow:inset 0 0 0 1px #ffffff14}.dashboard-appearance-editor__swatches{gap:8px;display:inline-flex}.dashboard-appearance-editor__field{color:var(--app-text-muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-appearance-editor__field input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);cursor:pointer;background:0 0;width:52px;height:36px}.dashboard-appearance-editor__save{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);width:100%;color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);padding:11px 14px;font-weight:600}.dashboard-appearance-editor__save:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-accent-surface)}.dashboard-appearance-editor__save:disabled{opacity:.7;cursor:wait}.dashboard-appearance-editor__presets{flex-wrap:wrap;gap:6px;display:flex}.appearance-preset{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);background:0 0;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-size:.76rem;display:flex}.appearance-preset:hover{border-color:var(--app-border-strong);background:var(--app-surface-soft);color:var(--app-text)}.appearance-preset:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.appearance-preset--selected{border-color:var(--app-accent);background:var(--app-accent-surface);color:var(--app-text)}.appearance-preset__swatch{border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;width:16px;height:16px;display:inline-block}.appearance-preset__label{line-height:1}.dashboard-appearance-editor__contrast-warning{border-radius:var(--app-radius-md);color:#ca8a04;background:#facc1514;border:1px solid #facc1559;margin:0;padding:6px 10px;font-size:.76rem;line-height:1.4}.inline-error{color:#fca5a5;margin:0;font-size:.78rem}.dashboard-list{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;flex:1;padding:16px;overflow-y:auto}.dashboard-list__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dashboard-list__header-actions{align-items:center;gap:8px;display:inline-flex}.dashboard-list__eyebrow{display:none}.dashboard-list__add{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:24px;height:24px;color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.dashboard-list__add:hover{border-color:var(--app-border-strong)}.dashboard-list__add:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__header h2{font-size:var(--eyebrow-size);letter-spacing:.12em;text-transform:uppercase;color:var(--app-text-muted);margin:0;font-weight:700}.dashboard-list__header p{display:none}.dashboard-list__filter{gap:4px;margin:0 0 16px;display:grid}.dashboard-list__filter-label{color:var(--app-text-muted);font-size:.78rem}.dashboard-list__filter-wrapper{width:100%;position:relative}.dashboard-list__filter-input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;min-height:28px;color:var(--app-text);font-size:var(--text-xs);padding:5px 30px 5px 8px}.dashboard-list__filter-input:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__filter-clear{border-radius:var(--app-radius-sm);width:20px;height:20px;color:var(--app-text-muted);cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dashboard-list__filter-clear:hover{background:var(--app-surface-soft);color:var(--app-text)}.dashboard-list__filter-clear:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__create{gap:8px;margin:0 0 16px;display:grid}.dashboard-list__create-label{color:var(--app-text-muted);font-size:.78rem}.dashboard-list__create-input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;min-height:36px;color:var(--app-text);padding:8px 10px}.dashboard-list__create-input:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__create-submit{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);padding:6px 14px;font-size:.82rem;font-weight:600}.dashboard-list__create-submit:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-accent-surface)}.dashboard-list__create-submit:disabled{opacity:.65;cursor:not-allowed}.dashboard-list__items{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dashboard-list__item{align-items:stretch;gap:6px;display:flex}.dashboard-list__item--row{flex-direction:column;align-items:stretch;gap:4px}.dashboard-list__item-row{align-items:center;gap:6px;display:flex}.dashboard-list__item .dashboard-list__button,.dashboard-list__item-row .dashboard-list__button{flex:1;min-width:0}.dashboard-list__item-row .popover.actions-menu{flex-shrink:0;display:none}.dashboard-list__item-row:hover .popover.actions-menu,.dashboard-list__item-row:focus-within .popover.actions-menu{align-items:center;display:inline-flex}.dashboard-list__item-row:has(.actions-menu__trigger[aria-expanded=true]) .popover.actions-menu{align-items:center;display:inline-flex}.dashboard-list__item-row .actions-menu__trigger{width:24px;height:24px;color:var(--app-text-muted);background:0 0;border:none}.dashboard-list__item-row .actions-menu__trigger:hover{background:var(--app-surface-soft);color:var(--app-text);transform:none}.dashboard-list__item-row .actions-menu__trigger:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.dashboard-list__delete-confirm-row{justify-content:flex-end;padding:4px 0 0;display:flex}.dashboard-list__delete-confirm-actions{align-items:center;gap:4px;display:inline-flex}.dashboard-list__item--outside-filter{opacity:.6;position:relative}.dashboard-list__item--outside-filter:after{content:"active";border-radius:var(--app-radius-sm);background:var(--app-accent-surface);color:var(--app-accent-strong);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:50%;right:40px;transform:translateY(-50%)}.dashboard-list__delete-confirm{flex-shrink:0;align-self:center;align-items:center;gap:4px;display:inline-flex}.dashboard-list__delete-confirm-btn{border-radius:var(--app-radius-sm);color:#f87171;white-space:nowrap;cursor:pointer;height:24px;transition:background-color var(--app-transition), border-color var(--app-transition);background:0 0;border:1px solid #f8717199;padding:0 8px;font-size:.72rem;font-weight:600;line-height:1}.dashboard-list__delete-confirm-btn:hover{background:#f871711f;border-color:#f87171}.dashboard-list__delete-cancel-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);height:24px;color:var(--app-text-muted);white-space:nowrap;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;padding:0 8px;font-size:.72rem;font-weight:500;line-height:1}.dashboard-list__delete-cancel-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.dashboard-list__button{border-radius:var(--app-radius-md);width:100%;color:var(--app-text);text-align:left;font:inherit;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), transform var(--app-transition);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;text-decoration:none;display:flex}.dashboard-list__button:hover{background:var(--app-surface-soft);border-color:var(--app-border-subtle);text-decoration:none;transform:translateY(-1px)}.dashboard-list__button:focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}.dashboard-list__button[aria-pressed=true],.dashboard-list__button--active{background:var(--app-accent-surface);border-color:var(--app-border-strong)}.dashboard-list__status{color:var(--app-text-muted);margin:4px 0 0;font-size:.78rem}.dashboard-list__name{font-size:.8rem;font-weight:600}.dashboard-list__active-dot{background:var(--app-accent);width:6px;height:6px;box-shadow:0 0 6px var(--app-accent);border-radius:50%;flex-shrink:0}.dashboard-list__rename{flex:1;gap:4px;min-width:0;display:grid}.dashboard-list__rename-input{border:1px solid var(--app-accent);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;min-height:36px;color:var(--app-text);padding:6px 10px;font-size:.85rem}.dashboard-list__rename-input:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__import-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.dashboard-list__import-label{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);justify-content:center;align-items:center;padding:6px 14px;font-size:.82rem;font-weight:600;display:flex}.dashboard-list__import-label:hover{border-color:var(--app-border-strong);color:var(--app-text)}.dashboard-list__import-input:focus-visible+.dashboard-list__import-label{outline:2px solid var(--app-accent);outline-offset:2px}.dashboard-list__import-input:disabled+.dashboard-list__import-label{opacity:.65;cursor:not-allowed}.actions-menu{z-index:4}.actions-menu__trigger{border-radius:var(--app-radius-sm);width:30px;height:30px;padding:0}.actions-menu__dots{flex-direction:column;align-items:center;gap:3px;display:inline-flex}.actions-menu__dots span{background:currentColor;border-radius:999px;width:3px;height:3px}.popover__panel.actions-menu__panel{width:max-content;min-width:120px;margin:0;padding:4px;list-style:none}.actions-menu__item{border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);text-align:left;cursor:pointer;transition:background-color var(--app-transition);background:0 0;border:none;padding:6px 10px;font-size:.8rem;display:block}.actions-menu__item:hover:not(:disabled){background:var(--app-accent-surface);color:var(--app-accent-strong)}.actions-menu__item:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px}.actions-menu__item:disabled{opacity:.4;cursor:not-allowed}.actions-menu__item--danger{color:#f87171}.actions-menu__item--danger:hover:not(:disabled){background:#f871711a}.status-message{border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text-muted);margin:0 0 16px;padding:12px 14px}.status-message--error{color:#ffb4b4}.ui-empty-state{text-align:center;flex-direction:column;align-items:center;display:flex}.ui-empty-state--main{justify-content:center;gap:var(--space-5);padding:var(--space-10) var(--space-7);min-height:320px}.ui-empty-state--main .ui-empty-state__icon-wrap{border-radius:var(--app-radius-lg);border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);background:color-mix(in srgb, var(--app-accent) 8%, transparent);width:80px;height:80px;box-shadow:0 0 32px color-mix(in srgb, var(--app-accent) 14%, transparent), inset 0 1px 0 color-mix(in srgb, var(--app-accent) 18%, transparent);justify-content:center;align-items:center;display:flex}.ui-empty-state--main .ui-empty-state__icon{color:color-mix(in srgb, var(--app-accent) 80%, var(--app-text));font-size:2rem}.ui-empty-state--main .ui-empty-state__title{font-size:var(--text-lg);color:var(--app-text);letter-spacing:-.01em;margin:0;font-weight:600}.ui-empty-state--main .ui-empty-state__description{font-size:var(--text-sm);color:var(--app-text-muted);max-width:340px;margin:0;line-height:1.6}.ui-empty-state--sidebar{justify-content:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-4)}.ui-empty-state--sidebar .ui-empty-state__icon-wrap{border-radius:var(--app-radius-md);border:1px solid color-mix(in srgb, var(--app-accent) 20%, transparent);background:color-mix(in srgb, var(--app-accent) 7%, transparent);width:40px;height:40px;box-shadow:0 0 16px color-mix(in srgb, var(--app-accent) 10%, transparent);justify-content:center;align-items:center;display:flex}.ui-empty-state--sidebar .ui-empty-state__icon{color:color-mix(in srgb, var(--app-accent) 75%, var(--app-text));font-size:1rem}.ui-empty-state--sidebar .ui-empty-state__title{font-size:var(--text-sm);color:var(--app-text);margin:0;font-weight:600}.ui-empty-state--sidebar .ui-empty-state__description{font-size:var(--text-xs);color:var(--app-text-muted);margin:0;line-height:1.55}.ui-empty-state__cta{align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--app-accent) 45%, transparent);border-radius:var(--app-radius-sm);background:color-mix(in srgb, var(--app-accent) 10%, transparent);color:var(--app-accent);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);padding:6px 14px;font-family:inherit;font-weight:500;display:inline-flex}.ui-empty-state__cta:hover{border-color:color-mix(in srgb, var(--app-accent) 65%, transparent);background:color-mix(in srgb, var(--app-accent) 16%, transparent);color:var(--app-accent-strong)}.ui-empty-state__cta:focus-visible{box-shadow:0 0 0 3px var(--app-accent-surface);outline:none}.ui-empty-state--sidebar .ui-empty-state__cta{font-size:var(--text-xs);padding:5px 10px}.ui-empty-state__cta-icon{font-size:.8em}.ui-input,.ui-select__trigger,.ui-textarea{border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-sm);width:100%;min-height:30px;color:var(--app-text);transition:border-color var(--app-transition), box-shadow var(--app-transition), background-color var(--app-transition);background:0 0;align-items:center;gap:8px;padding:5px 10px;font-family:inherit;font-size:.8rem;line-height:1.4;display:flex}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--app-text-muted)}.ui-input:hover:not(:disabled),.ui-select__trigger:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:color-mix(in srgb, var(--app-accent) 40%, transparent)}.ui-input:focus-visible,.ui-select__trigger:focus-visible,.ui-textarea:focus-visible{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-surface);outline:none}.ui-input:disabled,.ui-select__trigger:disabled,.ui-textarea:disabled{opacity:.55;cursor:not-allowed}.ui-input--mono{font-family:var(--font-mono);font-size:.78rem}.ui-textarea{resize:vertical;align-items:flex-start;min-height:80px}.ui-select{width:100%;position:relative}.ui-select__trigger{cursor:pointer;text-align:left;justify-content:space-between}.ui-select__trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select__trigger-label--placeholder{color:var(--app-text-muted)}.ui-select__chevron{color:var(--app-text-muted);transition:transform var(--app-transition);flex-shrink:0}.ui-select__trigger[aria-expanded=true] .ui-select__chevron{transform:rotate(180deg)}.ui-select__panel{z-index:100;border:1px solid color-mix(in srgb, var(--app-accent) 25%, var(--app-border-subtle));border-radius:var(--app-radius-sm);background:var(--app-surface);min-width:160px;max-height:280px;color:var(--app-text);box-shadow:var(--app-shadow-card);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.ui-select__option{width:100%;color:var(--app-text);text-align:left;cursor:pointer;transition:background-color var(--app-transition);background:0 0;border:none;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:.8rem;display:block}.ui-select__option:hover,.ui-select__option--focused{background:var(--app-surface-soft)}.ui-select__option--selected{color:var(--app-accent);background:var(--app-accent-surface)}.ui-select__option--disabled{opacity:.5;cursor:not-allowed}.ui-select__scrim{z-index:99;cursor:default;background:0 0;border:none;position:fixed;inset:0}.panel-list{background:var(--dashboard-grid-background-override,transparent);min-height:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color var(--app-transition);border:none;border-radius:0;padding:26px;overflow:hidden}.panel-list__header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.panel-list__header-actions{justify-content:flex-end;align-items:center;width:100%;display:flex}.panel-list__header h2{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.panel-list__count{border:1px solid var(--app-border-subtle);background:var(--app-accent-surface);color:var(--app-accent-strong);border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700}.panel-list__add{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:24px;height:24px;color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.panel-list__add:hover:not(:disabled){border-color:var(--app-border-strong)}.panel-list__add:disabled{opacity:.6;cursor:not-allowed}.panel-list__add:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-list__panel-actions{align-items:center;gap:8px;display:inline-flex}.panel-list__zoom-widget{z-index:10;align-items:center;gap:4px;display:inline-flex;position:fixed;bottom:20px;right:20px}.panel-list__zoom-level{border:1px solid var(--app-border-subtle);background:var(--app-accent-surface);color:var(--app-accent-strong);text-align:center;border-radius:999px;min-width:36px;padding:3px 8px;font-size:.75rem;font-weight:700}.panel-list__zoom-button,.panel-list__zoom-reset{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);height:26px;color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);justify-content:center;align-items:center;padding:0 6px;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.panel-list__zoom-button{width:26px;padding:0}.panel-list__zoom-reset{padding:0 8px;font-size:.75rem;font-weight:600}.panel-list__zoom-button:hover:not(:disabled),.panel-list__zoom-reset:hover:not(:disabled){border-color:var(--app-border-strong)}.panel-list__zoom-button:disabled,.panel-list__zoom-reset:disabled{opacity:.6;cursor:not-allowed}.panel-list__zoom-button:focus-visible,.panel-list__zoom-reset:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-list__create{gap:8px;margin:0 0 18px;display:grid}.panel-list__create-label{color:var(--app-text-muted);font-size:.78rem}.panel-list__create-input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;min-height:28px;color:var(--app-text);padding:5px 8px;font-size:.75rem}.panel-list__create-input:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-list__type-selector{border:none;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.panel-list__type-option{border:1px solid var(--app-border-subtle);background:var(--app-surface-soft);color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);border-radius:999px;align-items:center;gap:0;padding:5px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.panel-list__type-option input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.panel-list__type-option:has(input:checked){border-color:var(--app-accent);background:var(--app-accent-surface);color:var(--app-accent-strong)}.panel-list__type-option:hover:not(:has(input:checked)){border-color:var(--app-border-strong);color:var(--app-text)}.panel-list__type-option:has(input:focus-visible){outline:2px solid var(--app-accent);outline-offset:2px}.panel-list__create-submit{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);min-height:36px;color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);font-weight:600}.panel-list__create-submit:hover:not(:disabled){border-color:var(--app-border-strong)}.panel-list__create-submit:disabled{opacity:.65;cursor:not-allowed}.panel-list__state{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);color:var(--app-text-muted);margin:0 0 18px;padding:16px 18px;line-height:1.6}.panel-list__empty-state{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:0 0 18px;padding:48px 24px;display:flex}.panel-list__empty-icon{opacity:.6;width:48px;height:48px;margin-bottom:4px}.panel-list__empty-heading{color:var(--app-text);margin:0;font-size:1rem;font-weight:600}.panel-list__empty-subtext{color:var(--app-text-muted);margin:0;font-size:.85rem;line-height:1.5}.panel-list__empty-cta{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);margin-top:6px;padding:8px 18px;font-size:.9rem;font-weight:600}.panel-list__empty-cta:hover:not(:disabled){border-color:var(--app-border-strong)}.panel-list__empty-cta:disabled{opacity:.6;cursor:not-allowed}.panel-list__empty-cta:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}@media (width<=768px){.panel-list{min-height:auto;padding:22px}.panel-list__header{flex-direction:column}}.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.panel-detail-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface-strong);width:min(540px,96vw);height:min(680px,90vh);color:var(--app-text);box-shadow:var(--app-shadow-soft);padding:0;overflow:hidden}.panel-detail-modal--view{width:min(1200px,96vw);height:min(88vh,900px)}.panel-detail-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.panel-detail-modal--view::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#00000061}.panel-detail-modal__inner{flex-direction:column;height:100%;display:flex}.panel-detail-modal__header{border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.panel-detail-modal__title{letter-spacing:-.01em;color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;font-weight:600;overflow:hidden}.panel-detail-modal__close{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:28px;height:28px;color:var(--app-text-muted);transition:border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:inline-flex}.panel-detail-modal__close:hover{border-color:var(--app-border-strong);background:var(--app-accent-surface);color:var(--app-text)}.panel-detail-modal__close:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-detail-modal__unsaved-badge{color:var(--app-text-muted);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-size:.72rem;font-weight:500}.panel-detail-modal__header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-detail-modal__edit-btn{border:1px solid var(--app-accent);border-radius:var(--app-radius-sm);background:var(--app-accent-surface);color:var(--app-accent-strong);transition:border-color var(--app-transition), background-color var(--app-transition);padding:5px 12px;font-size:.82rem;font-weight:600}.panel-detail-modal__edit-btn:hover{background:var(--app-accent);color:var(--app-surface-strong)}.panel-detail-modal__edit-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-detail-modal__view-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.panel-detail-modal__edit-section-heading{color:var(--app-text-muted);letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--app-border-subtle);margin:0;padding-top:16px;font-size:.78rem;font-weight:700}.panel-detail-modal__edit-section-heading:first-child{border-top:none;padding-top:0}.panel-detail-modal__content{flex:1;align-content:start;gap:14px;padding:20px;display:grid;overflow-y:auto}.panel-detail-modal__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.panel-detail-modal__field{color:var(--app-text-muted);gap:6px;font-size:.82rem;display:grid}.panel-detail-modal__field input[type=color]{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);cursor:pointer;background:0 0;width:100%;min-height:36px}.panel-detail-modal__slider{color:var(--app-text-muted);gap:6px;font-size:.82rem;display:grid}.panel-detail-modal__slider input[type=range]{width:100%}.panel-detail-modal__slider strong{color:var(--app-text);font-size:.82rem}.panel-detail-modal__data-section{gap:8px;display:grid}.panel-detail-modal__data-label{color:var(--app-text-muted);font-size:.82rem;font-weight:600}.panel-detail-modal__type-search{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;color:var(--app-text);box-sizing:border-box;padding:7px 10px;font-size:.85rem}.panel-detail-modal__type-search:focus{outline:2px solid var(--app-accent);outline-offset:1px}.panel-detail-modal__type-list{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);max-height:160px;margin:0;padding:0;list-style:none;overflow-y:auto}.panel-detail-modal__type-option{cursor:pointer;transition:background-color var(--app-transition);align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.panel-detail-modal__type-option:hover{background:var(--app-accent-surface)}.panel-detail-modal__type-option+.panel-detail-modal__type-option{border-top:1px solid var(--app-border-subtle)}.panel-detail-modal__selected-type{border:1px solid var(--app-accent);border-radius:var(--app-radius-sm);background:var(--app-accent-surface);align-items:center;gap:8px;padding:7px 10px;font-size:.85rem;display:flex}.panel-detail-modal__selected-type-name{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.panel-detail-modal__type-badge{border-radius:var(--app-radius-sm);background:var(--app-surface-soft);border:1px solid var(--app-border-subtle);color:var(--app-text-muted);white-space:nowrap;flex-shrink:0;padding:2px 6px;font-size:.72rem}.panel-detail-modal__type-count{color:var(--app-text-muted);flex-shrink:0;font-size:.75rem}.panel-detail-modal__type-clear{width:20px;height:20px;color:var(--app-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:1rem;line-height:1;display:inline-flex}.panel-detail-modal__type-clear:hover{color:var(--app-text)}.panel-detail-modal__type-hint{color:var(--app-text-muted);margin:0;font-size:.82rem}.panel-detail-modal__source-link{color:var(--app-accent-strong);font-size:.78rem;text-decoration:none}.panel-detail-modal__source-link:hover{text-decoration:underline}.panel-detail-modal__mapping-row{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.panel-detail-modal__mapping-label{color:var(--app-text-muted);font-size:.82rem}.panel-detail-modal__mapping-select{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;color:var(--app-text);padding:6px 8px;font-size:.82rem}.panel-detail-modal__discard-warning{background:var(--app-accent-surface);border-top:1px solid var(--app-border-subtle);color:var(--app-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:.82rem;display:flex}.panel-detail-modal__discard-actions{gap:8px;display:flex}.panel-detail-modal__discard-confirm,.panel-detail-modal__discard-cancel{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);transition:border-color var(--app-transition), background-color var(--app-transition);padding:5px 12px;font-size:.78rem;font-weight:600}.panel-detail-modal__discard-confirm:hover,.panel-detail-modal__discard-cancel:hover{border-color:var(--app-border-strong)}.panel-detail-modal__footer{border-top:1px solid var(--app-border-subtle);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.panel-detail-modal__btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);transition:border-color var(--app-transition), background-color var(--app-transition);padding:8px 18px;font-size:.85rem;font-weight:600}.panel-detail-modal__btn--cancel{color:var(--app-text-muted);background:0 0}.panel-detail-modal__btn--cancel:hover{border-color:var(--app-border-strong);color:var(--app-text)}.panel-detail-modal__btn--save{background:var(--app-accent-surface);color:var(--app-accent-strong);border-color:var(--app-accent)}.panel-detail-modal__btn--save:hover:not(:disabled){background:var(--app-accent);color:var(--app-surface-strong)}.panel-detail-modal__btn--save:disabled{opacity:.65;cursor:wait}.panel-detail-modal__btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-detail-modal__section-heading{color:var(--app-text);font-size:.9rem;font-weight:600}.panel-detail-modal__chart-section{gap:12px;display:grid}.panel-detail-modal__chart-subsection{gap:6px;display:grid}.panel-detail-modal__chart-label{color:var(--app-text-muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.panel-detail-modal__color-swatches{flex-wrap:wrap;gap:6px;display:flex}.panel-detail-modal__color-swatches input[type=color]{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);cursor:pointer;background:0 0;width:32px;height:28px;padding:1px}.panel-detail-modal__chart-position{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;color:var(--app-text);padding:6px 8px;font-size:.82rem}.panel-detail-modal__chart-text-input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);width:100%;color:var(--app-text);box-sizing:border-box;padding:6px 10px;font-size:.82rem}.panel-detail-modal__chart-text-input:focus{outline:2px solid var(--app-accent);outline-offset:1px}@media (width<=480px){.panel-detail-modal__row{grid-template-columns:1fr}}.panel-detail-modal__chart-type-section{border-top:1px solid var(--app-border-subtle);gap:8px;margin-top:2px;padding-top:14px;display:grid}.panel-detail-modal__chart-type-label{color:var(--app-text-muted);font-size:.82rem;font-weight:600}.panel-detail-modal__chart-type-selector{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.panel-detail-modal__chart-type-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.panel-detail-modal__chart-type-option{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition);color:var(--app-text-muted);flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:.78rem;display:flex}.panel-detail-modal__chart-type-option:hover{border-color:var(--app-border-strong);color:var(--app-text)}.panel-detail-modal__chart-type-option--active{border-color:var(--app-accent);background:var(--app-accent-surface);color:var(--app-accent-strong)}.panel-detail-modal__chart-type-icon{font-size:1.1rem;line-height:1}.panel-detail-modal__chart-type-name{font-size:.75rem;font-weight:500}.panel-detail-modal__chart-preview{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);height:160px;overflow:hidden}.panel-detail-modal__markdown-textarea{resize:vertical;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface);width:100%;color:var(--app-text);box-sizing:border-box;padding:8px;font-family:monospace;font-size:.8rem;line-height:1.5}.panel-detail-modal__markdown-textarea:focus{border-color:var(--color-accent,#5a7ff2);outline:none}.panel-content{flex:1;justify-content:center;align-items:center;min-height:0;padding:12px 16px;display:flex}.panel-content--metric{flex-direction:column;gap:4px}.panel-content__metric-value{color:var(--app-text);letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel-content__metric-label{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.panel-content--text{flex-direction:column;align-items:flex-start;gap:8px;overflow-y:auto}.panel-content__text-line{background:var(--app-border-subtle);border-radius:4px;height:10px;display:block}.panel-content__text-line--long{width:85%}.panel-content__text-line--short{width:60%}.panel-content--table{flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:0;padding:8px 12px;overflow-y:auto}.panel-content__table{border-collapse:collapse;width:100%;height:100%;min-height:min-content;font-size:.78rem}.panel-content__table th,.panel-content__table td{border:1px solid var(--app-border-subtle);height:18px;padding:4px 8px}.panel-content__table th{background:var(--app-accent-surface);width:50%}.panel-content--chart{padding:0}.panel-content--state{flex-direction:column;gap:8px}.panel-content--error{color:var(--app-danger,#e05252)}.panel-content__spinner{border:3px solid var(--app-border-subtle);border-top-color:var(--app-accent,#5b8dee);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite panel-spin;display:block}@keyframes panel-spin{to{transform:rotate(360deg)}}.panel-content__state-label{color:var(--app-text-muted);text-align:center;font-size:.78rem}.panel-content--error .panel-content__state-label{color:inherit}.panel-content__text-live{color:var(--app-text);white-space:pre-wrap;word-break:break-word;font-size:.9rem}.panel-content__metric-trend{color:var(--app-text-muted);letter-spacing:.02em;font-size:.7rem}.panel-content__metric-trend--up{color:var(--app-success,#3db87b)}.panel-content__metric-trend--down{color:var(--app-danger,#e05252)}.panel-content__metric-trend--flat{color:var(--app-text-muted)}@container panel-card (height<=179px){.panel-content__metric-value{font-size:1.25rem}.panel-content__metric-label{font-size:.65rem}.panel-content__metric-trend{font-size:.6rem}}@container panel-card (height>=280px){.panel-content__metric-value{font-size:2.5rem}.panel-content__metric-label{font-size:.85rem}.panel-content__metric-trend{font-size:.8rem}}@container panel-card (height<=179px){.panel-content__table th,.panel-content__table td{height:14px;padding:2px 6px}.panel-content__text-live{font-size:.78rem}}@container panel-card (height>=280px){.panel-content__text-live{font-size:1.1rem}}.divider-panel{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.divider-panel--horizontal{flex-direction:row}.divider-panel--vertical{flex-direction:column}.divider-panel__rule{border-radius:1px;flex-shrink:0}.image-panel{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.image-panel__img{width:100%;height:100%;display:block}.image-panel--empty{background:var(--panel-placeholder-bg,#8080801a);color:var(--panel-placeholder-text,#888);border-radius:4px;flex-direction:column;gap:8px}.image-panel__placeholder-icon{font-size:2rem;line-height:1}.image-panel__placeholder-text{text-align:center;font-size:.75rem}.markdown-panel{height:100%;color:var(--panel-text-override,inherit);padding:8px 12px;font-size:.875rem;line-height:1.6;overflow:auto}.markdown-panel p,.markdown-panel ul,.markdown-panel ol,.markdown-panel blockquote,.markdown-panel pre{margin:0 0 .75em}.markdown-panel p:last-child,.markdown-panel ul:last-child,.markdown-panel ol:last-child,.markdown-panel blockquote:last-child,.markdown-panel pre:last-child{margin-bottom:0}.markdown-panel h1,.markdown-panel h2,.markdown-panel h3,.markdown-panel h4,.markdown-panel h5,.markdown-panel h6{margin:0 0 .5em;font-weight:600;line-height:1.3}.markdown-panel code{background:#80808026;border-radius:3px;padding:.1em .3em;font-family:monospace;font-size:.85em}.markdown-panel pre code{background:0 0;padding:0}.markdown-panel pre{background:#8080801a;border-radius:4px;padding:.75em 1em;overflow-x:auto}.markdown-panel blockquote{opacity:.8;border-left:3px solid #80808066;margin-left:0;padding-left:1em}.markdown-panel a{color:var(--color-accent,#5a7ff2)}.markdown-panel .contains-task-list{padding-left:1.25em}.markdown-panel .task-list-item{list-style:none}.markdown-panel .task-list-item input[type=checkbox]{vertical-align:middle;margin-right:.4em}.markdown-panel--empty{justify-content:center;align-items:center;height:100%;display:flex}.markdown-panel__placeholder{opacity:.5;text-align:center;padding:1em;font-size:.8rem;font-style:italic}.ui-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface);color:var(--app-text);box-shadow:var(--app-shadow-soft);max-height:90vh;padding:0}.ui-modal--sm{width:min(420px,100vw - 32px)}.ui-modal--md{width:min(540px,100vw - 32px)}.ui-modal--lg{width:min(720px,100vw - 32px)}.ui-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.ui-modal__inner{flex-direction:column;max-height:90vh;display:flex}.ui-modal__header{border-bottom:1px solid var(--app-border-subtle);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.ui-modal__header-text{flex-direction:column;gap:3px;min-width:0;display:flex}.ui-modal__title{color:var(--app-text);margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.ui-modal__description{color:var(--app-text-muted);margin:0;font-size:.8rem;line-height:1.4}.ui-modal__close{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:28px;height:28px;color:var(--app-text-muted);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:inline-flex}.ui-modal__close:hover{background:var(--app-surface-soft);border-color:var(--app-border-strong);color:var(--app-text)}.ui-modal__close:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.ui-modal__body{flex:1;padding:18px;overflow-y:auto}.ui-modal__footer{border-top:1px solid var(--app-border-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.ui-modal-btn{border-radius:var(--app-radius-sm);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.ui-modal-btn:disabled{opacity:.55;cursor:not-allowed}.ui-modal-btn--secondary{border:1px solid var(--app-border-subtle);color:var(--app-text-muted);background:0 0}.ui-modal-btn--secondary:hover:not(:disabled){background:var(--app-surface-soft);border-color:var(--app-border-strong);color:var(--app-text)}.ui-modal-btn--primary{border:1px solid var(--app-accent);background:var(--app-accent-surface);color:var(--app-accent-strong)}.ui-modal-btn--primary:hover:not(:disabled){background:var(--app-accent);color:var(--app-bg)}.ui-modal-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}:root{--app-success:#22c55e;--app-warning:#f59e0b;--app-error:#ef4444;--app-info:var(--app-accent)}.toast-viewport{bottom:var(--space-6);right:var(--space-6);z-index:1000;gap:var(--space-2);width:340px;max-width:calc(100vw - var(--space-7));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--toast-intent-color) 30%, transparent);border-left:3px solid var(--toast-intent-color);border-radius:var(--app-radius-md);background:var(--app-surface);box-shadow:var(--app-shadow-card);color:var(--app-text);pointer-events:auto;animation:toast-slide-in var(--app-transition) both;font-size:.8rem;line-height:1.4;display:flex}.toast--exiting{animation:.2s forwards toast-fade-out}.toast--info{--toast-intent-color:var(--app-info)}.toast--success{--toast-intent-color:var(--app-success)}.toast--warning{--toast-intent-color:var(--app-warning)}.toast--error{--toast-intent-color:var(--app-error)}.toast__icon{color:var(--toast-intent-color);flex-shrink:0;margin-top:1px;font-size:.875rem}.toast__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.toast__message{margin:0}.toast__action{color:var(--toast-intent-color);cursor:pointer;text-underline-offset:2px;transition:opacity var(--app-transition);background:0 0;border:none;align-items:center;padding:0;font-family:inherit;font-size:.775rem;font-weight:600;text-decoration:underline;display:inline-flex}.toast__action:hover{opacity:.8}.toast__close{border-radius:var(--app-radius-sm);width:20px;height:20px;color:var(--app-text-muted);cursor:pointer;transition:color var(--app-transition), background-color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -4px 0 0;padding:0;font-size:.7rem;display:flex}.toast__close:hover{color:var(--app-text);background:color-mix(in srgb, var(--app-text) 10%, transparent)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.panel-legacy-warning{border-radius:var(--app-radius-sm);color:#92400e;background:#fbbf2426;border:1px solid #fbbf2466;align-items:flex-start;gap:8px;padding:8px 12px;font-size:.8rem;line-height:1.45;display:flex}[data-theme=dark] .panel-legacy-warning{color:#fcd34d;background:#fbbf241f;border-color:#fbbf244d}.panel-legacy-warning__icon{flex-shrink:0;font-size:.85rem;line-height:1.45}.panel-legacy-warning__text{flex:1;min-width:0}.panel-grid-shell,.panel-grid{min-height:min(72vh,960px)}.panel-grid>.react-grid-item{transition:transform .18s,width .18s,height .18s}.panel-grid>.react-grid-placeholder{border-radius:var(--app-radius-md);background:var(--app-accent-surface);opacity:.4}.panel-grid .react-resizable-handle:after{border-color:var(--app-accent-strong)}.panel-grid-card{cursor:pointer;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--panel-surface-override,var(--app-surface));min-width:0;height:100%;min-height:0;color:var(--panel-text-override,var(--app-text));box-shadow:var(--app-shadow-card);transition:background-color var(--app-transition), color var(--app-transition), border-color var(--app-transition);border-top:2px solid #0000;flex-direction:column;justify-content:space-between;gap:14px;padding:clamp(14px,2vw,22px);display:flex;position:relative;overflow:hidden;container:panel-card/size}.panel-grid-card:hover{border-top-color:var(--app-accent)}.panel-grid-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-grid-card__actions{align-items:center;gap:8px;display:inline-flex}.panel-grid-card__actions .actions-menu__trigger{border-radius:999px;width:24px;height:24px}.panel-grid-card__actions .actions-menu__dots{flex-direction:row;gap:3px}.panel-grid-card__title{letter-spacing:-.01em;color:inherit;margin:0;font-size:clamp(1rem,1.2vw,1.2rem);font-weight:600;line-height:1.3}.panel-grid-card__handle{border:1px solid var(--app-border-subtle);background:var(--app-surface-soft);width:24px;height:24px;color:var(--app-text-muted);cursor:grab;touch-action:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:3px;display:inline-flex}.panel-grid-card__handle span{background:currentColor;border-radius:999px;width:4px;height:4px}.panel-grid-card__handle:active{cursor:grabbing}.panel-grid-card__delete-confirm-btn{border-radius:var(--app-radius-sm);color:#f87171;white-space:nowrap;cursor:pointer;height:26px;transition:background-color var(--app-transition), border-color var(--app-transition);background:0 0;border:1px solid #f8717199;padding:0 10px;font-size:.75rem;font-weight:600;line-height:1}.panel-grid-card__delete-confirm-btn:hover{background:#f871711f;border-color:#f87171}.panel-grid-card__delete-cancel-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:26px;height:26px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.panel-grid-card__delete-cancel-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.panel-grid-card__copy{color:color-mix(in srgb, currentColor 74%, transparent);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:clamp(.82rem,1vw,.94rem);line-height:1.5;display:-webkit-box;overflow:hidden}.panel-grid-card__footer{color:color-mix(in srgb, currentColor 80%, var(--app-accent-strong));letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:12px;font-size:.72rem;font-weight:700;display:flex}.panel-grid-card__type-badge{border:1px solid var(--app-border-subtle);background:var(--app-accent-surface);color:var(--app-accent-strong);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:700}.panel-grid-card__title-area{flex:1;min-width:0}.panel-grid-card__freshness{margin:var(--space-1) 0 0;color:var(--app-text-muted);font-size:var(--text-xs);line-height:1.4}.panel-grid-card__title-input{border:none;border-bottom:1px solid var(--app-accent);width:100%;color:var(--panel-text,var(--app-text));background:0 0;padding:2px 0;font-size:.9rem;font-weight:700}.panel-grid-card__title-input:focus-visible{border-bottom-color:var(--app-accent-strong);outline:none}@media (width<=768px){.panel-grid-shell,.panel-grid{min-height:540px}.panel-grid-card{gap:12px}.panel-grid-card__footer{flex-direction:column}}@container panel-card (width<=219px){.panel-grid-card{gap:8px;padding:10px}.panel-grid-card__title{font-size:.85rem}}@container panel-card (height<=179px){.panel-grid-card{gap:8px;padding:10px}.panel-grid-card__title{font-size:.85rem}}@container panel-card (width>=420px) and (height>=280px){.panel-grid-card{padding:20px}.panel-grid-card__title{font-size:1.1rem}}.panel-creation-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft);width:100%;max-width:600px;color:var(--app-text);padding:0}.panel-creation-modal--wide{max-width:840px}.panel-creation-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.panel-creation-modal__inner{flex-direction:column;gap:18px;padding:0;display:flex}.panel-creation-modal__header{border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-creation-modal__title{color:var(--app-text);margin:0;font-size:.95rem;font-weight:600}.panel-creation-modal__close{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:28px;height:28px;color:var(--app-text-muted);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:inline-flex}.panel-creation-modal__discard-confirm{border-radius:var(--app-radius-sm);color:var(--app-text);background:#f8717114;border:1px solid #f8717166;justify-content:space-between;align-items:center;gap:12px;margin-top:-.75rem;padding:10px 12px;display:flex}.panel-creation-modal__discard-confirm-text{color:var(--app-text);font-size:.78rem}.panel-creation-modal__discard-confirm-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.panel-creation-modal__discard-confirm-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);height:26px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;padding:0 10px;font-size:.74rem;font-weight:500;line-height:1}.panel-creation-modal__discard-confirm-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.panel-creation-modal__discard-confirm-btn--danger{color:#f87171;border-color:#f8717199}.panel-creation-modal__discard-confirm-btn--danger:hover{color:#f87171;background:#f871711f;border-color:#f87171}.panel-creation-modal__close:hover{background:var(--app-surface-soft);border-color:var(--app-border-strong);color:var(--app-text)}.panel-creation-modal__close:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-creation-modal__type-grid,.panel-creation-modal__template-step,.panel-creation-modal__datatype-step,.panel-creation-modal__name-entry{padding:18px}.panel-creation-modal__type-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.panel-creation-modal__type-card{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text);cursor:pointer;transition:border-color var(--app-transition), background var(--app-transition);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem .5rem;font-size:.875rem;display:flex}.panel-creation-modal__type-card:hover{border-color:var(--app-accent);background:var(--app-surface-strong)}.panel-creation-modal__type-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-strong);outline:none}.panel-creation-modal__type-icon{font-size:1.5rem;line-height:1}.panel-creation-modal__type-label{font-size:.8125rem;font-weight:500}.panel-creation-modal__type-description{color:var(--app-text-muted);text-align:center;font-size:.75rem;line-height:1.3}.panel-creation-modal__form{flex-direction:column;gap:1.25rem;display:flex}.panel-creation-modal__field{flex-direction:column;gap:.375rem;display:flex}.panel-creation-modal__label{color:var(--app-text-muted);font-size:.875rem;font-weight:500}.panel-creation-modal__input{background:var(--app-surface);border:1px solid var(--app-border-strong);color:var(--app-text);transition:border-color var(--app-transition);border-radius:10px;outline:none;padding:.5625rem .875rem;font-size:.9375rem}.panel-creation-modal__input:focus{border-color:var(--app-accent)}select.panel-creation-modal__input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;padding-right:2rem}.panel-creation-modal__actions{justify-content:flex-end;gap:.75rem;display:flex}.panel-creation-modal__btn{cursor:pointer;transition:background var(--app-transition), color var(--app-transition), border-color var(--app-transition);border-radius:8px;padding:.5rem 1.125rem;font-size:.9375rem;font-weight:500}.panel-creation-modal__btn--secondary{border:1px solid var(--app-border-strong);color:var(--app-text-muted);background:0 0}.panel-creation-modal__btn--secondary:hover{color:var(--app-text);border-color:var(--app-text-muted)}.panel-creation-modal__btn--primary{background:var(--app-accent);color:#fff;border:none}.panel-creation-modal__btn--primary:hover:not(:disabled){opacity:.9}.panel-creation-modal__btn--primary:disabled{opacity:.45;cursor:not-allowed}.panel-creation-modal__name-entry{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.panel-creation-preview__frame{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface);height:200px;box-shadow:var(--app-shadow-card);flex-direction:column;gap:10px;padding:14px;display:flex;overflow:hidden}.panel-creation-preview__header{flex-shrink:0}.panel-creation-preview__title{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;display:block;overflow:hidden}.panel-creation-preview__title--placeholder{color:var(--app-text-muted);font-style:italic}.panel-creation-preview__content{flex:1;min-height:0;overflow:hidden}@media (width<=600px){.panel-creation-modal__name-entry{grid-template-columns:1fr}.panel-creation-preview{display:none}}.panel-creation-modal__template-step{flex-direction:column;gap:1.25rem;display:flex}.panel-creation-modal__template-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.panel-creation-modal__template-card{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text);cursor:pointer;text-align:left;transition:border-color var(--app-transition), background var(--app-transition);flex-direction:column;align-items:flex-start;gap:.375rem;padding:.875rem 1rem;display:flex}.panel-creation-modal__template-card:hover{border-color:var(--app-accent);background:var(--app-surface-strong)}.panel-creation-modal__template-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-strong);outline:none}.panel-creation-modal__template-card--blank,.panel-creation-modal__template-card--blank:hover{border-style:dashed}.panel-creation-modal__template-label{font-size:.875rem;font-weight:500}.panel-creation-modal__template-description{color:var(--app-text-muted);font-size:.75rem;line-height:1.3}.panel-creation-modal__datatype-step{flex-direction:column;gap:1.25rem;display:flex}.panel-creation-modal__datatype-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.panel-creation-modal__datatype-card{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text);cursor:pointer;text-align:left;transition:border-color var(--app-transition), background var(--app-transition);flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.75rem 1rem;display:flex}.panel-creation-modal__datatype-card:hover{border-color:var(--app-accent);background:var(--app-surface-strong)}.panel-creation-modal__datatype-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-strong);outline:none}.panel-creation-modal__datatype-card--selected{border-color:var(--app-accent);background:var(--app-surface-strong)}.panel-creation-modal__datatype-name{font-size:.875rem;font-weight:500}.panel-creation-modal__datatype-empty{text-align:center;color:var(--app-text-muted);padding:1.5rem;font-size:.875rem;line-height:1.6}.panel-creation-modal__datatype-empty__link{color:var(--app-text-muted);transition:color var(--app-transition);text-decoration:underline}.panel-creation-modal__datatype-empty__link:hover{color:var(--app-text)}.panel-creation-modal__datatype-loading{text-align:center;color:var(--app-text-muted);padding:1.5rem;font-size:.875rem}.save-state-indicator{align-items:center;gap:6px;display:flex;position:relative}.save-state-indicator__label{color:var(--app-text-muted);white-space:nowrap;font-size:12px}.save-state-indicator__save-now{opacity:0;pointer-events:none;transition:opacity .15s ease, border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition)}.save-state-indicator:hover .save-state-indicator__save-now{opacity:1;pointer-events:auto}.run-history-modal__list{flex-direction:column;gap:6px;display:flex}.run-history-modal__empty{text-align:center;color:var(--app-text-muted);margin:16px 0;font-size:.82rem}.run-history-modal__row{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);padding:10px 12px}.run-history-modal__row-summary{color:var(--app-text);align-items:center;gap:12px;font-size:.78rem;display:flex}.run-history-modal__row-time{color:var(--app-text-muted);flex-shrink:0}.run-history-modal__row-duration,.run-history-modal__row-count{color:var(--app-text-muted);font-variant-numeric:tabular-nums}.run-history-modal__status{border:1px solid var(--app-border-subtle);text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600}.run-history-modal__status--succeeded{color:#10b981;background:#10b98114;border-color:#10b98166}.run-history-modal__status--failed{color:#ef4444;background:#ef444414;border-color:#ef444466}.run-history-modal__status--running,.run-history-modal__status--queued{color:var(--app-accent);border-color:var(--app-border-strong);background:var(--app-accent-surface)}.run-history-modal__status--dry_run{color:var(--app-text-muted);border-style:dashed}.run-history-modal__row-toggle{border-radius:var(--app-radius-sm);border:1px solid var(--app-border-subtle);height:22px;color:var(--app-text-muted);cursor:pointer;background:0 0;margin-left:auto;padding:0 8px;font-size:.72rem}.run-history-modal__row-error{border-radius:var(--app-radius-sm);color:#ef4444;white-space:pre-wrap;word-break:break-all;background:#ef44440d;margin:8px 0 0;padding:10px;font-size:.72rem}.preview-table__wrapper{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface);max-height:320px;margin-top:12px;overflow:auto}.preview-table{border-collapse:collapse;width:100%;font-size:.78rem}.preview-table thead th{background:var(--app-surface-soft);color:var(--app-text-muted);text-align:left;border-bottom:1px solid var(--app-border-subtle);white-space:nowrap;padding:6px 10px;font-weight:600;position:sticky;top:0}.preview-table tbody td{border-bottom:1px solid var(--app-border-subtle);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;max-width:240px;padding:5px 10px;overflow:hidden}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table__empty{color:var(--app-text-muted);margin:12px 0 0;font-size:.78rem}.pipeline-share-dialog{gap:var(--space-5);flex-direction:column;display:flex}.pipeline-share-dialog__section{gap:var(--space-3);flex-direction:column;display:flex}.pipeline-share-dialog__section-title{color:var(--app-text-muted);font-size:var(--text-xs);margin:0}.pipeline-share-dialog__grant-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pipeline-share-dialog__grant-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--app-bg-secondary);border-radius:var(--app-radius-md);display:flex}.pipeline-share-dialog__grantee{font-size:var(--text-sm);color:var(--app-text);word-break:break-all;flex:1}.pipeline-share-dialog__role{font-size:var(--text-xs);color:var(--app-text-muted);text-transform:capitalize}.pipeline-share-dialog__revoke-btn{font-size:var(--text-xs);color:var(--app-error);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--app-radius-sm);background:0 0;border:none}.pipeline-share-dialog__revoke-btn:hover{background:var(--app-bg-accent)}.pipeline-share-dialog__empty,.pipeline-share-dialog__loading{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.pipeline-share-dialog__error{font-size:var(--text-sm);color:var(--app-error);margin:0}.pipeline-share-dialog__add-form{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pipeline-share-dialog__input{min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:var(--app-bg);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text);flex:1}.pipeline-share-dialog__input:focus{outline:2px solid var(--app-accent);outline-offset:1px}.pipeline-share-dialog__add-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);background:var(--app-accent);color:var(--app-surface);border-radius:var(--app-radius-md);cursor:pointer;white-space:nowrap;border:none}.pipeline-share-dialog__add-btn:hover:not(:disabled){background:var(--app-accent-strong)}.pipeline-share-dialog__add-btn:disabled{opacity:.5;cursor:not-allowed}.pipeline-share-dialog__close-btn{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);background:var(--app-bg-secondary);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text);cursor:pointer}.pipeline-share-dialog__close-btn:hover{background:var(--app-bg-accent)}.pipeline-detail-page{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.pipeline-detail-page__back-nav{color:var(--app-text-muted);background:var(--app-surface);border-bottom:1px solid var(--app-border-subtle);order:-1;align-items:center;gap:6px;padding:8px 20px;font-size:.75rem;display:flex}.pipeline-detail-page__back-link{color:var(--app-accent);font-weight:500;text-decoration:none}.pipeline-detail-page__back-link:hover{text-decoration:underline}.pipeline-detail-page__back-sep{color:var(--app-text-muted)}.pipeline-detail-page__back-current{color:var(--app-text)}.pipeline-detail-page__meta-bar{color:var(--app-text-muted);background:var(--app-surface-soft);border-bottom:1px solid var(--app-border-subtle);order:0;align-items:center;gap:16px;padding:6px 20px;font-size:.75rem;display:flex}.pipeline-detail-page__meta-bar-item{align-items:center;gap:4px;display:flex}.pipeline-detail-page__meta-bar-label{color:var(--app-text-muted);font-weight:500}.pipeline-detail-page__meta-bar-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:10px;align-items:center;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.pipeline-detail-page__meta-bar-badge--succeeded{color:#16a34a;background:#22c55e26}.pipeline-detail-page__meta-bar-badge--failed{color:#dc2626;background:#ef444426}.pipeline-detail-page__source-bar{background:var(--app-surface-soft);border-bottom:1px solid var(--app-border-subtle);flex-shrink:0;align-items:flex-start;gap:12px;padding:10px 20px;display:flex}.pipeline-detail-page__source-bar-label{letter-spacing:.12em;text-transform:uppercase;color:var(--app-text-muted);white-space:nowrap;padding-top:6px;font-size:.65rem;font-weight:700}.pipeline-detail-page__source-chips{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.pipeline-detail-page__source-bar-loading{color:var(--app-text-muted);font-size:.75rem}.pipeline-detail-page__source-chip-wrapper{flex-direction:column;gap:6px;display:flex}.pipeline-detail-page__source-chip{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);display:flex;overflow:hidden}.pipeline-detail-page__source-chip--active{border-color:var(--app-accent-mid);background:var(--app-accent-surface)}.pipeline-detail-page__source-chip-toggle{border:none;border-right:1px solid var(--app-border-subtle);color:var(--app-text);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:flex}.pipeline-detail-page__source-chip--active .pipeline-detail-page__source-chip-toggle{color:var(--app-accent);border-right-color:var(--app-accent-mid)}.pipeline-detail-page__source-chip-name{font-weight:500}.pipeline-detail-page__source-chip-count{color:var(--app-text-muted);font-size:.7rem;font-family:var(--font-mono)}.pipeline-detail-page__source-chip-preview-btn{color:var(--app-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.82rem}.pipeline-detail-page__source-chip-preview-btn:hover{color:var(--app-accent)}.pipeline-detail-page__source-preview{border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-sm);max-width:300px;overflow:auto}.pipeline-detail-page__source-preview-table{border-collapse:collapse;font-family:var(--font-mono);width:100%;font-size:.72rem}.pipeline-detail-page__source-preview-th{text-align:left;color:var(--app-accent);border-bottom:1px solid var(--app-accent-mid);white-space:nowrap;padding:3px 8px}.pipeline-detail-page__source-preview-td{color:var(--app-text);white-space:nowrap;padding:3px 8px}.pipeline-detail-page__connect-source-btn{border:1px dashed var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);cursor:pointer;background:0 0;padding:4px 10px;font-size:.8rem}.pipeline-detail-page__connect-source-btn:hover{border-color:var(--app-accent-mid);color:var(--app-accent)}.pipeline-detail-page__river{flex:1;padding:16px 20px;overflow-y:auto}.pipeline-detail-page__river-inner{flex-direction:column;gap:0;max-width:800px;margin:0 auto;display:flex}.pipeline-detail-page__ribbon{width:100%;height:50px;display:block}.pipeline-detail-page__step-section{flex-direction:column;display:flex}.pipeline-detail-page__empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex;position:relative}.pipeline-detail-page__empty-state-text{color:var(--app-text-muted);margin:0;font-size:.82rem}.pipeline-detail-page__add-step-btn{border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-md);background:var(--app-accent-surface);color:var(--app-accent);cursor:pointer;padding:8px 18px;font-size:.85rem;font-weight:500}.pipeline-detail-page__add-step-btn:hover{background:var(--app-accent-dim);border-color:var(--app-accent)}.pipeline-detail-page__add-step-row{justify-content:center;padding:12px 0;display:flex;position:relative}.pipeline-detail-page__add-step-dashed-btn{border:1px dashed var(--app-accent-mid);border-radius:var(--app-radius-md);color:var(--app-accent);cursor:pointer;background:0 0;padding:8px 20px;font-size:.82rem}.pipeline-detail-page__add-step-dashed-btn:hover{background:var(--app-accent-surface);border-style:solid}.pipeline-detail-page__op-dropdown{z-index:50;background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);min-width:200px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.pipeline-detail-page__op-dropdown-item{border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;display:flex}.pipeline-detail-page__op-dropdown-item:hover{background:var(--app-accent-surface);color:var(--app-accent)}.pipeline-detail-page__step-card{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);overflow:hidden}.pipeline-detail-page__step-card--expanded{border-color:var(--app-accent-mid);background:var(--app-accent-surface)}.pipeline-detail-page__step-card-header{cursor:pointer;text-align:left;width:100%;color:var(--app-text);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.pipeline-detail-page__step-card-icon{flex-shrink:0;font-size:.9rem}.pipeline-detail-page__step-card-label{flex:1;font-size:.85rem;font-weight:500}.pipeline-detail-page__step-card-count{font-size:.72rem;font-family:var(--font-mono);color:var(--app-text-muted)}.pipeline-detail-page__step-card-chevron{color:var(--app-text-muted);font-size:.75rem;transition:transform .15s}.pipeline-detail-page__step-card-chevron--open{transform:rotate(180deg)}.pipeline-detail-page__step-card-body{border-top:1px solid var(--app-accent-mid);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pipeline-detail-page__step-card-desc{color:var(--app-text-muted);margin:0;font-size:.8rem}.pipeline-detail-page__step-card-diff{flex-wrap:wrap;gap:6px;display:flex}.pipeline-detail-page__step-card-diff-chip{font-family:var(--font-mono);border-radius:var(--app-radius-sm);padding:2px 7px;font-size:.72rem}.pipeline-detail-page__step-card-diff-chip--added{background:var(--app-accent-surface);color:var(--app-accent);border:1px solid var(--app-accent-mid)}.pipeline-detail-page__step-card-diff-chip--removed{color:#f87171;background:#f871711a;border:1px solid #f871714d;text-decoration:line-through}.pipeline-detail-page__step-card-diff-chip--changed{background:var(--app-accent-dim);color:var(--app-accent-strong);border:1px solid var(--app-accent-mid)}.pipeline-detail-page__step-card-actions{gap:8px;display:flex}.pipeline-detail-page__step-card-preview-btn{border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-sm);color:var(--app-accent);cursor:pointer;background:0 0;padding:4px 10px;font-size:.75rem}.pipeline-detail-page__step-card-preview-btn:hover{background:var(--app-accent-surface)}.pipeline-detail-page__step-card-remove-btn{border-radius:var(--app-radius-sm);color:#f87171;cursor:pointer;background:0 0;border:1px solid #f871714d;padding:4px 10px;font-size:.75rem}.pipeline-detail-page__step-card-remove-btn:hover{background:#f871711a}.pipeline-detail-page__step-preview{border-top:1px solid var(--app-border-subtle);margin-top:12px;padding-top:10px}.pipeline-detail-page__step-preview-loading,.pipeline-detail-page__step-preview-error,.pipeline-detail-page__step-preview-empty{color:var(--app-text-muted);text-align:center;padding:10px 0;font-size:.8rem}.pipeline-detail-page__step-preview-error{color:#f87171}.pipeline-detail-page__step-preview-table-wrapper{overflow-x:auto}.pipeline-detail-page__step-preview-table{border-collapse:collapse;font-family:var(--font-mono);width:100%;font-size:.75rem}.pipeline-detail-page__step-preview-th{text-align:left;background:var(--app-surface-soft);color:var(--app-accent);border-bottom:1px solid var(--app-border-subtle);white-space:nowrap;padding:6px 8px;font-weight:600}.pipeline-detail-page__step-preview-td{color:var(--app-text);border-bottom:1px solid var(--app-border-subtle);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:5px 8px;overflow:hidden}.pipeline-detail-page__step-preview-table tbody tr:hover{background:var(--app-surface-soft)}.pipeline-detail-page__footer{border-top:1.5px solid var(--app-accent-mid);background:var(--app-accent-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.pipeline-detail-page__footer-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pipeline-detail-page__footer-output-label{letter-spacing:.12em;text-transform:uppercase;color:var(--app-accent);font-size:.65rem;font-weight:700}.pipeline-detail-page__footer-output-name{border:none;border-bottom:1px dashed var(--app-accent-mid);color:var(--app-text);cursor:pointer;background:0 0;padding:1px 4px;font-size:.85rem;font-weight:500}.pipeline-detail-page__footer-output-name:hover{border-bottom-color:var(--app-accent)}.pipeline-detail-page__footer-output-input{background:var(--app-surface);border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-sm);color:var(--app-text);outline:none;padding:2px 6px;font-size:.85rem}.pipeline-detail-page__footer-output-input:focus{border-color:var(--app-accent)}.pipeline-detail-page__footer-schema{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.pipeline-detail-page__footer-schema-chip{font-family:var(--font-mono);border-radius:var(--app-radius-sm);background:var(--app-accent-dim);color:var(--app-accent);border:1px solid var(--app-accent-mid);padding:1px 6px;font-size:.7rem}.pipeline-detail-page__footer-inferred{color:var(--app-text-muted);font-size:.7rem}.pipeline-detail-page__footer-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.pipeline-detail-page__footer-stats{font-size:.75rem;font-family:var(--font-mono);color:var(--app-text-muted)}.pipeline-detail-page__preview-btn,.pipeline-detail-page__history-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;display:inline-flex}.pipeline-detail-page__preview-btn:hover,.pipeline-detail-page__history-btn:hover{background:var(--app-surface-soft);border-color:var(--app-border-strong);color:var(--app-text)}.pipeline-detail-page input[type=checkbox]{accent-color:var(--app-accent)}.pipeline-detail-page__compute-config,.pipeline-detail-page__limit-config{flex-direction:column;gap:10px;display:flex}.pipeline-detail-page__compute-field,.pipeline-detail-page__limit-config-row{flex-direction:column;gap:4px;display:flex}.pipeline-detail-page__compute-label,.pipeline-detail-page__limit-config-label{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.pipeline-detail-page__compute-input,.pipeline-detail-page__limit-config-input{width:100%}.pipeline-detail-page__compute-fields-hint{color:var(--app-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.pipeline-detail-page__compute-fields-hint-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:inline-flex}.pipeline-detail-page__compute-fields-hint-item{background:var(--app-surface-soft);color:var(--app-text);font-family:var(--font-mono);border-radius:4px;padding:1px 6px;font-size:.7rem}.pipeline-detail-page__run-btn{border-radius:var(--app-radius-md);background:var(--app-accent);color:#fff;cursor:pointer;box-shadow:0 0 16px var(--app-border-strong);transition:box-shadow var(--app-transition), background var(--app-transition);border:none;padding:6px 16px;font-size:.82rem;font-weight:600}.pipeline-detail-page__run-btn:hover{background:var(--app-accent-strong);box-shadow:0 0 24px var(--app-accent-mid)}.pipeline-detail-page__run-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pipeline-detail-page__run-status{border-radius:var(--app-radius-md);align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.pipeline-detail-page__run-status--queued{background:var(--app-surface-raised,#94a3b826);color:var(--app-text-muted)}.pipeline-detail-page__run-status--queued:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:.55em;height:.55em;animation:1.2s ease-in-out infinite pipeline-run-pulse;display:inline-block}.pipeline-detail-page__run-status--running{color:#60a5fa;background:#3b82f61f}.pipeline-detail-page__run-status--running:before{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:.6em;height:.6em;animation:.8s linear infinite pipeline-run-spin;display:inline-block}.pipeline-detail-page__run-status--succeeded{color:#4ade80;background:#22c55e1f}.pipeline-detail-page__run-status--failed{color:#f87171;background:#ef44441f}.pipeline-detail-page__run-status--dry_run{background:var(--app-surface-raised,#94a3b826);color:var(--app-text-muted);border:1px dashed var(--app-border-subtle)}.pipeline-detail-page__loading{height:100%;min-height:120px;color:var(--app-text-muted);justify-content:center;align-items:center;font-size:.82rem;display:flex}.pipeline-detail-page__error{color:#f87171;justify-content:center;align-items:center;padding:24px;font-size:.82rem;display:flex}.pipeline-detail-page__save-btn,.pipeline-detail-page__cancel-btn{border-radius:var(--app-radius-md);cursor:pointer;border:none;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .15s}.pipeline-detail-page__save-btn{background:var(--app-accent);color:#fff}.pipeline-detail-page__save-btn:hover:not(:disabled){background:var(--app-accent-strong)}.pipeline-detail-page__save-btn:disabled{opacity:.5;cursor:not-allowed}.pipeline-detail-page__cancel-btn{background:var(--app-surface-raised,#94a3b81f);color:var(--app-text-muted)}.pipeline-detail-page__cancel-btn:hover{background:var(--app-surface-raised,#94a3b833);color:var(--app-text-primary)}.pipeline-detail-page__cancel-confirm{align-items:center;gap:6px;display:inline-flex}.pipeline-detail-page__cancel-confirm-text{color:var(--app-text-muted);margin-right:2px;font-size:.78rem}.pipeline-detail-page__cancel-confirm-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);height:28px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;padding:0 12px;font-size:.78rem;font-weight:500;line-height:1}.pipeline-detail-page__cancel-confirm-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.pipeline-detail-page__cancel-confirm-btn--danger{color:#f87171;border-color:#f8717199}.pipeline-detail-page__cancel-confirm-btn--danger:hover{color:#f87171;background:#f871711f;border-color:#f87171}.pipeline-detail-page__dry-run-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);cursor:pointer;transition:background var(--app-transition);background:0 0;padding:6px 14px;font-size:.82rem;font-weight:500}.pipeline-detail-page__dry-run-btn:hover{background:var(--app-surface-soft);color:var(--app-text)}.pipeline-detail-page__dry-run-btn:disabled{opacity:.5;cursor:not-allowed}.pipeline-detail-page__update-error{color:#f87171;margin-right:8px;font-size:.78rem}@keyframes pipeline-run-spin{to{transform:rotate(360deg)}}@keyframes pipeline-run-pulse{0%,to{opacity:1}50%{opacity:.25}}.pipeline-detail-page__select-fields-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.pipeline-detail-page__select-fields-item{display:flex}.pipeline-detail-page__select-fields-label{border-radius:var(--app-radius-sm);cursor:pointer;color:var(--app-text);-webkit-user-select:none;user-select:none;transition:background-color var(--app-transition);align-items:center;gap:8px;padding:4px 6px;font-size:.8rem;display:inline-flex}.pipeline-detail-page__select-fields-label:hover{background:var(--app-surface-soft)}.pipeline-detail-page__select-fields-checkbox{cursor:pointer;width:14px;height:14px;accent-color:var(--app-accent);margin:0}.pipeline-detail-page__filter-config{flex-direction:column;gap:10px;display:flex}.pipeline-detail-page__filter-combinator{color:var(--app-text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.pipeline-detail-page__filter-combinator-label{color:var(--app-text-muted);font-size:.78rem}.pipeline-detail-page__filter-combinator-btn{border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-sm);height:24px;color:var(--app-text-muted);letter-spacing:.04em;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;padding:0 8px;font-size:.72rem;font-weight:600}.pipeline-detail-page__filter-combinator-btn:hover{border-color:color-mix(in srgb, var(--app-accent) 40%, transparent);color:var(--app-text)}.pipeline-detail-page__filter-combinator-btn--active{background:var(--app-accent-surface);border-color:var(--app-accent);color:var(--app-accent)}.pipeline-detail-page__filter-conditions{flex-direction:column;gap:8px;display:flex}.pipeline-detail-page__filter-condition-row{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.2fr) auto;align-items:center;gap:6px;display:grid}.pipeline-detail-page__filter-remove-btn{border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-sm);width:26px;height:26px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.pipeline-detail-page__filter-remove-btn:hover{color:#f87171;border-color:#f87171}.pipeline-detail-page__filter-add-btn{border:1px dashed color-mix(in srgb, var(--app-accent) 35%, transparent);border-radius:var(--app-radius-sm);color:var(--app-accent);cursor:pointer;transition:background-color var(--app-transition), border-style var(--app-transition);background:0 0;align-self:flex-start;padding:5px 10px;font-size:.78rem}.pipeline-detail-page__filter-add-btn:hover{background:var(--app-accent-surface);border-style:solid}.pipeline-detail-page__filter-warning{color:#f87171;align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.pipeline-detail-page__sort-config{flex-direction:column;gap:10px;display:flex}.pipeline-detail-page__sort-config-empty{color:var(--app-text-muted);margin:0;font-size:.78rem}.pipeline-detail-page__sort-config-list{counter-reset:sort-key;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pipeline-detail-page__sort-config-row{grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.pipeline-detail-page__sort-config-index{color:var(--app-text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.72rem}.pipeline-detail-page__sort-config-direction-btn{border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-sm);height:30px;color:var(--app-text);cursor:pointer;text-transform:lowercase;letter-spacing:.02em;transition:border-color var(--app-transition), background-color var(--app-transition);background:0 0;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;display:inline-flex}.pipeline-detail-page__sort-config-direction-btn:hover{border-color:color-mix(in srgb, var(--app-accent) 40%, transparent);background:var(--app-surface-soft)}.pipeline-detail-page__sort-config-remove-btn{border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-sm);width:26px;height:26px;color:var(--app-text-muted);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.pipeline-detail-page__sort-config-remove-btn:hover{color:#f87171;border-color:#f87171}.pipeline-detail-page__sort-config-add-btn{border:1px dashed color-mix(in srgb, var(--app-accent) 35%, transparent);border-radius:var(--app-radius-sm);color:var(--app-accent);cursor:pointer;transition:background-color var(--app-transition), border-style var(--app-transition);background:0 0;align-self:flex-start;padding:5px 10px;font-size:.78rem}.pipeline-detail-page__sort-config-add-btn:hover:not(:disabled){background:var(--app-accent-surface);border-style:solid}.pipeline-detail-page__sort-config-add-btn:disabled{opacity:.4;cursor:not-allowed}.pipeline-detail-page__aggregate-section-description{color:var(--app-text-muted);font-size:var(--text-xs);margin:var(--space-1) 0 var(--space-2)}.pipeline-detail-page__aggregate-fn-hint{color:var(--app-text-muted);font-size:var(--text-xs)}.pipeline-detail-page__share-bar{padding:var(--space-1) var(--space-4);background:var(--app-surface-soft);border-bottom:1px solid var(--app-border-subtle);flex-shrink:0;justify-content:flex-end;display:flex}.pipeline-detail-page__share-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;font-weight:500}.pipeline-detail-page__share-btn:hover{background:var(--app-surface);border-color:var(--app-border-strong);color:var(--app-text)}.pipelines-page{flex-direction:column;gap:2rem;min-height:100%;padding:20px 24px;display:flex}.pipelines-page__section{flex-direction:column;gap:12px;display:flex}.pipelines-page__section-header{border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.pipelines-page__section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--app-text-muted);margin:0;font-size:.72rem;font-weight:700}.pipelines-page__loading,.pipelines-page__error{color:var(--app-text-muted);margin:0;font-size:.8rem}.pipelines-page__error{color:#f87171}.pipeline-empty-state{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0;display:flex}.pipeline-empty-state__message{color:var(--app-text-muted);margin:0;font-size:.85rem}.pipeline-empty-state__cta{border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-md);background:var(--app-accent-dim);color:var(--app-accent);cursor:pointer;letter-spacing:.02em;transition:background var(--app-transition), border-color var(--app-transition), color var(--app-transition);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.pipeline-empty-state__cta:hover{background:var(--app-accent-surface);border-color:var(--app-accent);color:var(--app-accent-strong)}.pipeline-empty-state__cta:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.pipeline-list-table{border-collapse:collapse;width:100%;font-size:.82rem}.pipeline-list-table__th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted);border-bottom:1px solid var(--app-border-subtle);padding:6px 10px;font-size:.72rem;font-weight:600}.pipeline-list-table__row:hover{background:var(--app-surface-raised)}.pipeline-list-table__td{border-bottom:1px solid var(--app-border-subtle);color:var(--app-text);padding:8px 10px}.pipeline-list-table__dash{color:var(--app-text-muted)}.pipeline-list-table__link{color:var(--app-text);font-weight:500;text-decoration:none}.pipeline-list-table__link:hover{color:var(--app-accent);text-decoration:underline}.pipeline-status{border-radius:999px;padding:2px 7px;font-size:.75rem;font-weight:500;display:inline-block}.pipeline-status--succeeded{color:#166534;background:#dcfce7}.pipeline-status--failed{color:#991b1b;background:#fee2e2}.pipeline-status--never{background:var(--app-surface-raised);color:var(--app-text-muted)}.pipelines-page__toolbar{justify-content:flex-end;margin-bottom:4px;display:flex}.pipelines-page__create-btn{border:1px solid var(--app-accent-mid);border-radius:var(--app-radius-md);background:var(--app-accent-dim);color:var(--app-accent);cursor:pointer;letter-spacing:.02em;transition:background var(--app-transition), border-color var(--app-transition), color var(--app-transition);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.pipelines-page__create-btn:hover{background:var(--app-accent-surface);border-color:var(--app-accent);color:var(--app-accent-strong)}.pipelines-page__create-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.pipeline-list-table__th--actions,.pipeline-list-table__td--actions{white-space:nowrap;text-align:right;width:1%}.pipeline-list-table__share-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;font-weight:500}.pipeline-list-table__share-btn:hover{background:var(--app-surface);border-color:var(--app-border-strong);color:var(--app-text)}.create-pipeline-modal__form{flex-direction:column;gap:14px;display:flex}.create-pipeline-modal__field{flex-direction:column;gap:5px;display:flex}.create-pipeline-modal__label{color:var(--app-text-muted);font-size:.8rem;font-weight:500}.create-pipeline-modal__field-error{color:var(--app-danger,#e53e3e);margin:0;font-size:.75rem}.create-pipeline-modal__error{color:var(--app-danger,#e53e3e);margin:0;font-size:.82rem}.sources-page{flex-direction:column;gap:2rem;min-height:100%;padding:20px 24px;display:flex}.sources-page__section{flex-direction:column;gap:12px;display:flex}.sources-page__section-header{border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.sources-page__section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--app-text-muted);margin:0;font-size:.72rem;font-weight:700}.sources-page__add-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-accent-dim);border-color:var(--app-accent-mid);color:var(--app-accent);cursor:pointer;letter-spacing:.02em;transition:background var(--app-transition), border-color var(--app-transition), color var(--app-transition);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.sources-page__add-btn:hover{background:var(--app-accent-surface);border-color:var(--app-accent);color:var(--app-accent-strong)}.sources-page__add-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.sources-page__loading,.sources-page__error{color:var(--app-text-muted);margin:0;font-size:.8rem}.sources-page__error{color:#f87171}.add-source-modal__form{flex-direction:column;gap:14px;display:flex}.add-source-modal__field{flex-direction:column;gap:5px;display:flex}.add-source-modal__label{color:var(--app-text-muted);font-size:.8rem;font-weight:500}.add-source-modal__optional{opacity:.7;font-weight:400}.add-source-modal__input[type=file]{color:var(--app-text-muted);padding:5px 0;font-size:.8rem}.add-source-modal__type-toggle{flex-wrap:wrap;gap:6px;display:flex}.add-source-modal__type-btn{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);color:var(--app-text-muted);cursor:pointer;transition:background var(--app-transition), color var(--app-transition);background:0 0;padding:4px 12px;font-size:.8rem;font-weight:500}.add-source-modal__type-btn:hover{background:var(--app-surface-soft);color:var(--app-text)}.add-source-modal__type-btn--active{background:var(--app-accent-surface);color:var(--app-accent-strong);border-color:color-mix(in srgb, var(--app-accent) 40%, transparent)}.add-source-modal__preview-hint,.add-source-modal__empty{color:var(--app-text-muted);margin:0;font-size:.82rem}.add-source-modal__fields-table{border-collapse:collapse;width:100%;font-size:.82rem}.add-source-modal__fields-table th{text-align:left;color:var(--app-text-muted);border-bottom:1px solid var(--app-border-subtle);padding:6px 8px;font-weight:500}.add-source-modal__fields-table td{border-bottom:1px solid var(--app-border-subtle);vertical-align:middle;padding:4px}.add-source-modal__field-name{font-family:var(--font-mono);color:var(--app-accent);font-size:.78rem;padding-left:8px!important}.add-source-modal__cell-input,.add-source-modal__cell-select{background:var(--app-surface);border:1px solid color-mix(in srgb, var(--app-accent) 20%, transparent);border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);transition:border-color var(--app-transition);outline:none;padding:4px 6px;font-family:inherit;font-size:.78rem}.add-source-modal__cell-input:focus,.add-source-modal__cell-select:focus{border-color:var(--app-accent)}.add-source-modal__nullable-cell{text-align:center}.add-source-modal__error{color:#f87171;margin:0;font-size:.82rem}.add-source-modal__action-link{color:var(--app-text-muted);cursor:pointer;transition:color var(--app-transition);background:0 0;border:none;padding:2px;font-size:.8rem;line-height:1}.add-source-modal__action-link:hover:not(:disabled){color:#f87171}.add-source-modal__action-link:disabled{opacity:.3;cursor:not-allowed}.source-detail-panel{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);padding:16px}.source-detail-panel__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.source-detail-panel__title-row{align-items:baseline;gap:10px;min-width:0;display:flex}.source-detail-panel__name{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.source-detail-panel__type{color:var(--app-text-muted);border:1px solid var(--app-border-subtle);background:var(--app-surface-soft);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.72rem}.source-detail-panel__preview-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);height:28px;color:var(--app-text);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);flex-shrink:0;padding:0 12px;font-size:.78rem}.source-detail-panel__preview-btn:hover:not(:disabled){background:var(--app-accent-surface);border-color:var(--app-border-strong)}.source-detail-panel__preview-btn:disabled{opacity:.6;cursor:not-allowed}.source-detail-panel__header-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.source-detail-panel__delete-btn,.source-detail-panel__delete-confirm-btn,.source-detail-panel__delete-cancel-btn{border-radius:var(--app-radius-sm);cursor:pointer;height:28px;transition:background-color var(--app-transition), border-color var(--app-transition);padding:0 10px;font-size:.78rem}.source-detail-panel__delete-btn{border:1px solid var(--app-border-subtle);color:var(--app-danger,#e53e3e);background:0 0}.source-detail-panel__delete-btn:hover{border-color:var(--app-danger,#e53e3e);background:#e53e3e14}.source-detail-panel__delete-confirm-btn{border:1px solid var(--app-danger,#e53e3e);background:var(--app-danger,#e53e3e);color:#fff}.source-detail-panel__delete-cancel-btn{border:1px solid var(--app-border-subtle);color:var(--app-text-muted);background:0 0}.source-detail-panel__schema,.source-detail-panel__preview{margin-top:12px}.source-detail-panel__preview{border-top:1px solid var(--app-border-subtle);padding-top:16px}.source-detail-panel__section-title{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:.78rem;font-weight:600}.source-detail-panel__preview-empty{color:var(--app-text-muted);margin:0;font-size:.78rem}.source-detail-panel__schema-table{border-collapse:collapse;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:100%;font-size:.78rem;overflow:hidden}.source-detail-panel__schema-table thead th{background:var(--app-surface-soft);color:var(--app-text-muted);text-align:left;border-bottom:1px solid var(--app-border-subtle);padding:6px 10px;font-weight:600}.source-detail-panel__schema-table tbody td{border-bottom:1px solid var(--app-border-subtle);color:var(--app-text);padding:5px 10px}.source-detail-panel__schema-table tbody tr:last-child td{border-bottom:none}.source-detail-panel__schema-field-name{font-family:var(--app-font-mono,ui-monospace, monospace);font-size:.76rem}.source-detail-panel__error{border-radius:var(--app-radius-sm);background:var(--app-danger-surface,#fff5f5);color:var(--app-danger,#e53e3e);margin:8px 0 0;padding:8px;font-size:.78rem}.source-detail-panel__empty-schema{border:1px dashed var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);margin-top:12px;padding:10px 12px}.source-detail-panel__empty-schema-text{color:var(--app-text-muted);margin:4px 0 8px;font-size:.78rem}.source-detail-panel__empty-schema-actions{align-items:center;gap:8px;display:inline-flex}.type-registry-page{flex-direction:column;gap:12px;min-height:100%;padding:20px 24px;display:flex}.type-registry-page__header{border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.type-registry-page__title{letter-spacing:.12em;text-transform:uppercase;color:var(--app-text-muted);margin:0;font-size:.72rem;font-weight:700}.type-registry-page__loading,.type-registry-page__error{color:var(--app-text-muted);margin:0;font-size:.8rem}.type-registry-page__error{color:#f87171}.type-registry-browser{grid-template-columns:280px 1fr;align-items:start;gap:1rem;display:grid}.type-registry-browser--single{grid-template-columns:1fr}.type-registry-browser__empty{color:var(--app-text-muted);margin:0;font-size:.875rem}.type-registry-browser__list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.type-registry-browser__item{border-radius:10px;overflow:hidden}.type-registry-browser__item--selected{background:var(--app-accent-surface)}.type-registry-browser__item-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);cursor:pointer;text-align:left;width:100%;transition:background var(--app-transition), border-color var(--app-transition);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.type-registry-browser__item--selected .type-registry-browser__item-btn{border-color:var(--app-accent-mid);background:var(--app-accent-dim)}.type-registry-browser__item-btn:hover{background:var(--app-surface-soft);border-color:var(--app-border-strong)}.type-registry-browser__item-name{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.type-registry-browser__item-count{color:var(--app-text-muted);flex-shrink:0;font-size:.72rem}.type-registry-browser__empty-state{text-align:center;padding:2rem 1rem}.type-registry-browser__empty-message{color:var(--app-text-muted);margin:0 0 1rem;font-size:.875rem}.type-registry-browser__item-row{align-items:center;gap:.25rem;display:flex}.type-registry-browser__item-row .type-registry-browser__item-btn{flex:1;min-width:0}.type-registry-browser__delete-btn{cursor:pointer;width:24px;height:24px;color:var(--app-text-muted);border-radius:var(--app-radius-sm);transition:color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;display:inline-flex}.type-registry-browser__delete-btn:hover{color:var(--app-danger,#e53e3e)}.type-registry-browser__item-confirm{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.type-registry-browser__confirm-text{color:var(--app-text-muted);font-size:.75rem}.type-registry-browser__confirm-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);cursor:pointer;color:var(--app-text);background:0 0;padding:2px 6px;font-size:.72rem}.type-registry-browser__confirm-btn--danger{border-color:var(--app-danger,#e53e3e);color:var(--app-danger,#e53e3e)}.type-registry-browser__delete-error{color:var(--app-danger,#e53e3e);background:var(--app-danger-surface,#fff5f5);border-radius:var(--app-radius-sm);margin:0 0 .5rem;padding:.5rem;font-size:.8rem}.type-detail-panel{background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-sm);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.type-detail-panel__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.type-detail-panel__preview-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);height:28px;color:var(--app-text);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);flex-shrink:0;padding:0 12px;font-size:.78rem}.type-detail-panel__preview-btn:hover:not(:disabled){background:var(--app-accent-surface);border-color:var(--app-border-strong)}.type-detail-panel__preview-btn:disabled{opacity:.6;cursor:not-allowed}.type-detail-panel__section-title{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:.78rem;font-weight:600}.type-detail-panel__preview{border-top:1px solid var(--app-border-subtle);padding-top:16px}.type-detail-panel__preview-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.type-detail-panel__preview-header .type-detail-panel__section-title{margin:0}.type-detail-panel__preview-empty{color:var(--app-text-muted);margin:0;font-size:.78rem}.type-detail-panel__header-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.type-detail-panel__delete-btn,.type-detail-panel__delete-confirm-btn,.type-detail-panel__delete-cancel-btn{border-radius:var(--app-radius-sm);cursor:pointer;height:28px;transition:background-color var(--app-transition), border-color var(--app-transition);padding:0 10px;font-size:.78rem}.type-detail-panel__delete-btn{border:1px solid var(--app-border-subtle);color:var(--app-danger,#e53e3e);background:0 0}.type-detail-panel__delete-btn:hover{border-color:var(--app-danger,#e53e3e);background:#e53e3e14}.type-detail-panel__delete-confirm-btn{border:1px solid var(--app-danger,#e53e3e);background:var(--app-danger,#e53e3e);color:#fff}.type-detail-panel__delete-cancel-btn{border:1px solid var(--app-border-subtle);color:var(--app-text-muted);background:0 0}.type-detail-panel__title{color:var(--app-text);margin:0;font-size:1rem;font-weight:600}.type-detail-panel__close{color:var(--app-text-muted);cursor:pointer;transition:color var(--app-transition);background:0 0;border:none;padding:.25rem;font-size:.9375rem;line-height:1}.type-detail-panel__close:hover{color:var(--app-text)}.type-detail-panel__table{border-collapse:collapse;width:100%;font-size:.875rem}.type-detail-panel__table th{text-align:left;color:var(--app-text-muted);border-bottom:1px solid var(--app-border-subtle);padding:.4375rem .5rem;font-weight:500}.type-detail-panel__table td{border-bottom:1px solid var(--app-border-subtle);vertical-align:middle;padding:.375rem}.type-detail-panel__field-name{font-family:var(--font-mono);color:var(--app-accent);font-size:.8125rem;padding-left:.5rem!important}.type-detail-panel__cell-input,.type-detail-panel__cell-select{background:var(--app-surface-soft);border:1px solid var(--app-border-subtle);width:100%;color:var(--app-text);border-radius:6px;outline:none;padding:.3125rem .5rem;font-size:.8125rem}.type-detail-panel__cell-input:focus,.type-detail-panel__cell-select:focus{border-color:var(--app-accent)}.type-detail-panel__nullable-cell{text-align:center}.type-detail-panel__error{color:#f87171;margin:0;font-size:.875rem}.type-detail-panel__saved{color:#4ade80;margin:0;font-size:.875rem}.type-detail-panel__actions{justify-content:flex-end;display:flex}.type-detail-panel__save-btn{border-radius:var(--app-radius-sm);background:var(--app-accent-surface);color:var(--app-accent-strong);cursor:pointer;transition:background var(--app-transition), color var(--app-transition);border:none;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600}.type-detail-panel__save-btn:hover:not(:disabled){background:var(--app-accent);color:var(--app-bg)}.type-detail-panel__save-btn:disabled{opacity:.55;cursor:not-allowed}.type-detail-panel__name-input{color:var(--app-text);border-radius:var(--app-radius-sm);transition:border-color var(--app-transition);background:0 0;border:1px solid #0000;outline:none;flex:1;min-width:0;padding:.125rem .375rem;font-size:1rem;font-weight:600}.type-detail-panel__name-input:hover,.type-detail-panel__name-input:focus{border-color:var(--app-border-subtle);background:var(--app-surface-soft)}.computed-fields-editor{border-top:1px solid var(--color-border,#e2e8f0);margin-top:1.5rem;padding-top:1rem}.computed-fields-editor__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.computed-fields-editor__title{margin:0;font-size:.875rem;font-weight:600}.computed-fields-editor__add-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.2rem .5rem;font-size:.8125rem}.computed-fields-editor__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.computed-fields-editor__item{border-bottom:1px solid var(--color-border,#e2e8f0);align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8125rem;display:flex}.computed-fields-editor__field-name{min-width:6rem;font-weight:500}.computed-fields-editor__field-expr{font-family:var(--font-mono);color:var(--color-muted,#64748b);flex:1;font-size:.8rem}.computed-badge{background:var(--color-accent-soft,#dbeafe);color:var(--color-accent,#1d4ed8);border-radius:3px;padding:.1rem .35rem;font-size:.7rem}.computed-fields-editor__item-actions{gap:.3rem;display:flex}.computed-fields-editor__edit-btn,.computed-fields-editor__remove-btn{cursor:pointer;background:0 0;border:1px solid;border-radius:3px;padding:.15rem .4rem;font-size:.75rem}.computed-fields-editor__empty{color:var(--color-muted,#64748b);font-size:.8125rem}.computed-field-form{border-top:1px solid var(--color-border,#e2e8f0);padding:.75rem 0}.computed-field-form__row{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.computed-field-form__label{font-size:.8125rem;font-weight:500}.computed-field-form__input,.computed-field-form__select{border:1px solid var(--color-border,#e2e8f0);border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.875rem}.computed-field-form__hint{color:var(--color-muted,#64748b);font-size:.75rem}.computed-field-form__error{color:var(--color-danger,#dc2626);font-size:.75rem}.computed-field-form__actions{gap:.5rem;margin-top:.5rem;display:flex}.computed-field-form__btn{cursor:pointer;border:1px solid;border-radius:4px;padding:.3rem .75rem;font-size:.8125rem}.computed-field-form__btn--save{background:var(--color-primary,#2563eb);color:#fff;border-color:#0000}.computed-field-form__btn--save:disabled{opacity:.6;cursor:not-allowed}.computed-field-form__btn--cancel{background:0 0}.accent-picker{flex-wrap:wrap;gap:6px;padding:2px 0;display:flex}.accent-picker__swatch{cursor:pointer;width:20px;height:20px;transition:border-color var(--app-transition), box-shadow var(--app-transition), transform var(--app-transition);border:2px solid #0000;border-radius:50%;outline:none;padding:0}.accent-picker__swatch:hover{transform:scale(1.15)}.accent-picker__swatch:focus-visible,.accent-picker__swatch--selected{box-shadow:0 0 0 2px var(--app-bg), 0 0 0 4px var(--app-accent)}.user-menu__trigger{border:1px solid var(--app-border-subtle);cursor:pointer;width:30px;height:30px;transition:border-color var(--app-transition), background-color var(--app-transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.user-menu__trigger:hover{border-color:var(--app-border-strong);background:var(--app-accent-surface)}.user-menu__trigger:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.user-menu__avatar{object-fit:cover;border-radius:50%;width:24px;height:24px;display:block}.user-menu__initials{background:var(--app-accent);color:#fff;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;line-height:1;display:flex}.user-menu__popover{z-index:30;border:1px solid color-mix(in srgb, var(--app-accent) 22%, transparent);border-radius:var(--app-radius-lg);background:color-mix(in srgb, var(--app-surface) 94%, transparent);width:200px;box-shadow:var(--app-shadow-card);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:4px}.user-menu__header{flex-direction:column;gap:2px;padding:6px 10px;display:flex}.user-menu__display-name{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.user-menu__email{color:var(--app-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-menu__divider{background:color-mix(in srgb, var(--app-accent) 12%, transparent);height:1px;margin:3px 0}.user-menu__item{border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);text-align:left;cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;display:flex}.user-menu__item:hover{background:color-mix(in srgb, var(--app-accent) 12%, transparent);color:var(--app-accent-strong)}.user-menu__item:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px}.user-menu__item--theme{color:var(--app-text-muted)}.user-menu__item--theme:hover{color:var(--app-accent)}.user-menu__item--signout{color:#f87171}.user-menu__item--signout:hover{color:#f87171;background:#f871711a}.user-menu__section{flex-direction:column;gap:6px;padding:6px 10px;display:flex}.user-menu__section-label{color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.auth-page{background-color:var(--app-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background-image:radial-gradient(var(--app-bg-accent) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:28px 28px;position:absolute;inset:0}.auth-card{z-index:1;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);width:100%;max-width:400px;box-shadow:var(--app-shadow-card);padding:40px 36px;position:relative}.auth-card__title{letter-spacing:-.03em;margin:0 0 8px;font-size:1.8rem}.auth-card__subtitle{color:var(--app-text-muted);margin:0 0 28px;font-size:.92rem}.auth-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.auth-field label{color:var(--app-text-muted);letter-spacing:.02em;font-size:.85rem;font-weight:600}.auth-field input{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm,6px);background:var(--app-bg);color:var(--app-text);outline:none;padding:10px 12px;font-size:.95rem;transition:border-color .15s}.auth-field input:focus{border-color:var(--app-accent)}.auth-field__error{color:var(--app-error,#e05252);font-size:.82rem}.auth-submit{border-radius:var(--app-radius-sm,6px);background:var(--app-accent);color:#fff;cursor:pointer;border:none;width:100%;margin-top:8px;padding:11px;font-size:.95rem;font-weight:600;transition:opacity .15s}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-divider{color:var(--app-text-muted);align-items:center;gap:12px;margin:20px 0;font-size:.82rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--app-border-subtle);flex:1}.auth-google-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm,6px);background:var(--app-surface);width:100%;color:var(--app-text);cursor:not-allowed;opacity:.65;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:.92rem;display:flex}.auth-error{border-radius:var(--app-radius-sm,6px);background:color-mix(in srgb, var(--app-error,#e05252) 12%, transparent);color:var(--app-error,#e05252);margin-top:12px;padding:10px 12px;font-size:.88rem}.auth-footer{text-align:center;color:var(--app-text-muted);margin-top:24px;font-size:.88rem}.auth-footer a{color:var(--app-accent);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading__spinner{border:3px solid var(--app-border-subtle);border-top-color:var(--app-accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;--text-micro:.625rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--h1-size:var(--text-3xl);--eyebrow-size:var(--text-micro);--eyebrow-tracking:.1em;--eyebrow-weight:600;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--app-radius-sm:4px;--app-radius-md:6px;--app-radius-lg:10px;--app-radius-pill:9999px;--app-shadow-soft:0 20px 60px #060a0e66, 0 4px 12px #060a0e33;--app-shadow-card:0 4px 16px #060a0e4d;--app-transition:.2s ease;font-family:Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#060a0e;--app-bg-accent:#f973160f;--app-bg-secondary:#f9731608;--dot-grid-opacity:.14;--app-surface:#0f1620e6;--app-surface-strong:#0a1018f2;--app-surface-soft:#141c28d9;--app-text:#e2f0ff;--app-text-muted:#64748b;--app-accent:#f97316;--app-accent-strong:#fb923c;--app-accent-surface:#f973161f;--app-accent-dim:#f973161f;--app-accent-mid:#f9731640;--app-border-strong:#f973164d;--app-border-subtle:#f973161a}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#fdfbf7;--app-bg-accent:#f973160f;--app-bg-secondary:#f9731608;--dot-grid-opacity:.08;--app-surface:#ffffffe6;--app-surface-strong:#fffffff5;--app-surface-soft:#f5f2ede6;--app-text:#0f1419;--app-text-muted:#6b7280;--app-accent:#ea580c;--app-accent-strong:#c2410c;--app-accent-surface:#ea580c1a;--app-accent-dim:#ea580c1a;--app-accent-mid:#ea580c33;--app-border-strong:#ea580c40;--app-border-subtle:#ea580c14;--app-shadow-soft:0 20px 60px #0f14191f, 0 4px 12px #0f14190f;--app-shadow-card:0 4px 16px #0f14191a}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--app-bg);min-height:100vh;color:var(--app-text);transition:background-color var(--app-transition), color var(--app-transition);margin:0}body,button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit}::selection{background:var(--app-accent-surface)}.eyebrow{font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);font-weight:var(--eyebrow-weight);text-transform:uppercase}.wordmark{letter-spacing:.14em;font-weight:700}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
