.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-command-bar{height:48px;padding:0 var(--space-5);background:var(--app-surface);border-bottom:1px solid var(--app-border-subtle);justify-content:space-between;align-items:center;gap:var(--space-4);z-index:2;flex-shrink:0;display:flex;position:relative}.app-command-bar__left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.app-command-bar__logo{align-items:center;gap:var(--space-2);color:var(--app-text);text-decoration:none;display:flex}.app-command-bar__wordmark{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:.01em;color:var(--app-text);line-height:1;transform:translateY(-1px)}.app-command-bar__sep{background:var(--app-border-subtle);flex-shrink:0;width:1px;height:18px}.app-command-bar__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--app-text-muted);font-weight:var(--weight-medium);letter-spacing:.02em;min-width:0;display:flex}.app-command-bar__breadcrumb-sep{opacity:.45;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{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.cmd-btn{align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--app-radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);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;display:inline-flex}.cmd-btn:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.cmd-btn:disabled{opacity:.4;cursor:not-allowed}.cmd-btn--primary{background:var(--app-accent);color:var(--app-accent-ink);border-color:#0000}.cmd-btn--primary:hover{background:var(--app-accent-strong);color:var(--app-accent-ink);border-color:#0000}.cmd-btn--icon{width:var(--control-sm);justify-content:center;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__nav{padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--app-border-subtle);flex-direction:column;gap:2px;display:flex}.app-sidebar__nav-link{align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-3);border-radius:var(--app-radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--app-text-muted);transition:background var(--app-transition), color var(--app-transition);text-decoration:none;display:flex;position:relative}.app-sidebar__nav-link:hover{background:var(--app-surface-raised);color:var(--app-text)}.app-sidebar__nav-link.active{background:var(--app-accent-dim);color:var(--app-accent)}.app-sidebar__nav-link.active:before{content:"";border-radius:var(--app-radius-pill);background:var(--app-accent);width:2px;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.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,.app-sidebar-collapse{z-index:3;background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:0 var(--app-radius-sm) var(--app-radius-sm) 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;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.app-sidebar-toggle{left:0}.app-sidebar-collapse{right:-20px}.app-sidebar-toggle:hover,.app-sidebar-collapse:hover{color:var(--app-text);border-color:var(--app-border-strong)}.app-content{background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1px);background-size:26px 26px;flex:1;min-width:0;min-height:0;position:relative;overflow-y:auto}.undo-redo-btn{align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--app-radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);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;display:inline-flex}.undo-redo-btn:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.undo-redo-btn:disabled{opacity:.35;cursor:not-allowed}.topbar-theme-btn{width:var(--control-sm);height:var(--control-sm);border-radius:var(--app-radius-sm);border:1px solid var(--app-border-subtle);color:var(--app-text-muted);cursor:pointer;font-size:var(--text-xs);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;display:inline-flex}.topbar-theme-btn:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}@media (width<=768px){.app-command-bar{padding:0 var(--space-3)}.app-command-bar__breadcrumb{display:none}.app-sidebar{z-index:10;position:fixed;top:48px;bottom:0;left:0;overflow:visible}.app-sidebar--collapsed{width:0}}.popover{position:relative}.popover__trigger{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);color:var(--app-text);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);background:0 0;display:inline-flex}.popover__trigger:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised)}.popover__panel{z-index:var(--z-popover);width:min(360px,100vw - 40px);font-size:var(--text-sm);padding:var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface-strong);box-shadow:var(--app-shadow-soft);animation:popover-in var(--app-transition) both;position:fixed}@keyframes popover-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.popover__panel--left{left:0;right:auto}.popover__scrim{z-index:var(--z-popover-scrim);position:fixed;inset:0}.dashboard-appearance-editor{z-index:4}.dashboard-appearance-editor__trigger{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--app-text-muted);padding:4px 10px}.dashboard-appearance-editor__trigger-copy{font-weight:var(--weight-semibold)}.dashboard-appearance-editor__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-appearance-editor__header strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dashboard-appearance-editor__label{margin-bottom:var(--space-1);color:var(--app-text-muted);font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;display:block}.dashboard-appearance-editor__swatch{width:var(--control-sm);height:var(--control-sm);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-pill)}.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{width:100%;height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--app-transition);border:1px solid #0000}.dashboard-appearance-editor__save:hover:not(:disabled){background:var(--app-accent-strong)}.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);font-size:var(--text-xs);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;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-dim);color:var(--app-text)}.appearance-preset__swatch{border:1px solid var(--app-border-strong);border-radius:50%;flex-shrink:0;width:16px;height:16px;display:inline-block}.appearance-preset__label{line-height:1}.dashboard-appearance-editor__contrast-warning{padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--app-warning) 35%, transparent);border-radius:var(--app-radius-md);background:var(--app-warning-surface);color:var(--app-warning);font-size:var(--text-xs);margin:0;line-height:1.4}.inline-error{color:var(--app-error);font-size:var(--text-xs);margin:0}.dashboard-list{padding:var(--space-4) var(--space-3);box-shadow:none;background:0 0;border:none;border-radius:0;flex:1;overflow-y:auto}.dashboard-list__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:0 var(--space-1);display:flex}.dashboard-list__header-actions{align-items:center;gap:var(--space-2);display:inline-flex}.dashboard-list__eyebrow{display:none}.dashboard-list__header h2{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);margin:0}.dashboard-list__header p{display:none}.dashboard-list__add{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:24px;height:24px;color:var(--app-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.dashboard-list__add:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.dashboard-list__filter{margin:0 0 var(--space-3);gap:var(--space-1);display:grid}.dashboard-list__filter-label{color:var(--app-text-muted);font-size:var(--text-xs)}.dashboard-list__filter-wrapper{width:100%;position:relative}.dashboard-list__filter-input{width:100%;min-height:var(--control-sm);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-xs);padding:0 30px 0 var(--space-2);transition:border-color var(--app-transition), box-shadow var(--app-transition)}.dashboard-list__filter-input:focus-visible{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim);outline:none}.dashboard-list__filter-clear{border-radius:var(--app-radius-sm);width:20px;height:20px;color:var(--app-text-muted);font-size:var(--text-xs);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;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dashboard-list__filter-clear:hover{background:var(--app-surface-raised);color:var(--app-text)}.dashboard-list__create{margin:0 0 var(--space-4);gap:var(--space-2);display:grid}.dashboard-list__create-label{color:var(--app-text-muted);font-size:var(--text-xs)}.dashboard-list__create-input{width:100%;min-height:var(--control-md);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-sm);padding:0 var(--space-3);transition:border-color var(--app-transition), box-shadow var(--app-transition)}.dashboard-list__create-input:focus-visible{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim);outline:none}.dashboard-list__create-submit{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--app-transition);border:1px solid #0000}.dashboard-list__create-submit:hover:not(:disabled){background:var(--app-accent-strong)}.dashboard-list__create-submit:disabled{opacity:.55;cursor:not-allowed}.dashboard-list__items{gap:2px;margin:0;padding:0;list-style:none;display:grid}.dashboard-list__item{align-items:stretch;gap:var(--space-2);display:flex}.dashboard-list__item--row{align-items:stretch;gap:var(--space-1);flex-direction:column}.dashboard-list__item-row{align-items:center;gap:var(--space-1);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-raised);color:var(--app-text)}.dashboard-list__item-row .actions-menu__trigger:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.dashboard-list__delete-confirm-row{padding:var(--space-1) 0 0;justify-content:flex-end;display:flex}.dashboard-list__delete-confirm-actions{align-items:center;gap:var(--space-1);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-dim);color:var(--app-accent);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;padding:2px 6px;position:absolute;top:50%;right:40px;transform:translateY(-50%)}.dashboard-list__delete-confirm{align-self:center;align-items:center;gap:var(--space-1);flex-shrink:0;display:inline-flex}.dashboard-list__delete-confirm-btn{height:24px;padding:0 var(--space-2);border:1px solid color-mix(in srgb, var(--app-error) 60%, transparent);border-radius:var(--app-radius-sm);color:var(--app-error);font-size:var(--text-micro);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);background:0 0;line-height:1}.dashboard-list__delete-confirm-btn:hover{background:var(--app-error-surface);border-color:var(--app-error)}.dashboard-list__delete-cancel-btn{height:24px;padding:0 var(--space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-micro);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;line-height:1}.dashboard-list__delete-cancel-btn:hover{border-color:var(--app-border-strong);color:var(--app-text)}.dashboard-list__button{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;height:var(--control-md);padding:0 var(--space-3);border-radius:var(--app-radius-sm);color:var(--app-text-muted);text-align:left;font:inherit;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0;border:1px solid #0000;text-decoration:none;display:flex}.dashboard-list__button:hover{background:var(--app-surface-raised);color:var(--app-text);text-decoration:none}.dashboard-list__button:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px}.dashboard-list__button[aria-pressed=true],.dashboard-list__button--active{background:var(--app-accent-dim);color:var(--app-text)}.dashboard-list__status{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--app-text-muted)}.dashboard-list__name{font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-list__active-dot{background:var(--app-accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.dashboard-list__rename{gap:var(--space-1);flex:1;min-width:0;display:grid}.dashboard-list__rename-input{width:100%;min-height:var(--control-md);border:1px solid var(--app-accent);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);padding:0 var(--space-3);font-size:var(--text-sm)}.dashboard-list__rename-input:focus-visible{box-shadow:0 0 0 3px var(--app-accent-dim);outline:none}.dashboard-list__import-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.dashboard-list__import-label{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;display:flex}.dashboard-list__import-label:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised);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:.55;cursor:not-allowed}.actions-menu{z-index:4}.actions-menu__trigger{width:var(--control-sm);height:var(--control-sm);border-radius:var(--app-radius-sm);padding:0}.actions-menu__dots{flex-direction:column;align-items:center;gap:3px;display:inline-flex}.actions-menu__dots span{border-radius:var(--app-radius-pill);background:currentColor;width:3px;height:3px}.popover__panel.actions-menu__panel{width:max-content;min-width:140px;padding:var(--space-1);margin:0;list-style:none}.actions-menu__item{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background-color var(--app-transition);background:0 0;border:none;display:block}.actions-menu__item:hover:not(:disabled){background:var(--app-surface-raised)}.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:var(--app-error)}.actions-menu__item--danger:hover:not(:disabled){background:var(--app-error-surface)}.status-message{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);color:var(--app-text-muted);font-size:var(--text-sm)}.status-message--error{border-color:color-mix(in srgb, var(--app-error) 30%, transparent);background:var(--app-error-surface);color:var(--app-error)}.ui-empty-state{text-align:center;flex-direction:column;align-items:center;display:flex}.ui-empty-state--main{justify-content:center;gap:var(--space-4);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 var(--app-border-subtle);background:var(--app-surface);width:64px;height:64px;box-shadow:var(--app-shadow-card);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.ui-empty-state--main .ui-empty-state__icon{font-size:var(--text-2xl);color:var(--app-accent)}.ui-empty-state--main .ui-empty-state__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-medium);color:var(--app-text);letter-spacing:-.01em;margin:0}.ui-empty-state--main .ui-empty-state__description{font-size:var(--text-sm);color:var(--app-text-muted);max-width:360px;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 var(--app-border-subtle);background:var(--app-surface-raised);justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ui-empty-state--sidebar .ui-empty-state__icon{font-size:var(--text-sm);color:var(--app-accent)}.ui-empty-state--sidebar .ui-empty-state__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text);margin:0}.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);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition);border:1px solid #0000;font-family:inherit;display:inline-flex}.ui-empty-state__cta:hover{background:var(--app-accent-strong)}.ui-empty-state--sidebar .ui-empty-state__cta{height:var(--control-sm);font-size:var(--text-xs);padding:0 var(--space-3)}.ui-empty-state__cta-icon{font-size:.8em}.ui-input,.ui-select__trigger,.ui-textarea{align-items:center;gap:var(--space-2);min-height:var(--control-md);width:100%;padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-sm);transition:border-color var(--app-transition), box-shadow var(--app-transition), background-color var(--app-transition);font-family:inherit;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:var(--app-border-strong)}.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-dim);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:var(--text-xs)}.ui-textarea{min-height:80px;padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical;align-items:flex-start}.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:var(--z-popover);padding:var(--space-1);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-strong);min-width:160px;max-height:280px;color:var(--app-text);box-shadow:var(--app-shadow-soft);margin:0;list-style:none;position:fixed;overflow-y:auto}.ui-select__option{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--app-radius-sm);color:var(--app-text);text-align:left;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--app-transition);background:0 0;border:none;font-family:inherit;display:block}.ui-select__option:hover,.ui-select__option--focused{background:var(--app-surface-raised)}.ui-select__option--selected{color:var(--app-accent);background:var(--app-accent-dim)}.ui-select__option--disabled{opacity:.5;cursor:not-allowed}.ui-select__scrim{z-index:var(--z-popover-scrim);cursor:default;background:0 0;border:none;position:fixed;inset:0}.panel-list{min-height:100%;padding:var(--space-6);background:var(--dashboard-grid-background-override,transparent);box-shadow:none;transition:background-color var(--app-transition);border:none;border-radius:0;overflow:hidden}.panel-list__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.panel-list__header-actions{justify-content:flex-end;align-items:center;width:100%;display:flex}.panel-list__header h2{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin:0}.panel-list__count{padding:2px var(--space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);background:var(--app-surface);color:var(--app-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.panel-list__add{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface);width:24px;height:24px;color:var(--app-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.panel-list__add:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-surface-raised);color:var(--app-text)}.panel-list__add:disabled{opacity:.55;cursor:not-allowed}.panel-list__panel-actions{align-items:center;gap:var(--space-2);display:inline-flex}.panel-list__zoom-widget{bottom:var(--space-5);right:var(--space-5);z-index:10;border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);background:var(--app-surface-strong);box-shadow:var(--app-shadow-card);align-items:center;gap:2px;padding:3px;display:inline-flex;position:fixed}.panel-list__zoom-level{padding:0 var(--space-2);color:var(--app-text-muted);font-family:var(--font-mono);font-size:var(--text-micro);font-variant-numeric:tabular-nums;text-align:center;min-width:36px}.panel-list__zoom-button,.panel-list__zoom-reset{border-radius:var(--app-radius-pill);height:22px;color:var(--app-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:0 var(--space-2);transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.panel-list__zoom-button{width:22px;padding:0}.panel-list__zoom-button:hover:not(:disabled),.panel-list__zoom-reset:hover:not(:disabled){background:var(--app-surface-raised);color:var(--app-text)}.panel-list__zoom-button:disabled,.panel-list__zoom-reset:disabled{opacity:.45;cursor:not-allowed}.panel-list__create{margin:0 0 var(--space-4);gap:var(--space-2);display:grid}.panel-list__create-label{color:var(--app-text-muted);font-size:var(--text-xs)}.panel-list__create-input{width:100%;min-height:var(--control-sm);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-xs);padding:0 var(--space-2)}.panel-list__create-input:focus-visible{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim);outline:none}.panel-list__type-selector{gap:var(--space-2);border:none;flex-wrap:wrap;margin:0;padding:0;display:flex}.panel-list__type-option{height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);background:var(--app-surface);color:var(--app-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition), color var(--app-transition);align-items:center;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-dim);color:var(--app-accent)}.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{height:var(--control-md);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--app-transition);border:1px solid #0000}.panel-list__create-submit:hover:not(:disabled){background:var(--app-accent-strong)}.panel-list__create-submit:disabled{opacity:.55;cursor:not-allowed}.panel-list__state{margin:0 0 var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text-muted);font-size:var(--text-sm);line-height:1.6}.panel-list__empty-state{justify-content:center;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-10) var(--space-6);border:1px dashed var(--app-border-strong);border-radius:var(--app-radius-lg);text-align:center;background:0 0;flex-direction:column;display:flex}.panel-list__empty-icon{opacity:.55;width:48px;height:48px;margin-bottom:var(--space-1)}.panel-list__empty-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--app-text);margin:0}.panel-list__empty-subtext{font-size:var(--text-sm);color:var(--app-text-muted);margin:0;line-height:1.55}.panel-list__empty-cta{margin-top:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--app-transition);border:1px solid #0000}.panel-list__empty-cta:hover:not(:disabled){background:var(--app-accent-strong)}.panel-list__empty-cta:disabled{opacity:.55;cursor:not-allowed}@media (width<=768px){.panel-list{padding:var(--space-5);min-height:auto}.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{background:var(--app-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel-detail-modal--view::backdrop{background:var(--app-overlay);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.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{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.panel-detail-modal__close{width:var(--control-sm);height:var(--control-sm);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-xs);transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.panel-detail-modal__close:hover{background:var(--app-surface-raised);color:var(--app-text)}.panel-detail-modal__close:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.panel-detail-modal__unsaved-badge{font-size:var(--text-xs);font-weight:var(--weight-medium);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}.panel-detail-modal__header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-detail-modal__edit-btn{height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);transition:background-color var(--app-transition);border:1px solid #0000}.panel-detail-modal__edit-btn:hover{background:var(--app-accent-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{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--app-text-muted);letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--app-border-subtle);margin:0;padding-top:16px}.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{font-size:var(--text-sm);color:var(--app-text-muted);gap:6px;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{font-size:var(--text-sm);color:var(--app-text-muted);gap:6px;display:grid}.panel-detail-modal__slider input[type=range]{width:100%}.panel-detail-modal__slider strong{font-size:var(--text-sm);color:var(--app-text)}.panel-detail-modal__data-section{gap:8px;display:grid}.panel-detail-modal__data-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text-muted)}.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);font-size:var(--text-sm);box-sizing:border-box;padding:7px 10px}.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;font-size:var(--text-sm);transition:background-color var(--app-transition);align-items:center;gap:8px;padding:8px 12px;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);font-size:var(--text-sm);align-items:center;gap:8px;padding:7px 10px;display:flex}.panel-detail-modal__selected-type-name{font-weight:var(--weight-semibold);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.panel-detail-modal__type-badge{font-size:var(--text-xs);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}.panel-detail-modal__type-count{font-size:var(--text-xs);color:var(--app-text-muted);flex-shrink:0}.panel-detail-modal__type-clear{width:20px;height:20px;color:var(--app-text-muted);font-size:var(--text-base);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;line-height:1;display:inline-flex}.panel-detail-modal__type-clear:hover{color:var(--app-text)}.panel-detail-modal__type-hint{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.panel-detail-modal__source-link{font-size:var(--text-xs);color:var(--app-accent-strong);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{font-size:var(--text-sm);color:var(--app-text-muted)}.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);font-size:var(--text-sm);padding:6px 8px}.panel-detail-modal__discard-warning{background:var(--app-accent-surface);border-top:1px solid var(--app-border-subtle);font-size:var(--text-sm);color:var(--app-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;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);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:border-color var(--app-transition), background-color var(--app-transition);padding:5px 12px}.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{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:border-color var(--app-transition), background-color var(--app-transition)}.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);background:var(--app-surface-raised);color:var(--app-text)}.panel-detail-modal__btn--save{background:var(--app-accent);color:var(--app-accent-ink);border-color:#0000}.panel-detail-modal__btn--save:hover:not(:disabled){background:var(--app-accent-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{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text)}.panel-detail-modal__chart-section{gap:12px;display:grid}.panel-detail-modal__chart-subsection{gap:6px;display:grid}.panel-detail-modal__chart-label{font-size:var(--text-sm);color:var(--app-text-muted);align-items:center;gap:6px;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);font-size:var(--text-sm);padding:6px 8px}.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);font-size:var(--text-sm);box-sizing:border-box;padding:6px 10px}.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{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text-muted)}.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);font-size:var(--text-xs);color:var(--app-text-muted);flex-direction:column;align-items:center;gap:4px;padding:8px 4px;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:var(--text-lg);line-height:1}.panel-detail-modal__chart-type-name{font-size:var(--text-xs);font-weight:var(--weight-medium)}.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;width:100%;font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface);color:var(--app-text);box-sizing:border-box;padding:8px;line-height:1.5}.panel-detail-modal__markdown-textarea:focus{border-color:var(--app-accent);outline:none}.panel-content{padding:var(--space-3) var(--space-4);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.panel-content--metric{gap:var(--space-1);flex-direction:column}.panel-content__metric-value{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:inherit;letter-spacing:-.02em;line-height:1;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel-content__metric-label{font-family:var(--font-mono);font-size:var(--text-micro);color:color-mix(in srgb, currentColor 60%, transparent);text-transform:uppercase;letter-spacing:.08em}.panel-content--text{align-items:flex-start;gap:var(--space-2);flex-direction:column;overflow-y:auto}.panel-content__text-line{border-radius:var(--app-radius-sm);background:var(--app-border-subtle);height:10px;display:block}.panel-content__text-line--long{width:85%}.panel-content__text-line--short{width:60%}.panel-content--table{padding:var(--space-2) var(--space-3);flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:0;overflow-y:auto}.panel-content__table{border-collapse:collapse;width:100%;height:100%;min-height:min-content;font-size:var(--text-xs)}.panel-content__table th,.panel-content__table td{border:1px solid var(--app-border-subtle);padding:var(--space-1) var(--space-2);height:18px}.panel-content__table th{background:color-mix(in srgb, currentColor 6%, transparent);width:50%}.panel-content--chart{padding:0}.panel-content--state{gap:var(--space-2);flex-direction:column}.panel-content--error{color:var(--app-error)}.panel-content__spinner{border:3px solid var(--app-border-subtle);border-top-color:var(--app-accent);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{font-size:var(--text-xs);color:var(--app-text-muted);text-align:center}.panel-content--error .panel-content__state-label{color:inherit}.panel-content__text-live{font-size:var(--text-sm);color:inherit;white-space:pre-wrap;word-break:break-word}.panel-content__metric-trend{font-family:var(--font-mono);font-size:var(--text-micro);color:color-mix(in srgb, currentColor 60%, transparent);letter-spacing:.02em}.panel-content__metric-trend--up{color:var(--app-success)}.panel-content__metric-trend--down{color:var(--app-error)}.panel-content__metric-trend--flat{color:var(--app-text-muted)}@container panel-card (height<=179px){.panel-content__metric-value{font-size:var(--text-xl)}.panel-content__metric-label,.panel-content__metric-trend{font-size:var(--text-micro)}}@container panel-card (height>=280px){.panel-content__metric-value{font-size:2.5rem}.panel-content__metric-label,.panel-content__metric-trend{font-size:var(--text-xs)}}@container panel-card (height<=179px){.panel-content__table th,.panel-content__table td{padding:2px var(--space-2);height:14px}.panel-content__text-live{font-size:var(--text-xs)}}@container panel-card (height>=280px){.panel-content__text-live{font-size:var(--text-lg)}}.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:color-mix(in srgb, currentColor 7%, transparent);border-radius:var(--app-radius-sm);color:color-mix(in srgb, currentColor 55%, transparent);flex-direction:column;gap:8px}.image-panel__placeholder-icon{font-size:var(--text-3xl);line-height:1}.image-panel__placeholder-text{font-size:var(--text-xs);text-align:center}.markdown-panel{height:100%;font-size:var(--text-sm);color:var(--panel-text-override,inherit);padding:8px 12px;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{font-weight:var(--weight-semibold);margin:0 0 .5em;line-height:1.3}.markdown-panel code{font-family:var(--font-mono);background:color-mix(in srgb, currentColor 10%, transparent);border-radius:3px;padding:.1em .3em;font-size:.85em}.markdown-panel pre code{background:0 0;padding:0}.markdown-panel pre{background:color-mix(in srgb, currentColor 7%, transparent);border-radius:4px;padding:.75em 1em;overflow-x:auto}.markdown-panel blockquote{border-left:3px solid color-mix(in srgb, currentColor 30%, transparent);opacity:.8;margin-left:0;padding-left:1em}.markdown-panel a{color:var(--app-accent)}.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{font-size:var(--text-xs);opacity:.5;text-align:center;padding:1em;font-style:italic}.ui-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface-strong);color:var(--app-text);box-shadow:var(--app-shadow-soft);max-height:90vh;padding:0}.ui-modal[open]{animation:ui-modal-in var(--transition-slow) backwards}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}.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{background:var(--app-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-modal__inner{flex-direction:column;max-height:90vh;display:flex}.ui-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--app-border-subtle);flex-shrink:0;display:flex}.ui-modal__header-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-modal__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--app-text);letter-spacing:-.01em;margin:0;line-height:1.3}.ui-modal__description{font-size:var(--text-xs);color:var(--app-text-muted);margin:0;line-height:1.5}.ui-modal__close{width:var(--control-sm);height:var(--control-sm);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-modal__close:hover{background:var(--app-surface-raised);color:var(--app-text)}.ui-modal__body{padding:var(--space-5);flex:1;overflow-y:auto}.ui-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--app-border-subtle);flex-shrink:0;display:flex}.ui-modal-btn{align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);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-raised);border-color:var(--app-border-strong);color:var(--app-text)}.ui-modal-btn--primary{background:var(--app-accent);color:var(--app-accent-ink);border:1px solid #0000}.ui-modal-btn--primary:hover:not(:disabled){background:var(--app-accent-strong)}.toast-viewport{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);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-strong);box-shadow:var(--app-shadow-soft);color:var(--app-text);font-size:var(--text-xs);pointer-events:auto;animation:toast-slide-in var(--app-transition) both;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);font-size:var(--text-sm);flex-shrink:0;margin-top:1px}.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);font-size:var(--text-xs);font-family:inherit;font-weight:var(--weight-semibold);cursor:pointer;text-underline-offset:2px;transition:opacity var(--app-transition);background:0 0;border:none;align-items:center;padding:0;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);font-size:var(--text-micro);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;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{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--app-radius-sm);background:var(--app-warning-surface);border:1px solid color-mix(in srgb, var(--app-warning) 35%, transparent);color:var(--app-warning);font-size:var(--text-xs);line-height:1.45;display:flex}.panel-legacy-warning__icon{font-size:var(--text-xs);flex-shrink:0;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-lg);background:var(--app-accent-dim);border:1px dashed var(--app-accent-mid);opacity:.6}.panel-grid .react-resizable-handle:after{border-color:var(--app-text-muted)}.panel-grid-card{cursor:pointer;justify-content:space-between;gap:var(--space-3);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), box-shadow var(--app-transition);flex-direction:column;padding:clamp(14px,2vw,20px);display:flex;position:relative;overflow:hidden;container:panel-card/size}.panel-grid-card:hover{border-color:var(--app-border-strong);box-shadow:var(--app-shadow-soft)}.panel-grid-card__top{justify-content:space-between;gap:var(--space-3);align-items:flex-start;display:flex}.panel-grid-card__actions{align-items:center;gap:var(--space-2);display:inline-flex}.panel-grid-card__actions .actions-menu__trigger{border-radius:var(--app-radius-pill);width:24px;height:24px}.panel-grid-card__actions .actions-menu__dots{flex-direction:row;gap:3px}.panel-grid-card__title{font-size:clamp(.9rem,1.1vw,1.05rem);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:inherit;margin:0;line-height:1.3}.panel-grid-card__handle{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-pill);width:24px;height:24px;color:var(--app-text-muted);cursor:grab;touch-action:none;background:0 0;flex-shrink:0;justify-content:center;align-items:center;gap:3px;display:inline-flex}.panel-grid-card__handle span{border-radius:var(--app-radius-pill);background:currentColor;width:3px;height:3px}.panel-grid-card__handle:active{cursor:grabbing}.panel-grid-card__delete-confirm-btn{height:24px;padding:0 var(--space-2);border:1px solid color-mix(in srgb, var(--app-error) 60%, transparent);border-radius:var(--app-radius-sm);color:var(--app-error);font-size:var(--text-micro);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);background:0 0;line-height:1}.panel-grid-card__delete-confirm-btn:hover{background:var(--app-error-surface);border-color:var(--app-error)}.panel-grid-card__delete-cancel-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:24px;height:24px;color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;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);font-size:var(--text-sm);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.panel-grid-card__footer{gap:var(--space-3);color:color-mix(in srgb, currentColor 60%, transparent);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;display:flex}.panel-grid-card__type-badge{border:1px solid color-mix(in srgb, currentColor 18%, transparent);border-radius:var(--app-radius-pill);color:color-mix(in srgb, currentColor 70%, transparent);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:2px 7px}.panel-grid-card__title-area{flex:1;min-width:0}.panel-grid-card__freshness{margin:var(--space-1) 0 0;color:color-mix(in srgb, currentColor 55%, transparent);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:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;padding:2px 0}.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:var(--space-3)}.panel-grid-card__footer{flex-direction:column;align-items:flex-start}}@container panel-card (width<=219px){.panel-grid-card{padding:var(--space-3);gap:var(--space-2)}.panel-grid-card__title{font-size:var(--text-sm)}}@container panel-card (height<=179px){.panel-grid-card{padding:var(--space-3);gap:var(--space-2)}.panel-grid-card__title{font-size:var(--text-sm)}}@container panel-card (width>=420px) and (height>=280px){.panel-grid-card{padding:var(--space-5)}.panel-grid-card__title{font-size:var(--text-lg)}}.panel-creation-modal{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface-strong);box-shadow:var(--app-shadow-soft);width:100%;max-width:600px;color:var(--app-text);padding:0}.panel-creation-modal[open]{animation:panel-creation-modal-in var(--transition-slow) both}@keyframes panel-creation-modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}.panel-creation-modal--wide{max-width:840px}.panel-creation-modal::backdrop{background:var(--app-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel-creation-modal__inner{gap:var(--space-4);flex-direction:column;padding:0;display:flex}.panel-creation-modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--app-border-subtle);display:flex}.panel-creation-modal__title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--app-text);margin:0}.panel-creation-modal__close{width:var(--control-sm);height:var(--control-sm);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.panel-creation-modal__close:hover{background:var(--app-surface-raised);color:var(--app-text)}.panel-creation-modal__discard-confirm{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-top:calc(-1 * var(--space-3));border:1px solid color-mix(in srgb, var(--app-error) 40%, transparent);border-radius:var(--app-radius-sm);background:var(--app-error-surface);color:var(--app-text);display:flex}.panel-creation-modal__discard-confirm-text{font-size:var(--text-xs);color:var(--app-text)}.panel-creation-modal__discard-confirm-actions{align-items:center;gap:var(--space-2);display:inline-flex}.panel-creation-modal__discard-confirm-btn{height:26px;padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;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{border-color:color-mix(in srgb, var(--app-error) 60%, transparent);color:var(--app-error)}.panel-creation-modal__discard-confirm-btn--danger:hover{background:var(--app-error-surface);border-color:var(--app-error);color:var(--app-error)}.panel-creation-modal__type-grid,.panel-creation-modal__template-step,.panel-creation-modal__datatype-step,.panel-creation-modal__name-entry{padding:var(--space-5);padding-top:0}.panel-creation-modal__type-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.panel-creation-modal__type-card{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition);font-size:var(--text-sm);flex-direction:column;display:flex}.panel-creation-modal__type-card:hover,.panel-creation-modal__type-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-raised);outline:none}.panel-creation-modal__type-icon{font-size:var(--text-2xl);line-height:1}.panel-creation-modal__type-label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.panel-creation-modal__type-description{font-size:var(--text-xs);color:var(--app-text-muted);text-align:center;line-height:1.35}.panel-creation-modal__form{gap:var(--space-5);flex-direction:column;display:flex}.panel-creation-modal__field{gap:var(--space-2);flex-direction:column;display:flex}.panel-creation-modal__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--app-text-muted)}.panel-creation-modal__input{min-height:var(--control-md);padding:0 var(--space-3);background:var(--app-surface-soft);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--text-sm);transition:border-color var(--app-transition), box-shadow var(--app-transition);outline:none}.panel-creation-modal__input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim)}select.panel-creation-modal__input{appearance:none;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-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-7);cursor:pointer}.panel-creation-modal__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.panel-creation-modal__btn{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition), border-color var(--app-transition)}.panel-creation-modal__btn--secondary{border:1px solid var(--app-border-subtle);color:var(--app-text-muted);background:0 0}.panel-creation-modal__btn--secondary:hover{color:var(--app-text);border-color:var(--app-border-strong);background:var(--app-surface-raised)}.panel-creation-modal__btn--primary{background:var(--app-accent);color:var(--app-accent-ink);border:none}.panel-creation-modal__btn--primary:hover:not(:disabled){background:var(--app-accent-strong)}.panel-creation-modal__btn--primary:disabled{opacity:.45;cursor:not-allowed}.panel-creation-modal__name-entry{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:start;display:grid}.panel-creation-preview__frame{gap:var(--space-3);padding:var(--space-4);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;display:flex;overflow:hidden}.panel-creation-preview__header{flex-shrink:0}.panel-creation-preview__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;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<=768px){.panel-creation-modal__name-entry{grid-template-columns:1fr}.panel-creation-preview{display:none}}.panel-creation-modal__template-step{gap:var(--space-5);flex-direction:column;display:flex}.panel-creation-modal__template-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.panel-creation-modal__template-card{align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--app-border-subtle);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-color var(--app-transition);flex-direction:column;display:flex}.panel-creation-modal__template-card:hover,.panel-creation-modal__template-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-raised);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:var(--text-sm);font-weight:var(--weight-medium)}.panel-creation-modal__template-description{font-size:var(--text-xs);color:var(--app-text-muted);line-height:1.35}.panel-creation-modal__datatype-step{gap:var(--space-5);flex-direction:column;display:flex}.panel-creation-modal__datatype-list{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.panel-creation-modal__datatype-card{align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--app-border-subtle);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-color var(--app-transition);flex-direction:column;width:100%;display:flex}.panel-creation-modal__datatype-card:hover,.panel-creation-modal__datatype-card:focus-visible{border-color:var(--app-accent);background:var(--app-surface-raised);outline:none}.panel-creation-modal__datatype-card--selected{border-color:var(--app-accent);background:var(--app-accent-dim)}.panel-creation-modal__datatype-name{font-size:var(--text-sm);font-weight:var(--weight-medium)}.panel-creation-modal__datatype-empty{padding:var(--space-6);text-align:center;color:var(--app-text-muted);font-size:var(--text-sm);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{padding:var(--space-6);text-align:center;color:var(--app-text-muted);font-size:var(--text-sm)}.save-state-indicator{align-items:center;gap:var(--space-2);display:flex;position:relative}.save-state-indicator__label{font-size:var(--text-xs);color:var(--app-text-muted);white-space:nowrap}.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;font-size:var(--text-sm);color:var(--app-text-muted);margin:16px 0}.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{font-size:var(--text-xs);color:var(--app-text);align-items:center;gap:12px;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);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:capitalize;border-radius:999px;padding:2px 8px}.run-history-modal__status--succeeded{color:var(--app-success);border-color:color-mix(in srgb, var(--app-success) 40%, transparent);background:var(--app-success-surface)}.run-history-modal__status--failed{color:var(--app-error);border-color:color-mix(in srgb, var(--app-error) 40%, transparent);background:var(--app-error-surface)}.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);font-size:var(--text-xs);cursor:pointer;background:0 0;margin-left:auto;padding:0 8px}.run-history-modal__row-error{border-radius:var(--app-radius-sm);background:var(--app-error-surface);color:var(--app-error);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-all;margin:8px 0 0;padding:10px}.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:var(--text-xs)}.preview-table thead th{background:var(--app-surface-soft);color:var(--app-text-muted);font-weight:var(--weight-semibold);text-align:left;border-bottom:1px solid var(--app-border-subtle);white-space:nowrap;padding:6px 10px;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);font-size:var(--text-xs);margin:12px 0 0}.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-surface-soft);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-error-surface)}.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-surface-soft);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-surface-raised)}.pipeline-detail-page{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.pipeline-detail-page__back-nav{font-size:var(--text-xs);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;display:flex}.pipeline-detail-page__back-link{color:var(--app-accent);font-weight:var(--weight-medium);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{font-size:var(--text-xs);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;display:flex}.pipeline-detail-page__meta-bar-item{align-items:center;gap:4px;display:flex}.pipeline-detail-page__meta-bar-label{font-weight:var(--weight-medium);color:var(--app-text-muted)}.pipeline-detail-page__meta-bar-badge{font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;border-radius:10px;align-items:center;padding:1px 8px;display:inline-flex}.pipeline-detail-page__meta-bar-badge--succeeded{background:var(--app-success-surface);color:var(--app-success)}.pipeline-detail-page__meta-bar-badge--failed{background:var(--app-error-surface);color:var(--app-error)}.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{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);white-space:nowrap;padding-top:6px}.pipeline-detail-page__source-chips{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.pipeline-detail-page__source-bar-loading{font-size:var(--text-xs);color:var(--app-text-muted)}.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-dim)}.pipeline-detail-page__source-chip-toggle{border:none;border-right:1px solid var(--app-border-subtle);color:var(--app-text);font-size:var(--text-xs);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px;display:flex}.pipeline-detail-page__source-chip--active .pipeline-detail-page__source-chip-toggle{color:var(--app-text);border-right-color:var(--app-accent-mid)}.pipeline-detail-page__source-chip-name{font-weight:var(--weight-medium)}.pipeline-detail-page__source-chip-count{font-size:var(--text-micro);color:var(--app-text-muted);font-family:var(--font-mono)}.pipeline-detail-page__source-chip-preview-btn{color:var(--app-text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:4px 8px}.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);font-size:var(--text-xs);width:100%}.pipeline-detail-page__source-preview-th{text-align:left;color:var(--app-text-muted);border-bottom:1px solid var(--app-border-strong);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);font-size:var(--text-xs);cursor:pointer;background:0 0;padding:4px 10px}.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{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.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);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:8px 18px}.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);font-size:var(--text-sm);cursor:pointer;background:0 0;padding:8px 20px}.pipeline-detail-page__add-step-dashed-btn:hover{background:var(--app-accent-surface);border-style:solid}.pipeline-detail-page__op-dropdown{z-index:var(--z-popover);background:var(--app-surface-strong);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-soft);min-width:200px;margin:0;padding:4px;list-style:none}.pipeline-detail-page__op-dropdown-item{border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;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-border-strong);background:var(--app-surface-raised)}.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{font-size:var(--text-sm);flex-shrink:0}.pipeline-detail-page__step-card-label{font-size:var(--text-sm);font-weight:var(--weight-medium);flex:1}.pipeline-detail-page__step-card-count{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--app-text-muted)}.pipeline-detail-page__step-card-chevron{font-size:var(--text-xs);color:var(--app-text-muted);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-border-subtle);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pipeline-detail-page__step-card-desc{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.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);font-size:var(--text-xs);border-radius:var(--app-radius-sm);padding:2px 7px}.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{background:var(--app-error-surface);color:var(--app-error);border:1px solid color-mix(in srgb, var(--app-error) 35%, transparent);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);font-size:var(--text-xs);cursor:pointer;background:0 0;padding:4px 10px}.pipeline-detail-page__step-card-preview-btn:hover{background:var(--app-accent-surface)}.pipeline-detail-page__step-card-remove-btn{border:1px solid color-mix(in srgb, var(--app-error) 35%, transparent);border-radius:var(--app-radius-sm);color:var(--app-error);font-size:var(--text-xs);cursor:pointer;background:0 0;padding:4px 10px}.pipeline-detail-page__step-card-remove-btn:hover{background:var(--app-error-surface)}.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{font-size:var(--text-xs);color:var(--app-text-muted);text-align:center;padding:10px 0}.pipeline-detail-page__step-preview-error{color:var(--app-error)}.pipeline-detail-page__step-preview-table-wrapper{overflow-x:auto}.pipeline-detail-page__step-preview-table{border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-xs);width:100%}.pipeline-detail-page__step-preview-th{text-align:left;background:var(--app-surface-soft);color:var(--app-text-muted);font-weight:var(--weight-semibold);border-bottom:1px solid var(--app-border-subtle);white-space:nowrap;padding:6px 8px}.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:1px solid var(--app-border-subtle);background:var(--app-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{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-accent)}.pipeline-detail-page__footer-output-name{border:none;border-bottom:1px dashed var(--app-accent-mid);color:var(--app-text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background:0 0;padding:1px 4px}.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);font-size:var(--text-sm);outline:none;padding:2px 6px}.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);font-size:var(--text-micro);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text-muted);border:1px solid var(--app-border-subtle);padding:1px 6px}.pipeline-detail-page__footer-inferred{font-size:var(--text-micro);color:var(--app-text-muted)}.pipeline-detail-page__footer-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.pipeline-detail-page__footer-stats{font-size:var(--text-xs);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);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;align-items:center;gap:6px;padding:5px 12px;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{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.04em}.pipeline-detail-page__compute-input,.pipeline-detail-page__limit-config-input{width:100%}.pipeline-detail-page__compute-fields-hint{font-size:var(--text-xs);color:var(--app-text-muted);flex-wrap:wrap;align-items:center;gap:6px;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);font-size:var(--text-micro);border-radius:4px;padding:1px 6px}.pipeline-detail-page__run-btn{height:var(--control-md);padding:0 var(--space-4);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition);border:none}.pipeline-detail-page__run-btn:hover{background:var(--app-accent-strong)}.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);font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.pipeline-detail-page__run-status--queued{background:var(--app-surface-raised);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{background:var(--app-accent-dim);color:var(--app-accent)}.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{background:var(--app-success-surface);color:var(--app-success)}.pipeline-detail-page__run-status--failed{background:var(--app-error-surface);color:var(--app-error)}.pipeline-detail-page__run-status--dry_run{background:var(--app-surface-raised);color:var(--app-text-muted);border:1px dashed var(--app-border-subtle)}.pipeline-detail-page__loading{height:100%;min-height:120px;font-size:var(--text-sm);color:var(--app-text-muted);justify-content:center;align-items:center;display:flex}.pipeline-detail-page__error{color:var(--app-error);font-size:var(--text-sm);justify-content:center;align-items:center;padding:24px;display:flex}.pipeline-detail-page__save-btn,.pipeline-detail-page__cancel-btn{border-radius:var(--app-radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border:none;padding:6px 14px;transition:background .15s}.pipeline-detail-page__save-btn{background:var(--app-accent);color:var(--app-accent-ink)}.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);color:var(--app-text-muted)}.pipeline-detail-page__cancel-btn:hover{background:var(--app-surface-raised);color:var(--app-text)}.pipeline-detail-page__cancel-confirm{align-items:center;gap:6px;display:inline-flex}.pipeline-detail-page__cancel-confirm-text{font-size:var(--text-xs);color:var(--app-text-muted);margin-right:2px}.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);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition), background-color var(--app-transition);background:0 0;padding:0 12px;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{border-color:color-mix(in srgb, var(--app-error) 60%, transparent);color:var(--app-error)}.pipeline-detail-page__cancel-confirm-btn--danger:hover{background:var(--app-error-surface);border-color:var(--app-error);color:var(--app-error)}.pipeline-detail-page__dry-run-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--app-transition);background:0 0;padding:6px 14px}.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{font-size:var(--text-xs);color:var(--app-error);margin-right:8px}@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;font-size:var(--text-xs);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;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{font-size:var(--text-xs);color:var(--app-text-muted);flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.pipeline-detail-page__filter-combinator-label{font-size:var(--text-xs);color:var(--app-text-muted)}.pipeline-detail-page__filter-combinator-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);height:24px;color:var(--app-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);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}.pipeline-detail-page__filter-combinator-btn:hover{border-color:var(--app-border-strong);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 var(--app-border-subtle);border-radius:var(--app-radius-sm);width:26px;height:26px;color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pipeline-detail-page__filter-remove-btn:hover{border-color:var(--app-error);color:var(--app-error)}.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);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-style var(--app-transition);background:0 0;align-self:flex-start;padding:5px 10px}.pipeline-detail-page__filter-add-btn:hover{background:var(--app-accent-surface);border-style:solid}.pipeline-detail-page__filter-warning{font-size:var(--text-xs);color:var(--app-error);align-items:center;gap:4px;display:inline-flex}.pipeline-detail-page__sort-config{flex-direction:column;gap:10px;display:flex}.pipeline-detail-page__sort-config-empty{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.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{font-size:var(--text-xs);color:var(--app-text-muted);font-variant-numeric:tabular-nums;text-align:right}.pipeline-detail-page__sort-config-direction-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);height:30px;color:var(--app-text);font-size:var(--text-xs);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;display:inline-flex}.pipeline-detail-page__sort-config-direction-btn:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised)}.pipeline-detail-page__sort-config-remove-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:26px;height:26px;color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--app-transition), color var(--app-transition);background:0 0;justify-content:center;align-items:center;display:inline-flex}.pipeline-detail-page__sort-config-remove-btn:hover{border-color:var(--app-error);color:var(--app-error)}.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);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-style var(--app-transition);background:0 0;align-self:flex-start;padding:5px 10px}.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);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0}.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{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);margin:0}.pipelines-page__loading,.pipelines-page__error{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.pipelines-page__error{color:var(--app-error)}.pipeline-empty-state{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0;display:flex}.pipeline-empty-state__message{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.pipeline-empty-state__cta{height:var(--control-sm);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;letter-spacing:.02em;transition:background-color var(--app-transition);border:1px solid #0000;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.pipeline-empty-state__cta:hover{background: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:var(--text-sm)}.pipeline-list-table__th{text-align:left;padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);border-bottom:1px solid var(--app-border-subtle)}.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:var(--weight-medium);text-decoration:none}.pipeline-list-table__link:hover{color:var(--app-accent);text-decoration:underline}.pipeline-status{font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:999px;padding:2px 7px;display:inline-block}.pipeline-status--succeeded{background:var(--app-success-surface);color:var(--app-success)}.pipeline-status--failed{background:var(--app-error-surface);color:var(--app-error)}.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{height:var(--control-sm);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;letter-spacing:.02em;transition:background-color var(--app-transition);border:1px solid #0000;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.pipelines-page__create-btn:hover{background: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);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition), color var(--app-transition);background:0 0}.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{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--app-text-muted)}.create-pipeline-modal__field-error{font-size:var(--text-xs);color:var(--app-error);margin:0}.create-pipeline-modal__error{font-size:var(--text-sm);color:var(--app-error);margin:0}.sources-page{gap:var(--space-7);padding:var(--space-5) var(--space-6);flex-direction:column;min-height:100%;display:flex}.sources-page__section{gap:var(--space-3);flex-direction:column;display:flex}.sources-page__section-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--app-border-subtle);display:flex}.sources-page__section-title{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);margin:0}.sources-page__add-btn{align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;letter-spacing:.02em;transition:background-color var(--app-transition);border:1px solid #0000;display:inline-flex}.sources-page__add-btn:hover{background:var(--app-accent-strong)}.sources-page__loading,.sources-page__error{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.sources-page__error{color:var(--app-error)}.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{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--app-text-muted)}.add-source-modal__optional{font-weight:var(--weight-regular);opacity:.7}.add-source-modal__input[type=file]{font-size:var(--text-xs);color:var(--app-text-muted);padding:5px 0}.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);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--app-transition), color var(--app-transition);background:0 0;padding:4px 12px}.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{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.add-source-modal__fields-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.add-source-modal__fields-table th{text-align:left;color:var(--app-text-muted);font-weight:var(--weight-medium);border-bottom:1px solid var(--app-border-subtle);padding:6px 8px}.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);font-size:var(--text-xs);color:var(--app-accent);padding-left:8px!important}.add-source-modal__cell-input,.add-source-modal__cell-select{background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);width:100%;color:var(--app-text);font-size:var(--text-xs);transition:border-color var(--app-transition);outline:none;padding:4px 6px;font-family:inherit}.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{font-size:var(--text-sm);color:var(--app-error);margin:0}.add-source-modal__action-link{color:var(--app-text-muted);font-size:var(--text-xs);cursor:pointer;transition:color var(--app-transition);background:0 0;border:none;padding:2px;line-height:1}.add-source-modal__action-link:hover:not(:disabled){color:var(--app-error)}.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-lg);background:var(--app-surface);box-shadow:var(--app-shadow-card);padding:var(--space-5)}.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{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.source-detail-panel__type{font-size:var(--text-xs);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}.source-detail-panel__preview-btn{height:var(--control-sm);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);flex-shrink:0;padding:0 12px}.source-detail-panel__preview-btn:hover:not(:disabled){background:var(--app-surface-raised);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{height:var(--control-sm);border-radius:var(--app-radius-sm);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);padding:0 10px}.source-detail-panel__delete-btn{border:1px solid var(--app-border-subtle);color:var(--app-error);background:0 0}.source-detail-panel__delete-btn:hover{background:var(--app-error-surface);border-color:var(--app-error)}.source-detail-panel__delete-confirm-btn{border:1px solid var(--app-error);background:var(--app-error);color:var(--app-bg)}.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{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);color:var(--app-text-muted);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);margin:0 0 6px}.source-detail-panel__preview-empty{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.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:var(--text-xs);overflow:hidden}.source-detail-panel__schema-table thead th{background:var(--app-surface-soft);color:var(--app-text-muted);font-weight:var(--weight-semibold);text-align:left;border-bottom:1px solid var(--app-border-subtle);padding:6px 10px}.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(--font-mono);font-size:var(--text-xs)}.source-detail-panel__error{border-radius:var(--app-radius-sm);background:var(--app-danger-surface);color:var(--app-error);font-size:var(--text-xs);margin:8px 0 0;padding:8px}.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{font-size:var(--text-xs);color:var(--app-text-muted);margin:4px 0 8px}.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{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--app-text-muted);margin:0}.type-registry-page__loading,.type-registry-page__error{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.type-registry-page__error{color:var(--app-error)}.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{font-size:var(--text-sm);color:var(--app-text-muted);margin:0}.type-registry-browser__list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.type-registry-browser__item{border-radius:var(--app-radius-md);overflow:hidden}.type-registry-browser__item--selected{background:var(--app-accent-dim)}.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);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{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.type-registry-browser__item-count{font-size:var(--text-xs);color:var(--app-text-muted);flex-shrink:0}.type-registry-browser__empty-state{text-align:center;padding:2rem 1rem}.type-registry-browser__empty-message{font-size:var(--text-sm);color:var(--app-text-muted);margin:0 0 1rem}.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);font-size:var(--text-xs);transition:color var(--app-transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.type-registry-browser__delete-btn:hover{color:var(--app-error)}.type-registry-browser__item-confirm{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.type-registry-browser__confirm-text{font-size:var(--text-xs);color:var(--app-text-muted)}.type-registry-browser__confirm-btn{border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);cursor:pointer;font-size:var(--text-xs);color:var(--app-text);background:0 0;padding:2px 6px}.type-registry-browser__confirm-btn--danger{border-color:var(--app-error);color:var(--app-error)}.type-registry-browser__delete-error{font-size:var(--text-xs);color:var(--app-error);background:var(--app-danger-surface);border-radius:var(--app-radius-sm);margin:0 0 .5rem;padding:.5rem}.type-detail-panel{background:var(--app-surface);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-card);padding:var(--space-5);flex-direction:column;gap:1rem;display:flex}.type-detail-panel__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.type-detail-panel__preview-btn{height:var(--control-sm);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);flex-shrink:0;padding:0 12px}.type-detail-panel__preview-btn:hover:not(:disabled){background:var(--app-surface-raised);border-color:var(--app-border-strong)}.type-detail-panel__preview-btn:disabled{opacity:.6;cursor:not-allowed}.type-detail-panel__section-title{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);color:var(--app-text-muted);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking);margin:0 0 6px}.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{font-size:var(--text-xs);color:var(--app-text-muted);margin:0}.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{height:var(--control-sm);border-radius:var(--app-radius-sm);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--app-transition), border-color var(--app-transition);padding:0 10px}.type-detail-panel__delete-btn{border:1px solid var(--app-border-subtle);color:var(--app-error);background:0 0}.type-detail-panel__delete-btn:hover{background:var(--app-error-surface);border-color:var(--app-error)}.type-detail-panel__delete-confirm-btn{border:1px solid var(--app-error);background:var(--app-error);color:var(--app-bg)}.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{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--app-text);margin:0}.type-detail-panel__close{color:var(--app-text-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--app-transition);background:0 0;border:none;padding:.25rem;line-height:1}.type-detail-panel__close:hover{color:var(--app-text)}.type-detail-panel__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.type-detail-panel__table th{text-align:left;color:var(--app-text-muted);font-weight:var(--weight-medium);border-bottom:1px solid var(--app-border-subtle);padding:.4375rem .5rem}.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);font-size:var(--text-xs);color:var(--app-accent);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);font-size:var(--text-xs);border-radius:6px;outline:none;padding:.3125rem .5rem}.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{font-size:var(--text-sm);color:var(--app-error);margin:0}.type-detail-panel__saved{font-size:var(--text-sm);color:var(--app-success);margin:0}.type-detail-panel__actions{justify-content:flex-end;display:flex}.type-detail-panel__save-btn{height:var(--control-md);padding:0 var(--space-5);border-radius:var(--app-radius-sm);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--app-transition);border:none}.type-detail-panel__save-btn:hover:not(:disabled){background:var(--app-accent-strong)}.type-detail-panel__save-btn:disabled{opacity:.55;cursor:not-allowed}.type-detail-panel__name-input{font-size:var(--text-base);font-weight:var(--weight-semibold);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}.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(--app-border-subtle);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{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin:0}.computed-fields-editor__add-btn{font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.2rem .5rem}.computed-fields-editor__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.computed-fields-editor__item{font-size:var(--text-xs);border-bottom:1px solid var(--app-border-subtle);align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.computed-fields-editor__field-name{font-weight:var(--weight-medium);min-width:6rem}.computed-fields-editor__field-expr{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--app-text-muted);flex:1}.computed-badge{font-size:var(--text-micro);background:var(--app-accent-dim);color:var(--app-accent);border-radius:3px;padding:.1rem .35rem}.computed-fields-editor__item-actions{gap:.3rem;display:flex}.computed-fields-editor__edit-btn,.computed-fields-editor__remove-btn{font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid;border-radius:3px;padding:.15rem .4rem}.computed-fields-editor__empty{font-size:var(--text-xs);color:var(--app-text-muted)}.computed-field-form{border-top:1px solid var(--app-border-subtle);padding:.75rem 0}.computed-field-form__row{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.computed-field-form__label{font-size:var(--text-xs);font-weight:var(--weight-medium)}.computed-field-form__input,.computed-field-form__select{font-size:var(--text-sm);border:1px solid var(--app-border-subtle);border-radius:4px;width:100%;padding:.35rem .5rem}.computed-field-form__hint{font-size:var(--text-xs);color:var(--app-text-muted)}.computed-field-form__error{font-size:var(--text-xs);color:var(--app-error)}.computed-field-form__actions{gap:.5rem;margin-top:.5rem;display:flex}.computed-field-form__btn{font-size:var(--text-xs);cursor:pointer;border:1px solid;border-radius:4px;padding:.3rem .75rem}.computed-field-form__btn--save{background:var(--app-accent);color:var(--app-accent-ink);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{width:var(--control-sm);height:var(--control-sm);border:1px solid var(--app-border-subtle);cursor:pointer;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-surface-raised)}.user-menu__avatar{object-fit:cover;border-radius:50%;width:22px;height:22px;display:block}.user-menu__initials{background:var(--app-accent);width:22px;height:22px;color:var(--app-accent-ink);font-size:var(--text-micro);font-weight:var(--weight-bold);text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex}.user-menu__popover{z-index:var(--z-popover);width:210px;padding:var(--space-1);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-strong);box-shadow:var(--app-shadow-soft)}.user-menu__header{padding:var(--space-2) var(--space-3);flex-direction:column;gap:2px;display:flex}.user-menu__display-name{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__email{font-size:var(--text-micro);color:var(--app-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__divider{background:var(--app-border-subtle);height:1px;margin:var(--space-1) 0}.user-menu__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background-color var(--app-transition), color var(--app-transition);background:0 0;border:none;display:flex}.user-menu__item:hover{background:var(--app-surface-raised)}.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-text)}.user-menu__item--signout{color:var(--app-error)}.user-menu__item--signout:hover{background:var(--app-error-surface);color:var(--app-error)}.user-menu__section{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.user-menu__section-label{font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);color:var(--app-text-muted);text-transform:uppercase;letter-spacing:var(--eyebrow-tracking)}.auth-page{min-height:100vh;padding:var(--space-6);background-color:var(--app-bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background-image:radial-gradient(720px 420px at 50% 112%, var(--app-accent-dim), transparent 70%), radial-gradient(var(--canvas-dot) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:auto,26px 26px;position:absolute;inset:0}.auth-card{z-index:1;width:100%;max-width:400px;padding:var(--space-8) var(--space-7);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft);animation:.45s cubic-bezier(.3,.9,.4,1) both auth-card-in;position:relative}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.auth-card__brand{align-items:center;gap:var(--space-2);margin-bottom:var(--space-7);display:flex}.auth-card__brand-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:.01em;color:var(--app-text);line-height:1}.auth-card__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-medium);letter-spacing:-.02em;line-height:1.15}.auth-card__subtitle{margin:0 0 var(--space-7);color:var(--app-text-muted);font-size:var(--text-sm)}.auth-field{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.auth-field label{font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-medium);color:var(--app-text-muted);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.auth-field input{min-height:var(--control-lg);padding:0 var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);color:var(--app-text);font-size:var(--text-sm);transition:border-color var(--app-transition), box-shadow var(--app-transition);outline:none}.auth-field input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-dim)}.auth-field__error{font-size:var(--text-xs);color:var(--app-error)}.auth-submit{width:100%;margin-top:var(--space-2);height:var(--control-lg);border-radius:var(--app-radius-md);background:var(--app-accent);color:var(--app-accent-ink);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--app-transition);border:none}.auth-submit:hover:not(:disabled){background:var(--app-accent-strong)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-divider{align-items:center;gap:var(--space-3);margin:var(--space-5) 0;color:var(--app-text-muted);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--app-border-subtle);flex:1}.auth-google-btn{justify-content:center;align-items:center;gap:var(--space-3);width:100%;height:var(--control-lg);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);color:var(--app-text);font-size:var(--text-sm);cursor:not-allowed;opacity:.6;background:0 0;display:flex}.auth-error{margin-top:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--app-error) 30%, transparent);border-radius:var(--app-radius-md);background:var(--app-error-surface);color:var(--app-error);font-size:var(--text-sm)}.auth-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--app-text-muted)}.auth-footer a{color:var(--app-accent);font-weight:var(--weight-semibold);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)}}.error-boundary{padding:var(--space-8) var(--space-4);justify-content:center;align-items:flex-start;display:flex}.error-boundary__card{width:100%;max-width:560px;padding:var(--space-6);border:1px solid color-mix(in srgb, var(--app-error) 30%, transparent);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.error-boundary__heading{margin:0 0 var(--space-2);color:var(--app-text);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.error-boundary__message{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--app-error) 30%, transparent);border-radius:var(--app-radius-md);background:var(--app-error-surface);color:var(--app-error);font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-word}.error-boundary__details{margin:0 0 var(--space-4);color:var(--app-text-muted);font-size:var(--text-sm)}.error-boundary__details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.error-boundary__stack{margin:var(--space-2) 0 0;max-height:240px;padding:var(--space-3);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-md);background:var(--app-surface-soft);color:var(--app-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;line-height:1.5;overflow:auto}.error-boundary__actions{gap:var(--space-3);display:flex}.error-boundary__button{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--app-border-subtle);border-radius:var(--app-radius-sm);color:var(--app-text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--app-transition), background-color var(--app-transition);background:0 0}.error-boundary__button:hover{border-color:var(--app-border-strong);background:var(--app-surface-raised)}.error-boundary__button--primary{background:var(--app-accent);color:var(--app-accent-ink);border-color:#0000}.error-boundary__button--primary:hover{background:var(--app-accent-strong);border-color:#0000}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Schibsted Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;font-family:var(--font-sans);--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;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--h1-size:var(--text-3xl);--eyebrow-size:var(--text-micro);--eyebrow-tracking:.14em;--eyebrow-weight:var(--weight-medium);--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;--control-sm:28px;--control-md:32px;--control-lg:40px;--app-radius-sm:6px;--app-radius-md:9px;--app-radius-lg:14px;--app-radius-pill:9999px;--app-transition:.16s ease;--transition-slow:.28s cubic-bezier(.3, .9, .4, 1);--z-popover-scrim:99;--z-popover:100;--z-toast:1000}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#121110;--app-surface:#1a1816;--app-surface-soft:#161514;--app-surface-raised:#232019;--app-surface-strong:#262320;--app-text:#f2efe9;--app-text-muted:#9b948a;--app-border-subtle:#f2efe917;--app-border-strong:#f2efe92e;--app-accent:#f97316;--app-accent-ink:#16130f;--app-accent-strong:color-mix(in srgb, var(--app-accent) 78%, white);--app-accent-surface:color-mix(in srgb, var(--app-accent) 15%, transparent);--app-accent-dim:color-mix(in srgb, var(--app-accent) 10%, transparent);--app-accent-mid:color-mix(in srgb, var(--app-accent) 30%, transparent);--app-bg-accent:color-mix(in srgb, var(--app-accent) 7%, transparent);--app-bg-secondary:color-mix(in srgb, var(--app-accent) 4%, transparent);--app-success:#4cc38a;--app-warning:#f5b944;--app-error:#f07561;--app-info:var(--app-accent);--app-success-surface:color-mix(in srgb, var(--app-success) 14%, transparent);--app-warning-surface:color-mix(in srgb, var(--app-warning) 14%, transparent);--app-error-surface:color-mix(in srgb, var(--app-error) 14%, transparent);--app-danger:var(--app-error);--app-danger-surface:var(--app-error-surface);--app-overlay:#0a09089e;--app-shadow-card:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--app-shadow-soft:0 4px 16px #00000059, 0 24px 64px -16px #0000008c;--canvas-dot:#f2efe912}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#f4f2ed;--app-surface:#fdfcfa;--app-surface-soft:#efece6;--app-surface-raised:#fff;--app-surface-strong:#fff;--app-text:#211d19;--app-text-muted:#726b62;--app-border-subtle:#211d191c;--app-border-strong:#211d1933;--app-accent:#ea580c;--app-accent-ink:#fff;--app-accent-strong:color-mix(in srgb, var(--app-accent) 76%, black);--app-accent-surface:color-mix(in srgb, var(--app-accent) 11%, transparent);--app-accent-dim:color-mix(in srgb, var(--app-accent) 8%, transparent);--app-accent-mid:color-mix(in srgb, var(--app-accent) 26%, transparent);--app-bg-accent:color-mix(in srgb, var(--app-accent) 5%, transparent);--app-bg-secondary:color-mix(in srgb, var(--app-accent) 3%, transparent);--app-success:#1a7f4e;--app-warning:#99621e;--app-error:#c73a2a;--app-info:var(--app-accent);--app-success-surface:color-mix(in srgb, var(--app-success) 11%, transparent);--app-warning-surface:color-mix(in srgb, var(--app-warning) 11%, transparent);--app-error-surface:color-mix(in srgb, var(--app-error) 10%, transparent);--app-danger:var(--app-error);--app-danger-surface:var(--app-error-surface);--app-overlay:#211d196b;--app-shadow-card:0 1px 2px #211d190d, 0 8px 24px -12px #211d1924;--app-shadow-soft:0 4px 16px #211d1914, 0 24px 64px -16px #211d1947;--canvas-dot:#211d1917}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--app-bg);min-height:100vh;color:var(--app-text);font-size:var(--text-sm);-webkit-font-smoothing:antialiased;transition:background-color var(--app-transition), color var(--app-transition);margin:0;line-height:1.5}body,button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit}::selection{background:var(--app-accent-mid)}:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.eyebrow{font-family:var(--font-mono);font-size:var(--eyebrow-size);letter-spacing:var(--eyebrow-tracking);font-weight:var(--eyebrow-weight);text-transform:uppercase}.wordmark{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:.01em}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
