@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-base);font-family:inherit}.button--small{padding:6px 12px;font-size:var(--font-size-sm)}.button--medium{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.button--large{padding:12px var(--spacing-lg);font-size:var(--font-size-lg)}.button--primary{background-color:var(--c-primary);color:#fff}.button--primary:hover:not(:disabled){background-color:var(--c-primary-dark)}.button--secondary{background-color:var(--c-text-secondary);color:#fff}.button--secondary:hover:not(:disabled){background-color:var(--c-text-muted)}.button--outline{background-color:transparent;border:1px solid var(--c-primary);color:var(--c-primary)}.button--outline:hover:not(:disabled){background-color:var(--c-primary-alpha)}.button--ghost{background-color:transparent;color:var(--c-text-secondary)}.button--ghost:hover:not(:disabled){background-color:var(--c-bg-subtle)}.button--danger{background-color:var(--c-error);color:#fff}.button--danger:hover:not(:disabled){background-color:var(--c-error-dark, #b91c1c)}.button--danger:focus-visible{outline-color:var(--c-error)}.button:disabled{opacity:.5;cursor:not-allowed}.button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.button--loading{position:relative}.button__spinner{width:1em;height:1em;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .6s linear infinite}@media (prefers-reduced-motion: reduce){.button__spinner{animation:none}}.button__accelerator{text-decoration:none}body[data-alt-held] .button__accelerator{text-decoration:underline;text-underline-offset:2px}.dropdown-menu{--dropdown-menu-min-width: 180px;--dropdown-menu-max-width: 280px;--dropdown-menu-icon-size: 18px;--dropdown-menu-check-width: 20px;display:inline-block}.dropdown-menu__trigger-wrapper{display:inline-flex}.dropdown-menu__trigger{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast)}.dropdown-menu__trigger:hover{background:var(--c-bg-subtle)}.dropdown-menu__trigger:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.dropdown-menu__trigger:disabled{opacity:.5;cursor:not-allowed}.dropdown-menu__panel{min-width:var(--dropdown-menu-min-width);max-width:var(--dropdown-menu-max-width);padding:var(--spacing-xs) 0;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.dropdown-menu__list{list-style:none;margin:0;padding:0}.dropdown-menu__item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin:0 var(--spacing-xs);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.dropdown-menu__item:hover,.dropdown-menu__item--active{background:var(--c-bg-subtle)}.dropdown-menu__item:focus{outline:none}.dropdown-menu__item:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.dropdown-menu__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropdown-menu__item--danger{color:var(--c-error)}.dropdown-menu__item--danger:hover,.dropdown-menu__item--danger.dropdown-menu__item--active{background:var(--c-error-alpha)}.dropdown-menu__check{display:inline-flex;align-items:center;justify-content:center;width:var(--dropdown-menu-check-width);flex-shrink:0;font-size:var(--font-size-xs);color:var(--c-primary)}.dropdown-menu__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--dropdown-menu-icon-size);height:var(--dropdown-menu-icon-size);flex-shrink:0;color:var(--c-text-muted)}.dropdown-menu__item--active .dropdown-menu__icon,.dropdown-menu__item:hover .dropdown-menu__icon{color:var(--c-text)}.dropdown-menu__item--danger .dropdown-menu__icon{color:var(--c-error)}.dropdown-menu__content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-menu__label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu__description{font-size:var(--font-size-xs);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu__shortcut{margin-left:auto;padding-left:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--c-text-faint);white-space:nowrap}.dropdown-menu__submenu-arrow{margin-left:auto;color:var(--c-text-muted);font-size:var(--font-size-xs)}.dropdown-menu__divider{height:1px;margin:var(--spacing-xs) var(--spacing-md);background:var(--c-border-light)}.dropdown-menu__section{list-style:none}.dropdown-menu__section-header{padding:var(--spacing-sm) var(--spacing-md);padding-top:var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em}.dropdown-menu__section:first-child .dropdown-menu__section-header{padding-top:var(--spacing-sm)}.dropdown-menu__section-list{list-style:none;margin:0;padding:0}.checkbox{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--c-primary);border-radius:var(--radius-sm);flex-shrink:0}.checkbox:disabled,.checkbox--disabled{cursor:not-allowed;opacity:.5}.checkbox:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--c-primary-alpha)}.checkbox--error{accent-color:var(--c-error)}.checkbox--error:focus-visible{outline-color:var(--c-error);box-shadow:0 0 0 4px var(--c-error-alpha)}.tree-view__row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);position:relative;min-height:32px}.tree-view__row:hover{background:var(--c-bg-subtle)}.tree-view__row:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.tree-view__row--depth-0{padding-left:var(--spacing-sm)}.tree-view__row--depth-1{padding-left:calc(var(--spacing-sm) + 20px)}.tree-view__row--depth-2{padding-left:calc(var(--spacing-sm) + 40px)}.tree-view__row--depth-3{padding-left:calc(var(--spacing-sm) + 60px)}.tree-view__row--depth-4{padding-left:calc(var(--spacing-sm) + 80px)}.tree-view__row--depth-5{padding-left:calc(var(--spacing-sm) + 100px)}.tree-view__row--depth-6{padding-left:calc(var(--spacing-sm) + 120px)}.tree-view__row--depth-7{padding-left:calc(var(--spacing-sm) + 140px)}.tree-view__row--depth-8{padding-left:calc(var(--spacing-sm) + 160px)}.tree-view__row--depth-9{padding-left:calc(var(--spacing-sm) + 180px)}.tree-view__row--depth-10{padding-left:calc(var(--spacing-sm) + 200px)}.tree-view__row--depth-11{padding-left:calc(var(--spacing-sm) + 220px)}.tree-view__row--depth-12{padding-left:calc(var(--spacing-sm) + 240px)}.tree-view__row--depth-13{padding-left:calc(var(--spacing-sm) + 260px)}.tree-view__row--depth-14{padding-left:calc(var(--spacing-sm) + 280px)}.tree-view__row--depth-15{padding-left:calc(var(--spacing-sm) + 300px)}.tree-view__row--depth-16{padding-left:calc(var(--spacing-sm) + 320px)}.tree-view__row--depth-17{padding-left:calc(var(--spacing-sm) + 340px)}.tree-view__row--depth-18{padding-left:calc(var(--spacing-sm) + 360px)}.tree-view__row--depth-19{padding-left:calc(var(--spacing-sm) + 380px)}.tree-view__row--depth-20{padding-left:calc(var(--spacing-sm) + 400px)}.tree-view__row--depth-21{padding-left:calc(var(--spacing-sm) + 420px)}.tree-view__row--depth-22{padding-left:calc(var(--spacing-sm) + 440px)}.tree-view__row--depth-23{padding-left:calc(var(--spacing-sm) + 460px)}.tree-view__row--depth-24{padding-left:calc(var(--spacing-sm) + 480px)}.tree-view__row--depth-25{padding-left:calc(var(--spacing-sm) + 500px)}.tree-view__row--depth-26{padding-left:calc(var(--spacing-sm) + 520px)}.tree-view__row--depth-27{padding-left:calc(var(--spacing-sm) + 540px)}.tree-view__row--depth-28{padding-left:calc(var(--spacing-sm) + 560px)}.tree-view__row--depth-29{padding-left:calc(var(--spacing-sm) + 580px)}.tree-view__row--depth-30{padding-left:calc(var(--spacing-sm) + 600px)}.tree-view__row--depth-31{padding-left:calc(var(--spacing-sm) + 620px)}.tree-view__row--selected,.tree-view__row--selected:hover{background:var(--c-primary-alpha)}.tree-view__row--dragged{opacity:.4}.tree-view__row--moving{outline:2px dashed var(--c-primary);outline-offset:-2px}.tree-view__row--drop-before:before{content:"";position:absolute;top:0;left:var(--spacing-sm);right:var(--spacing-sm);height:2px;background:var(--c-primary);border-radius:1px}.tree-view__row--drop-after:after{content:"";position:absolute;bottom:0;left:var(--spacing-sm);right:var(--spacing-sm);height:2px;background:var(--c-primary);border-radius:1px}.tree-view__row--drop-inside{background:var(--c-primary-light);outline:2px solid var(--c-primary);outline-offset:-2px}.tree-view__chevron{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;color:var(--c-text-muted);cursor:pointer;flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast);border-radius:var(--radius-sm)}.tree-view__chevron:hover{color:var(--c-text);background:var(--c-bg-subtle)}.tree-view__chevron--open{transform:rotate(90deg)}.tree-view__chevron--hidden{visibility:hidden}.tree-view__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:1.2em;font-size:var(--font-size-sm)}.tree-view__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--c-text)}.tree-view__edit-input{flex:1;min-width:0;padding:2px var(--spacing-xs);border:1px solid var(--c-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);outline:none;background:var(--c-bg)}.tree-view__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-xs);border-radius:var(--radius-full);background:var(--c-primary-light);color:var(--c-text-secondary);font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.tree-view__status{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0;background-color:var(--item-color)}.tree-view__actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition-fast);margin-left:auto;flex-shrink:0}.tree-view__row:hover .tree-view__actions{opacity:1}.tree-view__action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:none;color:var(--c-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.tree-view__action-btn:hover{background:var(--c-bg-subtle);color:var(--c-text)}.tree-view__action-btn--danger:hover{color:var(--c-error)}.tree-view__children{list-style:none;margin:0;padding:0}.tree-view{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow-y:auto;padding:var(--spacing-xs) 0;font-family:var(--font-sans)}.tree-view__list{list-style:none;margin:0;padding:0}.tree-view__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.tree-view__context-menu{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-xs) 0;min-width:180px;z-index:var(--z-dropdown)}.tree-view__context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-md);border:none;background:none;color:var(--c-text);font-size:var(--font-size-sm);font-family:var(--font-sans);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.tree-view__context-menu-item:hover{background:var(--c-bg-subtle)}.tree-view__context-menu-item--danger{color:var(--c-error)}.tree-view__context-menu-item--disabled{opacity:.5;cursor:not-allowed}.tree-view__context-menu-icon{width:16px;text-align:center;flex-shrink:0}.tree-view__context-menu-label{flex:1}.tree-view__context-menu-shortcut{color:var(--c-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.nav-menu{--nav-menu-icon-size: 18px;--nav-menu-pin-size: 22px;--nav-menu-item-gap: 2px;background:var(--c-bg);border:1px solid var(--c-border);overflow-y:auto;-webkit-user-select:none;user-select:none}.nav-menu--top{border-bottom:2px solid var(--c-border);border-top:none;border-left:none;border-right:none;border-radius:var(--radius-md) var(--radius-md) 0 0;overflow-x:auto}.nav-menu--left{border-right:2px solid var(--c-border);border-top:none;border-bottom:none;border-left:none;border-radius:var(--radius-md) 0 0 var(--radius-md);min-width:200px}.nav-menu--right{border-left:2px solid var(--c-border);border-top:none;border-bottom:none;border-right:none;border-radius:0 var(--radius-md) var(--radius-md) 0;min-width:200px}.nav-menu__list{display:flex;list-style:none;margin:0;padding:var(--spacing-sm);gap:var(--nav-menu-item-gap)}.nav-menu--top .nav-menu__list{flex-direction:row;flex-wrap:wrap}.nav-menu--left .nav-menu__list,.nav-menu--right .nav-menu__list{flex-direction:column}.nav-menu__sublist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nav-menu-item-gap)}.nav-menu__item{display:flex;flex-direction:column}.nav-menu__row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);cursor:pointer}.nav-menu__item:hover>.nav-menu__row{background:var(--c-bg-subtle)}.nav-menu__item:focus-visible{outline:none}.nav-menu__item:focus-visible>.nav-menu__row{outline:2px solid var(--c-primary);outline-offset:-2px}.nav-menu__row--active,.nav-menu__row--active:hover{background:var(--c-primary-alpha)}.nav-menu__row--active .nav-menu__label{color:var(--c-primary-dark);font-weight:600}.nav-menu__row--depth-0{padding-left:var(--spacing-sm)}.nav-menu__row--depth-1{padding-left:var(--spacing-lg)}.nav-menu__row--depth-2{padding-left:var(--spacing-xl)}.nav-menu__row--depth-3{padding-left:var(--spacing-2xl)}.nav-menu__fold{display:inline-flex;align-items:center;justify-content:center;width:var(--nav-menu-icon-size);height:var(--nav-menu-icon-size);padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:transform var(--transition-fast),color var(--transition-fast);flex-shrink:0}.nav-menu__fold:hover{color:var(--c-text);background:var(--c-bg-subtle)}.nav-menu__fold--open{transform:rotate(90deg)}.nav-menu__fold-spacer{display:inline-block;width:var(--nav-menu-icon-size);flex-shrink:0}.nav-menu__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--nav-menu-icon-size);height:var(--nav-menu-icon-size);flex-shrink:0;color:var(--c-text-muted);font-size:var(--font-size-sm)}.nav-menu__row--active .nav-menu__icon{color:var(--c-primary-dark)}.nav-menu__label{flex:1;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;user-select:none}.nav-menu__label--pinned{font-weight:700;color:var(--c-text)}.nav-menu__pin{display:inline-flex;align-items:center;justify-content:center;width:var(--nav-menu-pin-size);height:var(--nav-menu-pin-size);padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-faint);font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.nav-menu__item:hover .nav-menu__pin{opacity:1}.nav-menu__pin--active{opacity:1;color:var(--c-warning)}.nav-menu__pin:hover{color:var(--c-warning);background:var(--c-bg-subtle)}.nav-menu__edit-input{flex:1;padding:2px var(--spacing-xs);border:1px solid var(--c-primary);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--c-text);background:var(--c-bg);outline:none;min-width:0}.nav-menu__section-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.nav-menu__section-label{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);-webkit-user-select:none;user-select:none}.nav-menu__item--section{cursor:default}.nav-menu__item--section:not(:first-child){margin-top:var(--spacing-md)}.nav-menu__item--section>.nav-menu__sublist{margin-top:var(--spacing-xs)}.nav-menu--sidebar{--_sidebar-bg: var(--c-bg-dark);--_sidebar-text: rgba(255, 255, 255, .87);--_sidebar-text-muted: rgba(255, 255, 255, .45);--_sidebar-hover: rgba(255, 255, 255, .08);--_sidebar-active-bg: rgba(74, 124, 35, .25);--_sidebar-active-accent: var(--c-primary);--_sidebar-active-text: #8cc63f;--_sidebar-section-text: rgba(255, 255, 255, .35);background:var(--_sidebar-bg);border:none;border-radius:0}.nav-menu--sidebar .nav-menu__list{padding:var(--spacing-xs) 0;gap:0}.nav-menu--sidebar .nav-menu__section-header{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs)}.nav-menu--sidebar .nav-menu__section-label{color:var(--_sidebar-section-text);font-size:11px}.nav-menu--sidebar .nav-menu__item--section>.nav-menu__sublist{margin-top:0}.nav-menu--sidebar .nav-menu__row{border-radius:0;padding:6px var(--spacing-md) 6px var(--spacing-lg);margin:0;border-left:3px solid transparent}.nav-menu--sidebar .nav-menu__item:hover>.nav-menu__row{background:var(--_sidebar-hover)}.nav-menu--sidebar .nav-menu__row--active{background:var(--_sidebar-active-bg);border-left-color:var(--_sidebar-active-accent)}.nav-menu--sidebar .nav-menu__row--active:hover{background:var(--_sidebar-active-bg)}.nav-menu--sidebar .nav-menu__label{color:var(--_sidebar-text);font-weight:400;font-size:13px}.nav-menu--sidebar .nav-menu__row--active .nav-menu__label{color:var(--_sidebar-active-text);font-weight:600}.nav-menu--sidebar .nav-menu__icon{color:var(--_sidebar-text-muted)}.nav-menu--sidebar .nav-menu__row--active .nav-menu__icon{color:var(--_sidebar-active-text)}.nav-menu--sidebar .nav-menu__fold{color:var(--_sidebar-text-muted)}.nav-menu--sidebar .nav-menu__fold:hover{color:var(--_sidebar-text);background:var(--_sidebar-hover)}.nav-menu--sidebar .nav-menu__pin{color:var(--_sidebar-text-muted)}.nav-menu--sidebar .nav-menu__item:focus-visible>.nav-menu__row{outline-color:var(--_sidebar-active-accent)}.nav-menu--sidebar .nav-menu__edit-input{background:#ffffff1a;border-color:var(--_sidebar-active-accent);color:var(--_sidebar-text)}.nav-menu--sidebar .nav-menu__fold-spacer{display:none}.nav-menu--sidebar .nav-menu__row--depth-0{padding-left:var(--spacing-md)}.nav-menu--sidebar .nav-menu__row--depth-1{padding-left:calc(var(--spacing-md) + 10px)}.nav-menu--sidebar .nav-menu__row--depth-2{padding-left:calc(var(--spacing-md) + 20px)}.nav-menu--sidebar .nav-menu__row--depth-3{padding-left:calc(var(--spacing-md) + 30px)}.nav-menu__story-selection{margin-top:var(--spacing-md);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-muted)}.nav-menu--error{padding:var(--spacing-md)}.nav-menu__error-message{margin:0;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-muted)}.input{padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg);color:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha)}.input::placeholder{color:var(--c-text-faint)}.input:disabled{opacity:.5;cursor:not-allowed}.input--error{border-color:var(--c-error)}.input--error:focus{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.input--full-width{width:100%}.modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--c-overlay);animation:modal-fade-in var(--transition-slow) cubic-bezier(.16,1,.3,1)}.modal__backdrop--closing{animation:modal-fade-out var(--transition-base) ease-out forwards}.modal__dialog{background:var(--c-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-height:85vh;display:flex;flex-direction:column;animation:modal-scale-in var(--transition-slow) cubic-bezier(.16,1,.3,1)}.modal__dialog--closing{animation:modal-scale-out var(--transition-base) ease-out forwards}.modal__dialog--small{max-width:400px}.modal__dialog--medium{max-width:560px}.modal__dialog--large{max-width:720px}.modal__dialog--xlarge{max-width:960px}.modal__dialog--xxlarge{max-width:1200px}.modal__dialog--max{max-width:90vw;height:90vh}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--c-border-light);-webkit-user-select:none;user-select:none}.modal__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--c-text)}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-muted);font-size:var(--font-size-xl);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background:var(--c-bg-subtle);color:var(--c-text)}.modal__close:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.modal__body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal__description{margin:0 0 var(--spacing-md);color:var(--c-text-muted);font-size:var(--font-size-sm)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--c-border-light);-webkit-user-select:none;user-select:none}.modal__error{padding:var(--spacing-lg);text-align:center;color:var(--c-text-muted)}.modal__error p{margin:0 0 var(--spacing-md)}.modal__error button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text);cursor:pointer;transition:background var(--transition-fast)}.modal__error button:hover{background:var(--c-bg-subtle)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (prefers-reduced-motion: reduce){.modal__backdrop{animation:none}.modal__backdrop--closing{animation:modal-fade-out var(--transition-fast) ease-out forwards}.modal__dialog{animation:none}.modal__dialog--closing{animation:modal-fade-out var(--transition-fast) ease-out forwards}.modal__close,.modal__error button{transition:none}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.markdown{background:var(--wrapper-bg, transparent);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:1.6;height:100%;padding:4px;box-sizing:border-box}.markdown h1{font-size:var(--font-size-2xl);font-weight:700;margin:0 0 var(--spacing-md);color:var(--c-text)}.markdown h2{font-size:var(--font-size-xl);font-weight:700;margin:var(--spacing-lg) 0 var(--spacing-sm);color:var(--c-text)}.markdown h3{font-size:var(--font-size-lg);font-weight:600;margin:var(--spacing-md) 0 var(--spacing-xs);color:var(--c-text)}.markdown h4,.markdown h5,.markdown h6{font-size:var(--font-size-md);font-weight:600;margin:var(--spacing-md) 0 var(--spacing-xs);color:var(--c-text-secondary)}.markdown p{margin:0 0 var(--spacing-sm)}.markdown ul,.markdown ol{margin:0 0 var(--spacing-sm);padding-left:var(--spacing-lg)}.markdown li{margin-bottom:var(--spacing-xs)}.markdown a{color:var(--c-primary);text-decoration:underline}.markdown a:hover{color:var(--c-primary-dark)}.markdown strong{font-weight:700}.markdown em{font-style:italic}.markdown code{font-family:monospace;font-size:.9em;background:var(--c-border);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);color:var(--c-text-secondary)}.markdown pre{background:var(--c-border);border:1px solid var(--c-border-light);padding:var(--spacing-sm);border-radius:var(--radius-md);overflow-x:auto;margin:0 0 var(--spacing-sm)}.markdown pre code{background:none;padding:0}.markdown blockquote{margin:0 0 var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-left:3px solid var(--c-primary-light);color:var(--c-text-secondary)}.markdown hr{border:none;border-top:1px solid var(--c-border-light);margin:var(--spacing-md) 0}.markdown img{max-width:100%;border-radius:var(--radius-md)}.markdown table{width:auto;border-collapse:collapse;margin:0 0 var(--spacing-sm)}.markdown th,.markdown td{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border-light);text-align:left}.markdown th{font-weight:600;background:var(--c-border)}.graph-canvas{flex:1;min-width:0;min-height:0;width:100%;height:100%}.graph-canvas .react-flow__controls-button{width:32px;height:32px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg)}.graph-canvas .react-flow__controls-button:hover{background:var(--c-bg-subtle)}.graph-canvas .react-flow__controls-button svg{max-width:14px;max-height:14px}.graph-canvas .react-flow__minimap{border:1px solid var(--c-border);border-radius:var(--radius-md)}.graph-canvas .react-flow__edge-interaction{stroke:transparent!important}.graph-canvas .react-flow__handle{width:6px;height:6px;background:var(--c-border, #ccc);border:none;box-shadow:0 0 0 2px #fff;border-radius:50%;opacity:0;transition:opacity .15s ease,background .15s ease,scale .1s ease}.graph-canvas .react-flow__handle:after{content:"";position:absolute;width:28px;height:28px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:all}.graph-canvas .react-flow__node:hover .react-flow__handle,.graph-canvas .react-flow__node.selected .react-flow__handle{opacity:1}.graph-canvas .react-flow__handle:hover{background:var(--c-primary, #4a7c23);scale:1.3}.graph-group-node{width:100%;height:100%;border-radius:var(--radius-lg);border:1px solid rgb(0 0 0 / .25);background-color:var(--group-color)}.graph-group-node__resize-line{border-color:var(--c-primary)!important}.graph-group-node__resize-handle{width:8px!important;height:8px!important;background:var(--c-primary)!important;border:2px solid white!important;border-radius:var(--radius-full)!important}.graph-text-node{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px dashed transparent;border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.graph-text-node--selected{border-color:var(--c-primary)}.graph-text-node__label{color:var(--c-text-secondary);line-height:1.4;word-break:break-word;cursor:default;overflow:hidden}.graph-text-node__label p{margin:0}.graph-text-node__label ul,.graph-text-node__label ol{margin:0;padding-left:var(--spacing-lg);list-style-position:inside}.graph-text-node__resize-line{border-color:var(--c-primary)!important}.graph-text-node__resize-handle{width:8px!important;height:8px!important;background:var(--c-primary)!important;border:2px solid white!important;border-radius:var(--radius-full)!important}.select{padding:var(--spacing-sm) 12px;padding-right:32px;font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg);color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.5 4.5l3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha)}.select:disabled{opacity:.5;cursor:not-allowed}.select--error{border-color:var(--c-error)}.select--error:focus{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.select--full-width{width:100%}.hidden-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--c-border);background:var(--c-bg);overflow-y:auto;font-family:var(--font-sans);font-size:var(--font-size-xs)}.hidden-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light)}.hidden-sidebar__title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary)}.hidden-sidebar__show-all{padding:2px var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);background:var(--c-bg-primary);color:var(--c-text-secondary);cursor:pointer}.hidden-sidebar__show-all:hover{background:var(--c-bg-subtle)}.hidden-sidebar__group{border-bottom:1px solid var(--c-border-light)}.hidden-sidebar__group-header{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:var(--c-bg-subtle);font:inherit;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.05em}.hidden-sidebar__group-header:hover{background:var(--c-bg-hover)}.hidden-sidebar__chevron{font-size:var(--font-size-2xs);transition:transform var(--transition-fast);flex-shrink:0;width:10px;text-align:center}.hidden-sidebar__chevron--open{transform:rotate(90deg)}.hidden-sidebar__group-label{flex:1}.hidden-sidebar__group-count{font-size:var(--font-size-2xs);color:var(--c-text-tertiary);font-weight:400}.hidden-sidebar__items{display:flex;flex-direction:column}.hidden-sidebar__item{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-top:1px solid var(--c-border-light);background:none;font:inherit;font-size:var(--font-size-xs);color:var(--c-text-primary);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none}.hidden-sidebar__item:first-child{border-top:none}.hidden-sidebar__item:hover{background:var(--c-bg-subtle)}.hidden-sidebar__item[draggable=true]{cursor:grab}.hidden-sidebar__item[draggable=true]:active{cursor:grabbing}.hidden-sidebar__item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);font-weight:700;border-radius:var(--radius-sm);flex-shrink:0}.hidden-sidebar__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.switch-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.switch-wrapper--disabled{opacity:.5;cursor:not-allowed}.switch__state-label{font-size:var(--font-size-sm);color:var(--c-text-muted);-webkit-user-select:none;user-select:none}.switch{position:relative;display:inline-block;cursor:pointer}.switch-wrapper--disabled .switch{cursor:not-allowed}.switch__input{position:absolute;opacity:0;width:0;height:0}.switch__track{display:block;width:44px;height:24px;background-color:var(--c-border);border-radius:var(--radius-full);transition:background-color var(--transition-base)}.switch__input:checked+.switch__track{background-color:var(--c-primary)}.switch-wrapper--error .switch__track{background-color:var(--c-error-border)}.switch-wrapper--error .switch__input:checked+.switch__track{background-color:var(--c-error)}.switch__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--c-bg);border-radius:var(--radius-full);box-shadow:0 1px 3px #00000026;transition:transform var(--transition-base)}.switch__input:checked+.switch__track .switch__thumb{transform:translate(20px)}.switch__input:focus-visible+.switch__track{outline:2px solid var(--c-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--c-primary-alpha)}.switch-wrapper--error .switch__input:focus-visible+.switch__track{outline-color:var(--c-error);box-shadow:0 0 0 4px var(--c-error-alpha)}.accordion{display:flex;flex-direction:column}.accordion__section{border-bottom:1px solid var(--c-border-light)}.accordion__section:last-child{border-bottom:none}.accordion__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-sm);background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.accordion__header:hover{background:var(--c-bg-subtle);color:var(--c-text)}.accordion__header--open{color:var(--c-primary)}.accordion__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion__chevron{flex-shrink:0;color:var(--c-text-faint);transition:transform var(--transition-fast)}.accordion__chevron--open{transform:rotate(180deg);color:var(--c-primary)}.accordion__content{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);animation:accordion-slide-down var(--transition-fast)}@keyframes accordion-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-secondary);margin-bottom:6px;-webkit-user-select:none;user-select:none}.label__required{color:var(--c-error);margin-left:var(--spacing-xs)}.textarea{padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg);color:inherit;resize:vertical;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha)}.textarea::placeholder{color:var(--c-text-faint)}.textarea:disabled{opacity:.5;cursor:not-allowed;resize:none}.textarea--error{border-color:var(--c-error)}.textarea--error:focus{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.textarea--full-width{width:100%}.textarea--auto-resize{resize:none;overflow:hidden}.markdown-editor{display:flex;flex-direction:column;gap:var(--spacing-xs)}.markdown-editor__panes{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);min-height:0}.markdown-editor__pane--edit{display:flex}.markdown-editor__pane--edit .textarea{height:100%}.markdown-editor__pane--preview{overflow-y:auto;padding:var(--spacing-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md)}.markdown-editor__placeholder{color:var(--c-text-muted);font-style:italic}.markdown-editor__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.markdown-editor__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.erd-diagram{width:100%;height:100%;display:flex}.erd-diagram--empty{display:flex;align-items:center;justify-content:center}.erd-diagram__empty-text{color:var(--c-text-muted)}.erd-diagram__main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.erd-diagram__topbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);background:var(--c-bg);flex-shrink:0}.erd-diagram__canvas{flex:1;min-width:0;min-height:0}.erd-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--c-border);background:var(--c-bg);overflow-y:auto;font-family:var(--font-sans);font-size:var(--font-size-xs)}.erd-sidebar__section-header{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--c-border-light)}.erd-sidebar__item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);cursor:grab;transition:background var(--transition-fast);border-bottom:1px solid var(--c-border-light);-webkit-user-select:none;user-select:none}.erd-sidebar__item:hover{background:var(--c-bg-subtle)}.erd-sidebar__item:active{cursor:grabbing}.erd-sidebar__item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);font-weight:700;border-radius:var(--radius-sm);flex-shrink:0;color:#fff}.erd-sidebar__item-icon--entity{background:var(--c-primary)}.erd-sidebar__item-icon--view{background:var(--c-erd-view)}.erd-sidebar__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.erd-sidebar__empty{padding:var(--spacing-sm);color:var(--c-text-faint);font-style:italic;text-align:center}.erd-sidebar .accordion__header{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.erd-sidebar .accordion__content{padding:0}.erd-sidebar .accordion__section{border-bottom:none}.erd-sidebar__schema-count{color:var(--c-text-faint);font-weight:400}.erd-table-node{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014;min-width:200px;font-family:var(--font-sans);font-size:var(--font-size-sm)}.erd-table-node__header{position:relative;display:flex;align-items:center;padding:10px 8px;min-height:40px;box-sizing:border-box;background:var(--c-primary);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:var(--radius-md) var(--radius-md) 0 0;text-align:center}.erd-table-node__header-label{flex:1;min-width:0;text-align:center}.erd-table-node__hide-btn{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff6;font-size:var(--font-size-base);font-weight:700;line-height:1;cursor:pointer;border-radius:var(--radius-sm);padding:0;transition:color var(--transition-fast),background var(--transition-fast)}.erd-table-node__hide-btn:hover{color:#fff;background:#0003}.erd-table-node__pull-group{display:flex;gap:1px;flex-shrink:0}.erd-table-node__pull-btn{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff6;line-height:1;cursor:pointer;border-radius:var(--radius-sm);padding:0;transition:color var(--transition-fast),background var(--transition-fast)}.erd-table-node__pull-btn:hover{color:#fff;background:#0003}.erd-table-node__body{display:flex;flex-direction:column}.erd-table-node__field{position:relative;display:flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);min-height:20px;box-sizing:border-box;border-bottom:1px solid var(--c-border-light)}.erd-table-node__field:last-child{border-bottom:none}.erd-table-node__field--pk{background:var(--c-primary-alpha)}.erd-table-node__field--fk{background:#eff6ff}.erd-table-node__field-icon{width:16px;font-size:var(--font-size-xs);text-align:center;flex-shrink:0}.erd-table-node__field-name{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-xs);color:var(--c-text);flex:1;min-width:0}.erd-table-node__type{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-xs);color:var(--c-text-muted);flex-shrink:0}.erd-file-node{background:var(--c-bg);border:1px solid var(--c-erd-file);border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014;min-width:160px;font-family:var(--font-sans);font-size:var(--font-size-sm)}.erd-file-node__header{position:relative;display:flex;align-items:center;padding:10px 8px;min-height:40px;box-sizing:border-box;background:var(--c-erd-file);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:var(--radius-md) var(--radius-md) 0 0;text-align:center}.erd-file-node__header-label{flex:1;min-width:0;text-align:center}.erd-file-node__body{padding:var(--spacing-xs) var(--spacing-sm);display:flex;flex-direction:column;gap:2px}.erd-file-node__mime{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-xs);color:var(--c-text-muted)}.erd-file-node__meta{display:flex;align-items:center;gap:var(--spacing-xs)}.erd-file-node__size{font-size:var(--font-size-xs);color:var(--c-text-faint)}.erd-file-node__badge{font-size:var(--font-size-2xs);font-weight:700;padding:0 var(--spacing-xs);background:var(--c-erd-file-alpha);color:var(--c-erd-file-dark);border-radius:var(--radius-sm)}.erd-table-node__handle--file{background:var(--c-erd-file)}.react-flow__node.selected .erd-file-node{box-shadow:0 0 0 2px var(--c-erd-file),0 2px 8px #d977064d}.erd-sidebar__item-icon--file{background:var(--c-erd-file)}.erd-table-node--view{border-color:var(--c-erd-view)}.erd-table-node__header--view{background:var(--c-erd-view)}.erd-table-node__purpose{margin-left:var(--spacing-xs);padding:0 var(--spacing-xs);font-size:var(--font-size-2xs);font-weight:600;background:#fff3;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.react-flow__node.selected .erd-table-node{box-shadow:0 0 0 2px var(--c-primary),0 2px 8px #4a7c234d}.react-flow__node.selected .erd-table-node--view{box-shadow:0 0 0 2px var(--c-erd-view),0 2px 8px #8b5cf64d}.react-flow__selection{background:#4a7c2314!important;border:1px solid rgb(74 124 35 / .4)!important;border-radius:var(--radius-sm)}.erd-diagram .react-flow__pane,.erd-diagram .react-flow__pane:active{cursor:crosshair}.erd-diagram .react-flow__pane.dragging{cursor:grabbing}.erd-diagram .react-flow__controls{display:flex;flex-direction:column;gap:var(--spacing-xs);box-shadow:none;border:none;background:transparent}.erd-diagram .react-flow__controls-button{width:32px;height:32px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);box-shadow:0 1px 3px #0000001a}.erd-diagram .react-flow__controls-button:hover{background:var(--c-bg-subtle)}.erd-diagram .react-flow__controls-button svg{max-width:14px;max-height:14px}.erd-table-node__handle{width:8px;height:8px;background:var(--c-primary);border:2px solid white}.erd-table-node__handle--view{background:var(--c-erd-view)}.react-flow__edge-label{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-2xs);color:var(--c-text-secondary);background:var(--c-bg);padding:1px 4px;border-radius:var(--radius-sm);border:1px solid var(--c-border-light)}.erd-diagram__panel{margin:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.erd-diagram__edge-toggle{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;background:var(--c-bg);box-shadow:0 1px 3px #0000001a}.erd-diagram__edge-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);border:none;background:var(--c-bg);color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.erd-diagram__edge-btn:not(:last-child){border-right:1px solid var(--c-border-light)}.erd-diagram__edge-btn:hover{background:var(--c-bg-subtle)}.erd-diagram__edge-btn--active{background:var(--c-primary);color:#fff}.erd-diagram__edge-btn--active:hover{background:var(--c-primary-dark)}.erd-diagram__layout-select .select{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);padding-right:28px;background-position:right 8px center}.erd-diagram__error{color:var(--c-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.erd-diagram__toolbar-row{display:flex;gap:var(--spacing-xs);align-items:center}.erd-diagram__toolbar-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text-secondary);cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.erd-diagram__toolbar-btn:hover{background:var(--c-bg-subtle);color:var(--c-text)}.erd-diagram__toolbar-btn--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.erd-diagram__toolbar-btn--active:hover{background:var(--c-primary-dark);color:#fff}.erd-diagram__arrange-wrapper{position:relative}.erd-diagram__arrange-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:260px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.erd-diagram__arrange-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--spacing-sm);border:none;background:var(--c-bg);cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background var(--transition-fast)}.erd-diagram__arrange-option:not(:last-child){border-bottom:1px solid var(--c-border-light)}.erd-diagram__arrange-option:hover{background:var(--c-bg-subtle)}.erd-diagram__arrange-option-label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text)}.erd-diagram__arrange-option-desc{font-size:var(--font-size-xs);color:var(--c-text-muted)}.erd-diagram__help-btn{font-weight:700;min-width:28px;text-align:center}.erd-diagram__help-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001f;padding:var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:280px}.erd-diagram__help-section{display:flex;flex-direction:column;gap:2px}.erd-diagram__help-title{font-weight:700;font-size:var(--font-size-xs);color:var(--c-text);margin-bottom:2px;text-transform:uppercase;letter-spacing:.03em}.erd-diagram__help-row{display:flex;align-items:center;gap:var(--spacing-xs);line-height:1.6}.erd-diagram__help-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c-text-muted);font-weight:700;font-size:var(--font-size-xs)}.erd-diagram__help-card kbd{display:inline-block;padding:1px 5px;font-family:var(--font-sans);font-size:var(--font-size-2xs);font-weight:600;color:var(--c-text);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--c-border);white-space:nowrap;flex-shrink:0}.erd-diagram__group-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a}.erd-diagram__color-palette{display:flex;gap:4px}.erd-diagram__color-swatch{width:20px;height:20px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:border-color var(--transition-fast);padding:0}.erd-diagram__color-swatch:hover{border-color:var(--c-text-muted)}.erd-diagram__color-swatch--active{border-color:var(--c-text);box-shadow:0 0 0 1px var(--c-bg)}.erd-group-node{width:100%;height:100%;border-radius:var(--radius-lg);border:1px solid rgb(0 0 0 / .25);background-color:var(--item-color)}.erd-group-node__resize-line{border-color:var(--c-primary)!important}.erd-group-node__resize-handle{width:8px!important;height:8px!important;background:var(--c-primary)!important;border:2px solid white!important;border-radius:var(--radius-full)!important}.erd-text-node{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px dashed transparent;border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.erd-text-node--selected{border-color:var(--c-primary)}.erd-text-node__label{color:var(--c-text-secondary);line-height:1.4;word-break:break-word;cursor:default;overflow:hidden}.erd-text-node__label p{margin:0}.erd-text-node__label ul,.erd-text-node__label ol{margin:0;padding-left:var(--spacing-lg);list-style-position:inside}.erd-text-node__textarea{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--spacing-xs);resize:none;outline:none}.erd-text-node__textarea:focus{border-color:var(--c-primary)}.erd-text-node__resize-line{border-color:var(--c-primary)!important}.erd-text-node__resize-handle{width:8px!important;height:8px!important;background:var(--c-primary)!important;border:2px solid white!important;border-radius:var(--radius-full)!important}.dep-graph{display:flex;width:100%;height:100%;min-height:500px}.dep-graph__canvas{flex:1;min-width:0;height:100%}.dep-graph__sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--c-border);background:var(--c-bg);overflow-y:auto;font-family:var(--font-sans);font-size:var(--font-size-xs)}.dep-graph__sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light)}.dep-graph__sidebar-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary)}.dep-graph__sidebar-show-all{padding:2px var(--spacing-xs);font-family:var(--font-sans);font-size:var(--font-size-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);background:var(--c-bg-primary);color:var(--c-text-secondary);cursor:pointer}.dep-graph__sidebar-show-all:hover{background:var(--c-bg-subtle)}.dep-graph__sidebar-group{border-bottom:1px solid var(--c-border-light)}.dep-graph__sidebar-group-header{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:var(--c-bg-subtle);font:inherit;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.05em}.dep-graph__sidebar-group-header:hover{background:var(--c-bg-hover)}.dep-graph__sidebar-chevron{font-size:var(--font-size-2xs);transition:transform var(--transition-fast);flex-shrink:0;width:10px;text-align:center}.dep-graph__sidebar-chevron--open{transform:rotate(90deg)}.dep-graph__sidebar-group-label{flex:1}.dep-graph__sidebar-group-count{font-size:var(--font-size-2xs);color:var(--c-text-tertiary);font-weight:400}.dep-graph__sidebar-item{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) calc(var(--spacing-sm) + 18px);border:none;border-top:1px solid var(--c-border-light);background:none;font:inherit;font-size:var(--font-size-xs);color:var(--c-text-primary);cursor:pointer;text-align:left}.dep-graph__sidebar-item:hover{background:var(--c-bg-subtle)}.dep-graph__sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-graph__loading,.dep-graph__error{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;font-size:var(--font-size-sm);color:var(--c-text-secondary)}.dep-graph__error{color:var(--c-danger)}.dep-graph__edge-toggle{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;background:var(--c-bg-primary);box-shadow:var(--shadow-sm)}.dep-graph__edge-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);border:none;background:var(--c-bg-primary);color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.dep-graph__edge-btn:not(:last-child){border-right:1px solid var(--c-border-light)}.dep-graph__edge-btn:hover{background:var(--c-bg-subtle)}.dep-graph__edge-btn--active{background:var(--c-primary);color:#fff}.dep-graph__edge-btn--active:hover{background:var(--c-primary-dark)}.dep-graph__panel{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dep-graph__legend{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-bg-primary);border:1px solid var(--c-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.dep-graph__legend-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary);margin-bottom:2px}.dep-graph__legend-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px 4px;border:none;background:none;font:inherit;font-size:var(--font-size-xs);color:var(--c-text-primary);cursor:pointer;border-radius:var(--radius-sm)}.dep-graph__legend-item:hover{background:var(--c-bg-subtle)}.dep-graph__legend-item--hidden{opacity:.4;text-decoration:line-through}.dep-graph__legend-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0;background:var(--item-color)}.dep-graph__orphan-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px var(--spacing-xs);font:inherit;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--c-warning-light);color:var(--c-warning-dark);border:1px solid #fcd34d;cursor:pointer;transition:background var(--transition-fast)}.dep-graph__orphan-badge:hover{background:var(--c-warning-border)}.dep-graph__orphan-badge--active{background:var(--c-warning-border);border-color:var(--c-warning)}.dep-graph__orphan-panel{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-bg-primary);border:1px solid #fcd34d;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);max-height:400px;overflow-y:auto}.dep-graph__orphan-group-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px 0;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dep-graph__orphan-group-label{flex:1}.dep-graph__orphan-group-count{font-size:var(--font-size-2xs);color:var(--c-text-tertiary);font-weight:400}.dep-graph__orphan-item{display:block;width:100%;padding:2px 4px 2px 18px;border:none;background:none;font:inherit;font-size:var(--font-size-xs);color:var(--c-text-primary);cursor:pointer;border-radius:var(--radius-sm);text-align:left}.dep-graph__orphan-item:hover{background:var(--c-bg-subtle)}.dep-graph__toolbar-row{display:flex;gap:var(--spacing-xs);align-items:center}.dep-graph__toolbar-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg-primary);color:var(--c-text-secondary);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background var(--transition-fast),color var(--transition-fast)}.dep-graph__toolbar-btn:hover{background:var(--c-bg-subtle)}.dep-graph__toolbar-btn--active{background:var(--c-primary);color:#fff}.dep-graph__arrange-wrapper{position:relative}.dep-graph__arrange-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:220px;background:var(--c-bg-primary);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;display:flex;flex-direction:column;padding:var(--spacing-xs) 0}.dep-graph__arrange-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:none;font:inherit;cursor:pointer;text-align:left;width:100%}.dep-graph__arrange-option:hover{background:var(--c-bg-subtle)}.dep-graph__arrange-option-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-primary)}.dep-graph__arrange-option-desc{font-size:var(--font-size-xs);color:var(--c-text-tertiary)}.dep-graph-node{display:flex;flex-direction:column;padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-bg-primary);border:2px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);min-width:160px}.dep-graph-node:hover{box-shadow:var(--shadow-md)}.dep-graph-node--orphan{border-style:dashed;background:#fffbeb}.dep-graph-node--highlighted{box-shadow:0 0 0 3px #4a7c234d}.dep-graph-node__header{display:flex;align-items:center;gap:4px;margin-bottom:2px}.dep-graph-node__icon{font-size:var(--font-size-xs);line-height:1}.dep-graph-node__type{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-tertiary);flex:1}.dep-graph-node__pull-btn{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--c-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);padding:0;transition:color var(--transition-fast),background var(--transition-fast)}.dep-graph-node__pull-btn:hover{color:var(--c-primary);background:var(--c-bg-subtle)}.dep-graph-node__badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;font-size:var(--font-size-2xs);font-weight:600;border-radius:var(--radius-full);background:var(--c-bg-subtle);color:var(--c-text-secondary)}.dep-graph-node__name{font-size:var(--font-size-xs);font-weight:500;color:var(--c-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dep-graph-node__handle{width:6px!important;height:6px!important;background:var(--c-border)!important;border:1px solid var(--c-bg-primary)!important}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.dep-panel{padding:var(--spacing-sm) var(--spacing-md)}.dep-panel__loading,.dep-panel__error,.dep-panel__empty{font-size:var(--font-size-sm);color:var(--c-text-secondary);padding:var(--spacing-xs) 0}.dep-panel__error{color:var(--c-danger)}.dep-panel__section{margin-bottom:var(--spacing-md)}.dep-panel__section:last-child{margin-bottom:0}.dep-panel__section-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary);margin:0 0 var(--spacing-xs)}.dep-panel__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);background:var(--c-bg-subtle);color:var(--c-text-secondary)}.dep-panel__group{margin-bottom:var(--spacing-xs)}.dep-panel__group-label{display:block;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-tertiary);margin-bottom:2px}.dep-panel__items{list-style:none;margin:0;padding:0;padding-left:var(--spacing-md)}.dep-panel__item{display:flex;align-items:center;gap:var(--spacing-xs)}.dep-panel__link{background:none;border:none;padding:2px var(--spacing-xs);margin:1px 0;font:inherit;font-size:var(--font-size-sm);color:var(--c-primary);cursor:pointer;text-decoration:underline;text-decoration-color:transparent;border-radius:var(--radius-sm);transition:background var(--transition-fast),text-decoration-color var(--transition-fast)}.dep-panel__link:hover{background:var(--c-bg-subtle);text-decoration-color:var(--c-primary)}.dep-panel__depth{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:16px;padding:0 3px;font-size:var(--font-size-2xs);font-weight:600;border-radius:var(--radius-sm);background:var(--c-bg-subtle);color:var(--c-text-tertiary)}.radio-group{display:contents}.radio-group--vertical{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-group--horizontal{display:flex;flex-direction:row;gap:var(--spacing-md)}.radio-group__option{display:flex;align-items:center;gap:4px;height:20px;cursor:pointer}.radio-group__option--disabled{opacity:.5;cursor:not-allowed}.radio-group__input{width:14px;height:14px;margin:0;padding:0;vertical-align:middle;accent-color:var(--c-primary);cursor:pointer;flex-shrink:0}.radio-group__input:disabled{cursor:not-allowed}.radio-group__input:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.radio-group--error .radio-group__input{accent-color:var(--c-error)}.radio-group--error .radio-group__input:focus-visible{outline-color:var(--c-error)}.radio-group__label{font-size:var(--font-size-xs);line-height:1;vertical-align:middle;color:var(--c-text-secondary);-webkit-user-select:none;user-select:none}.radio-group__option--disabled .radio-group__label{color:var(--c-text-muted)}.radio-group--segmented{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.radio-group__segment{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:none;background:var(--c-bg);color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.radio-group__segment:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.radio-group__segment--active{background:var(--c-primary);color:#fff}.radio-group__segment--disabled{opacity:.5;cursor:not-allowed}.radio-group--error .radio-group__segment--active{background:var(--c-error)}.entity-modify__dialog{max-height:90vh;height:auto}.entity-modify__body{display:flex;flex-direction:column;gap:var(--spacing-md)}.entity-modify__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.entity-modify__label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.entity-modify__required{color:var(--c-error);margin-left:2px}.entity-modify__loading{text-align:center;color:var(--c-text-muted);padding:var(--spacing-lg)}.entity-modify__error{font-size:var(--font-size-sm);color:var(--c-error);padding:var(--spacing-sm);background:var(--c-error-light);border-radius:var(--radius-md)}.entity-modify__error-details{margin-top:var(--spacing-sm)}.entity-modify__error-details summary{cursor:pointer;font-size:var(--font-size-xs);color:var(--c-text-secondary);-webkit-user-select:none;user-select:none}.entity-modify__error-details summary:hover{color:var(--c-text)}.entity-modify__error-raw{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);color:var(--c-text);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.entity-modify__templates{margin-top:var(--spacing-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-md)}.entity-modify__templates summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);-webkit-user-select:none;user-select:none}.entity-modify__templates summary:hover{color:var(--c-text)}.entity-modify__templates-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-sm) var(--spacing-sm)}.entity-modify__tpl-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.entity-modify__tpl-field label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary)}.entity-modify__tpl-textarea{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5}.entity-modify__tpl-var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.entity-modify__tpl-var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:1px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.entity-modify__tpl-model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.entity-modify__tpl-model-row label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.entity-modify__trail{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--c-border-light);margin-bottom:var(--spacing-xs)}.entity-modify__trail-entry{display:flex;flex-direction:column;gap:2px}.entity-modify__trail-question{font-size:var(--font-size-xs);color:var(--c-text-secondary);font-style:italic}.entity-modify__trail-question p{margin:0}.entity-modify__trail-answer{font-size:var(--font-size-xs);color:var(--c-text);margin:0;padding-left:var(--spacing-sm)}.entity-modify__question-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.entity-modify__question{font-size:var(--font-size-sm);color:var(--c-text);line-height:1.5}.entity-modify__question p{margin:0 0 var(--spacing-xs)}.entity-modify__question p:last-child{margin-bottom:0}.entity-modify__question ul,.entity-modify__question ol{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg)}.entity-modify__question strong{font-weight:600}.entity-modify__question code{font-family:monospace;font-size:var(--font-size-xs);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.entity-modify__warning{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);background:var(--c-warning-light);border:1px solid var(--c-warning-border);border-radius:var(--radius-md);color:var(--c-warning-dark);line-height:1.4}.entity-modify__warning-icon{flex-shrink:0;font-size:var(--font-size-md)}.entity-modify__diff{display:flex;flex-direction:column;gap:var(--spacing-sm)}.entity-modify__diff-summary{font-size:var(--font-size-sm);color:var(--c-text-secondary)}.entity-modify__diff-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.entity-modify__diff-table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.entity-modify__diff-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);font-family:monospace;font-size:var(--font-size-sm)}.entity-modify__diff-table tr:last-child td{border-bottom:none}.entity-modify__row--added{background:var(--c-success-light)}.entity-modify__row--removed{background:var(--c-error-light);text-decoration:line-through;opacity:.7}.entity-modify__row--changed{background:#fef9c3}.entity-modify__row--unchanged{opacity:.5}.entity-modify__status-badge{display:inline-block;padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-sm);white-space:nowrap}.entity-modify__status-badge--added{color:var(--c-success-dark);background:var(--c-success-border)}.entity-modify__status-badge--removed{color:var(--c-error-dark);background:var(--c-error-border)}.entity-modify__status-badge--changed{color:#854d0e;background:#fef08a}.entity-modify__status-badge--unchanged{color:var(--c-text-muted);background:var(--c-bg-subtle)}.entity-modify__changes{font-size:var(--font-size-xs);color:var(--c-text-secondary);line-height:1.4}.entity-modify__change{display:block}.entity-modify__change-from{text-decoration:line-through;color:var(--c-error-dark)}.entity-modify__change-to{color:var(--c-success-dark);font-weight:600}.entity-modify__toggle-unchanged{font-size:var(--font-size-xs);color:var(--c-text-muted);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) 0;text-decoration:underline}.entity-modify__toggle-unchanged:hover{color:var(--c-text-secondary)}.entity-modify__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.entity-modify__success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);text-align:center}.entity-modify__success-icon{font-size:var(--font-size-3xl);color:var(--c-success)}.entity-modify__success-text{font-size:var(--font-size-md);font-weight:600;color:var(--c-text)}.entity-modify__success-hint{font-size:var(--font-size-sm);color:var(--c-text-muted)}.entity-modify__impact-warning{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--c-warning-light);border:1px solid var(--c-warning);margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--c-warning-dark);line-height:1.4}.entity-modify__impact-warning-icon{flex-shrink:0;font-size:var(--font-size-md)}.entity-modify__impact-warning-list{margin:var(--spacing-xs) 0 0;padding:0 0 0 var(--spacing-md)}.entity-modify__impact-warning-list li{margin-bottom:2px}.spreadsheet-editor{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;font-family:var(--font-sans);font-size:var(--font-size-sm)}.spreadsheet-editor--full-width{width:100%}.spreadsheet-editor__toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border)}.spreadsheet-editor__toolbar-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.spreadsheet-editor__toolbar-btn:hover:not(:disabled){background:var(--c-bg-subtle);border-color:var(--c-text-faint)}.spreadsheet-editor__toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.spreadsheet-editor__toolbar-btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-text-inverse)}.spreadsheet-editor__toolbar-btn--primary:hover:not(:disabled){background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.spreadsheet-editor__toolbar-separator{width:1px;height:20px;background:var(--c-border);margin:0 var(--spacing-xs)}.spreadsheet-editor__container{flex:1;overflow:auto;position:relative}.spreadsheet-editor__table{width:100%;border-collapse:collapse;table-layout:fixed}.spreadsheet-editor__header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--c-bg-subtle)}.spreadsheet-editor__header-row{display:flex}.spreadsheet-editor__header-cell{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;color:var(--c-text-secondary);border-bottom:1px solid var(--c-border);border-right:1px solid var(--c-border-light);background:var(--c-bg-subtle);-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spreadsheet-editor__header-cell:last-child{border-right:none}.spreadsheet-editor__header-cell--required:after{content:"*";color:var(--c-error);margin-left:var(--spacing-xs)}.spreadsheet-editor__header-cell--actions{width:40px;min-width:40px;max-width:40px;padding:var(--spacing-sm);justify-content:center}.spreadsheet-editor__body,.spreadsheet-editor__body-inner{position:relative}.spreadsheet-editor__row{display:flex;border-bottom:1px solid var(--c-border-light)}.spreadsheet-editor__row:hover{background:var(--c-bg-subtle)}.spreadsheet-editor__row--selected{background:var(--c-primary-alpha)}.spreadsheet-editor__cell{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-right:1px solid var(--c-border-light);overflow:hidden;cursor:cell;min-height:40px;transition:background-color var(--transition-fast)}.spreadsheet-editor__cell:last-child{border-right:none}.spreadsheet-editor__cell--selected{background:var(--c-primary-alpha)}.spreadsheet-editor__cell--active{outline:1px solid var(--c-primary);outline-offset:-1px;z-index:1}.spreadsheet-editor__cell--editing{padding:0;outline:1px solid var(--c-primary);outline-offset:-1px;z-index:2}.spreadsheet-editor__cell--readonly{color:var(--c-text-faint);background:var(--c-bg-subtle);cursor:default;opacity:.55}.spreadsheet-editor__cell--error{background:var(--c-error-alpha)}.spreadsheet-editor__cell--error.spreadsheet-editor__cell--active{outline-color:var(--c-error)}.spreadsheet-editor__cell--checkbox{justify-content:center}.spreadsheet-editor__cell--number{justify-content:flex-end}.spreadsheet-editor__cell--dropdown,.spreadsheet-editor__cell--date{position:relative;padding-right:calc(var(--spacing-sm) + 16px)}.spreadsheet-editor__cell--dropdown:after{content:"";position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--c-text-faint);opacity:.4;pointer-events:none;transition:opacity var(--transition-fast)}.spreadsheet-editor__cell--dropdown:hover:after{opacity:.7}.spreadsheet-editor__cell--date:after{content:"";position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23737373' stroke-width='1.5'%3E%3Crect x='1' y='3' width='14' height='12' rx='1.5'/%3E%3Cline x1='1' y1='7' x2='15' y2='7'/%3E%3Cline x1='4.5' y1='1' x2='4.5' y2='4.5'/%3E%3Cline x1='11.5' y1='1' x2='11.5' y2='4.5'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.4;pointer-events:none;transition:opacity var(--transition-fast)}.spreadsheet-editor__cell--date:hover:after{opacity:.7}.spreadsheet-editor__cell--readonly.spreadsheet-editor__cell--dropdown:after,.spreadsheet-editor__cell--readonly.spreadsheet-editor__cell--date:after{opacity:.2}.spreadsheet-editor__cell-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spreadsheet-editor__cell-checkbox{width:16px;height:16px;accent-color:var(--c-primary);pointer-events:none}.spreadsheet-editor__cell-input{width:100%;height:100%;min-height:38px;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text)}.spreadsheet-editor__cell-input:focus{outline:none}.spreadsheet-editor__cell-input[type=checkbox]{width:16px;height:16px;margin:auto;accent-color:var(--c-primary)}.spreadsheet-editor__cell-input[type=number]{text-align:right}.spreadsheet-editor__cell-input--error{background:var(--c-error-light);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.spreadsheet-editor__date-editor{display:flex;align-items:center;width:100%;height:100%;background:var(--c-bg)}.spreadsheet-editor__date-editor .spreadsheet-editor__cell-input{flex:1;min-width:0}.spreadsheet-editor__date-picker-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.spreadsheet-editor__date-picker-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:var(--spacing-xs);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--font-size-sm);transition:transform var(--transition-fast)}.spreadsheet-editor__date-picker-btn:hover{transform:scale(1.1)}.spreadsheet-editor__row-actions{display:flex;align-items:center;justify-content:center;gap:2px;border-right:1px solid var(--c-border-light)}.spreadsheet-editor__row-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-faint);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.spreadsheet-editor__row:hover .spreadsheet-editor__row-delete-btn{opacity:1}.spreadsheet-editor__row-delete-btn:hover{background:var(--c-error-alpha);color:var(--c-error)}.spreadsheet-editor__row-delete-btn:focus-visible{opacity:1;outline:2px solid var(--c-primary);outline-offset:2px}.spreadsheet-editor__row-delete-btn:disabled{opacity:0;pointer-events:none}.spreadsheet-editor__row-move-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-faint);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.spreadsheet-editor__row:hover .spreadsheet-editor__row-move-btn{opacity:1}.spreadsheet-editor__row-move-btn:hover:not(:disabled){background:var(--c-bg-subtle);color:var(--c-text-secondary)}.spreadsheet-editor__row-move-btn:focus-visible{opacity:1;outline:2px solid var(--c-primary);outline-offset:1px}.spreadsheet-editor__row-move-btn:disabled{opacity:0;pointer-events:none}.spreadsheet-editor__error-trigger{display:contents}.spreadsheet-editor__error-tooltip{z-index:var(--z-tooltip);padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-error);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-xs);max-width:250px;box-shadow:var(--shadow-md);animation:fadeIn var(--transition-fast)}.spreadsheet-editor__error-tooltip-text{display:block}.spreadsheet-editor__error-tooltip-arrow{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--c-error)}.spreadsheet-editor__add-row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-top:1px solid var(--c-border-light);background:transparent;color:var(--c-text-muted);font-family:var(--font-sans);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);width:100%;justify-content:flex-start}.spreadsheet-editor__add-row:hover{background:var(--c-bg-subtle);color:var(--c-text)}.spreadsheet-editor__add-row:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.spreadsheet-editor__add-row-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.spreadsheet-editor__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--c-text-muted)}.spreadsheet-editor__empty-text{font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.spreadsheet-editor__status{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);background:var(--c-bg-subtle);border-top:1px solid var(--c-border);font-size:var(--font-size-xs);color:var(--c-text-muted)}.spreadsheet-editor__status-left,.spreadsheet-editor__status-right{display:flex;align-items:center;gap:var(--spacing-md)}.spreadsheet-editor__status-item{display:flex;align-items:center;gap:var(--spacing-xs)}.spreadsheet-editor__status-item--error{color:var(--c-error)}.spreadsheet-editor:focus-visible{outline:none}.entity-data-section{padding:var(--spacing-2) 0}.entity-data-section__message{color:var(--c-text-muted);font-size:.85rem;padding:var(--spacing-2) 0}.entity-data-section__message--error{color:var(--c-danger)}.entity-data-section__loading{display:flex;align-items:center;gap:var(--spacing-2);color:var(--c-text-muted);font-size:.85rem;padding:var(--spacing-2) 0}.entity-data-section__error-banner{background:var(--c-danger-bg, #fef2f2);border:1px solid var(--c-danger, #dc2626);border-radius:var(--radius-sm, 4px);padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-2);font-size:.85rem;color:var(--c-danger)}.seed-dialog__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.seed-dialog__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.seed-dialog__field label{font-weight:600;font-size:var(--font-size-sm)}.seed-dialog__template-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.5}.seed-dialog__model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.seed-dialog__model-row label{font-weight:600;font-size:var(--font-size-sm);white-space:nowrap}.seed-dialog__result{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.seed-dialog__result-header{display:flex;align-items:center;gap:var(--spacing-sm)}.seed-dialog__record-count{font-size:var(--font-size-sm);color:var(--c-text-muted)}.seed-dialog__sql-preview{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-xs);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.seed-dialog__error{color:var(--c-danger);font-size:var(--font-size-sm)}.seed-dialog__apply-success{color:var(--c-success);font-size:var(--font-size-sm);font-weight:600}.seed-dialog__variables{margin-top:var(--spacing-xs)}.seed-dialog__variables summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer}.seed-dialog__var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.seed-dialog__var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:2px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.describe-dialog__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.describe-dialog__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.describe-dialog__field label{font-weight:600;font-size:var(--font-size-sm)}.describe-dialog__template-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.5}.describe-dialog__model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.describe-dialog__model-row label{font-weight:600;font-size:var(--font-size-sm);white-space:nowrap}.describe-dialog__variables{margin-top:var(--spacing-xs)}.describe-dialog__variables summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer}.describe-dialog__var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.describe-dialog__var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:2px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.describe-dialog__result{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.describe-dialog__result-header{font-weight:600;font-size:var(--font-size-sm)}.describe-dialog__result-content{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);max-height:300px;overflow-y:auto}.describe-dialog__error{color:var(--c-danger);font-size:var(--font-size-sm)}.describe-dialog__applied-msg{color:var(--c-success);font-size:var(--font-size-sm);font-weight:600}.diff-viewer{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);line-height:1.5;overflow-x:auto;white-space:pre;margin:0}.diff-viewer__line{display:block;padding:0 var(--spacing-md)}.diff-viewer__line--added{background:var(--c-success-light);color:var(--c-success-dark)}.diff-viewer__line--removed{background:var(--c-error-light);color:var(--c-error-dark)}.diff-viewer__line--unchanged{color:var(--c-text-secondary)}.diff-viewer__label{display:flex;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-sans);color:var(--c-text-secondary);border-bottom:1px solid var(--c-border-light)}.diff-viewer__label-item--removed{color:var(--c-error-dark)}.diff-viewer__label-item--added{color:var(--c-success-dark)}.view-modify__dialog{max-height:90vh;height:auto}.view-modify__body{display:flex;flex-direction:column;gap:var(--spacing-md)}.view-modify__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.view-modify__label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.view-modify__required{color:var(--c-error);margin-left:2px}.view-modify__loading{text-align:center;color:var(--c-text-muted);padding:var(--spacing-lg)}.view-modify__error{font-size:var(--font-size-sm);color:var(--c-error);padding:var(--spacing-sm);background:var(--c-error-light);border-radius:var(--radius-md)}.view-modify__error-details{margin-top:var(--spacing-sm)}.view-modify__error-details summary{cursor:pointer;font-size:var(--font-size-xs);color:var(--c-text-secondary);-webkit-user-select:none;user-select:none}.view-modify__error-details summary:hover{color:var(--c-text)}.view-modify__error-raw{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);color:var(--c-text);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.view-modify__templates{margin-top:var(--spacing-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-md)}.view-modify__templates summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);-webkit-user-select:none;user-select:none}.view-modify__templates summary:hover{color:var(--c-text)}.view-modify__templates-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-sm) var(--spacing-sm)}.view-modify__tpl-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.view-modify__tpl-field label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary)}.view-modify__tpl-textarea{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5}.view-modify__tpl-var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.view-modify__tpl-var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:1px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.view-modify__tpl-model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.view-modify__tpl-model-row label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.view-modify__trail{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--c-border-light);margin-bottom:var(--spacing-xs)}.view-modify__trail-entry{display:flex;flex-direction:column;gap:2px}.view-modify__trail-question{font-size:var(--font-size-xs);color:var(--c-text-secondary);font-style:italic}.view-modify__trail-question p{margin:0}.view-modify__trail-answer{font-size:var(--font-size-xs);color:var(--c-text);margin:0;padding-left:var(--spacing-sm)}.view-modify__question-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.view-modify__question{font-size:var(--font-size-sm);color:var(--c-text);line-height:1.5}.view-modify__question p{margin:0 0 var(--spacing-xs)}.view-modify__question p:last-child{margin-bottom:0}.view-modify__question ul,.view-modify__question ol{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg)}.view-modify__question strong{font-weight:600}.view-modify__question code{font-family:monospace;font-size:var(--font-size-xs);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.view-modify__diff{display:flex;flex-direction:column;gap:var(--spacing-sm)}.view-modify__diff-summary{font-size:var(--font-size-sm);color:var(--c-text-secondary)}.view-modify__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.view-modify__success{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);text-align:center}.view-modify__success-icon{font-size:var(--font-size-3xl);color:var(--c-success)}.view-modify__success-text{font-size:var(--font-size-md);font-weight:600;color:var(--c-text)}.view-modify__success-hint{font-size:var(--font-size-sm);color:var(--c-text-muted)}.filter-dropdown{position:fixed;min-width:200px;max-width:280px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:var(--z-dropdown);overflow:hidden}.filter-dropdown--wide{min-width:260px}@keyframes filterDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown__header{padding:10px 12px;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-faint);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border-light)}.filter-dropdown__options{max-height:240px;overflow-y:auto;padding:6px 0}.filter-dropdown__option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:var(--font-size-sm);color:var(--c-text-secondary);transition:background .1s ease}.filter-dropdown__option:hover{background:var(--c-bg-subtle)}.filter-dropdown__checkbox{width:18px;height:18px;border:2px solid var(--c-border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;color:#fff}.filter-dropdown__checkbox--checked{background:var(--c-text-muted);border-color:var(--c-text-muted)}.filter-dropdown__radio{width:16px;height:16px;accent-color:var(--c-text-muted)}.filter-dropdown__bool-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex-shrink:0}.filter-dropdown__bool-indicator--yes{background:var(--c-bg-subtle);color:var(--c-text-secondary)}.filter-dropdown__bool-indicator--no{background:var(--c-error-light);color:var(--c-error-dark)}.filter-dropdown__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__input-hidden{position:absolute;opacity:0;pointer-events:none}.filter-dropdown__checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--c-text-muted)}.filter-dropdown__search{padding:8px}.filter-dropdown__search-input{width:100%;padding:8px 10px;font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:6px;color:var(--c-text);transition:all .15s ease}.filter-dropdown__search-input:focus{outline:none;border-color:var(--c-text-muted);background:var(--c-bg);box-shadow:0 0 0 3px var(--c-bg-subtle)}.filter-dropdown__search-input::placeholder{color:var(--c-text-faint)}.filter-dropdown__search-hint{display:block;margin-top:6px;font-size:var(--font-size-xs);color:var(--c-text-faint);padding:0 2px}.filter-dropdown__date-range{padding:12px;display:flex;flex-direction:column;gap:10px}.filter-dropdown__date-field{display:flex;flex-direction:column;gap:4px}.filter-dropdown__date-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.3px}.filter-dropdown__date-input{padding:8px 10px;font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:6px;color:var(--c-text);transition:all .15s ease}.filter-dropdown__date-input:focus{outline:none;border-color:var(--c-text-muted);background:var(--c-bg);box-shadow:0 0 0 3px var(--c-bg-subtle)}.filter-dropdown__date-apply{margin-top:4px;padding:10px;border:none;border-radius:6px;background:var(--c-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:#fff;cursor:pointer;transition:opacity .1s ease}.filter-dropdown__date-apply:hover{opacity:.9}.filter-dropdown__clear{display:block;width:100%;padding:10px 12px;border:none;border-top:1px solid var(--c-border-light);background:transparent;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);cursor:pointer;text-align:left;transition:background .1s ease}.filter-dropdown__clear:hover{background:var(--c-bg-subtle)}.filter-dropdown__presets{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}.filter-dropdown__preset{padding:6px 10px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all .1s ease}.filter-dropdown__preset:hover{background:var(--c-bg-subtle);border-color:var(--c-text-muted);color:var(--c-text)}.filter-dropdown__divider{height:1px;background:var(--c-border-light);margin:0 12px}.filter-dropdown__histogram-wrapper{background:var(--c-bg-subtle);padding-top:8px}.filter-dropdown__histogram{display:flex;align-items:flex-end;gap:0;height:50px;padding:0 12px;cursor:pointer}.filter-dropdown__histogram-bar{flex:1;min-height:3px;background:var(--c-text-muted);opacity:.35;border-radius:1px 1px 0 0;border-right:1px solid var(--c-bg-subtle);transition:opacity .1s ease;cursor:pointer}.filter-dropdown__histogram-bar:last-child{border-right:none}.filter-dropdown__histogram-bar:hover{opacity:.7}.filter-dropdown__histogram-bar:focus-visible{outline:2px solid var(--c-text-muted);outline-offset:1px;opacity:.7}.filter-dropdown__histogram-bar--selected{opacity:1}.filter-dropdown__histogram-hint{font-size:var(--font-size-2xs);color:var(--c-text-faint);text-align:center;padding:4px 12px 8px}.filter-dropdown__histogram-hint kbd{display:inline-block;padding:1px 4px;font-size:var(--font-size-2xs);font-family:var(--font-sans);background:var(--c-bg);border:1px solid var(--c-border);border-radius:3px;box-shadow:0 1px 0 var(--c-border)}.filter-dropdown__range-slider{position:relative;height:32px;padding:0 12px;margin-top:0;-webkit-user-select:none;user-select:none;touch-action:none}.filter-dropdown__slider-track{position:absolute;left:12px;right:12px;top:calc(50% - 6px);transform:translateY(-50%);height:4px;background:var(--c-border-light);border-radius:2px;overflow:hidden}.filter-dropdown__slider-range{position:absolute;top:0;height:100%;background:var(--c-text-muted);border-radius:2px;pointer-events:none}.filter-dropdown__slider{position:absolute;left:12px;right:12px;top:calc(50% - 6px);transform:translateY(-50%);width:calc(100% - 24px);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:transparent;pointer-events:none;cursor:pointer;margin:0}.filter-dropdown__slider--min{z-index:4}.filter-dropdown__slider--max{z-index:3}.filter-dropdown__slider::-webkit-slider-runnable-track{height:4px;background:transparent;border-radius:2px}.filter-dropdown__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--c-text-muted);border:2px solid white;border-radius:50%;cursor:grab;pointer-events:auto;box-shadow:0 1px 3px #0000004d;transition:transform .1s ease,box-shadow .1s ease;margin-top:-6px}.filter-dropdown__slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 2px 5px #00000059}.filter-dropdown__slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.filter-dropdown__slider::-moz-range-thumb{width:16px;height:16px;background:var(--c-text-muted);border:2px solid white;border-radius:50%;cursor:grab;pointer-events:auto;box-shadow:0 1px 3px #0000004d}.filter-dropdown__slider::-moz-range-thumb:active{cursor:grabbing}.filter-dropdown__slider--min,.filter-dropdown__slider--max{top:10px}.filter-dropdown__number-inputs{display:flex;align-items:center;gap:6px;padding:8px 12px}.filter-dropdown__number-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.filter-dropdown__number-label{font-size:var(--font-size-2xs);font-weight:600;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.2px}.filter-dropdown__number-input{width:100%;padding:6px 8px;font-size:var(--font-size-xs);font-family:var(--font-sans);background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:4px;color:var(--c-text);transition:all .15s ease;-moz-appearance:textfield}.filter-dropdown__number-input::-webkit-outer-spin-button,.filter-dropdown__number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-dropdown__number-input:focus{outline:none;border-color:var(--c-text-muted);background:var(--c-bg);box-shadow:0 0 0 2px var(--c-bg-subtle)}.filter-dropdown__number-separator{color:var(--c-text-faint);margin-top:12px;font-size:var(--font-size-xs)}@media (prefers-reduced-motion: reduce){.filter-dropdown,.filter-dropdown__option,.filter-dropdown__search-input,.filter-dropdown__date-input,.filter-dropdown__slider::-webkit-slider-thumb{transition:none}}.settings-panel{position:fixed;width:576px;display:flex;flex-direction:column;overflow:hidden;background:var(--c-bg);border:1px solid var(--c-border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:var(--z-modal)}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:var(--font-size-base);font-weight:700;color:var(--c-text);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border-light)}.settings-panel__header-actions{display:flex;align-items:center;gap:8px}.settings-panel__reset{padding:4px 10px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--c-text-muted);cursor:pointer;transition:all .1s ease}.settings-panel__reset:hover{background:var(--c-bg-subtle);border-color:var(--c-text-faint);color:var(--c-text-secondary)}.settings-panel__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--c-text-muted);cursor:pointer;transition:all .1s ease}.settings-panel__close:hover{background:var(--c-bg);color:var(--c-text)}.settings-panel__section{padding:12px 16px;border-bottom:1px solid var(--c-border-light)}.settings-panel__section:last-child{border-bottom:none}.settings-panel__section--columns{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-panel__section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-faint);margin-bottom:10px}.settings-panel__density-options{display:flex;gap:6px}.settings-panel__density-btn{flex:1;padding:8px 12px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all .1s ease}.settings-panel__density-btn:hover{background:var(--c-bg-subtle);border-color:var(--c-text-faint);color:var(--c-text)}.settings-panel__density-btn--active{background:var(--c-bg-subtle);border-color:var(--c-text-secondary);color:var(--c-text);font-weight:600}.settings-panel__density-btn--active:hover{background:var(--c-bg-subtle);border-color:var(--c-text-secondary);color:var(--c-text)}.settings-panel__columns{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;min-height:0;position:relative}.settings-panel__column{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:6px;transition:all .1s ease}.settings-panel__column--dragging{opacity:.5}.settings-panel__column--no-drag,.settings-panel__column--no-drag .settings-panel__column-row,.settings-panel__column--no-drag .settings-panel__column-row:active{cursor:default}.settings-panel__drop-indicator{height:4px;background:#000;border-radius:2px;margin:4px 0;position:relative;z-index:calc(var(--z-modal) - 1);pointer-events:none;box-shadow:0 0 0 2px #0003}.settings-panel__column-row{display:flex;align-items:center;gap:8px;padding:8px 10px;height:36px;cursor:grab}.settings-panel__column-row:active{cursor:grabbing}.settings-panel__column-row--formats{padding-top:0;padding-bottom:0;padding-left:52px;height:36px;cursor:default;display:grid;grid-template-columns:repeat(5,80px);align-items:center;gap:0}.settings-panel__drag-handle{color:var(--c-text-faint);font-size:var(--font-size-xs);-webkit-user-select:none;user-select:none}.settings-panel__column-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-panel__radio{display:flex;align-items:center;gap:4px;height:20px;cursor:pointer}.settings-panel__radio input{width:14px;height:14px;margin:0;padding:0;vertical-align:middle;accent-color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.settings-panel__radio span{font-size:var(--font-size-xs);line-height:1;vertical-align:middle;color:var(--c-text-secondary);-webkit-user-select:none;user-select:none}.settings-panel__checkbox-inline{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.settings-panel__checkbox-inline input{width:14px;height:14px;margin:0;padding:0;vertical-align:middle;accent-color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.settings-panel__checkbox-inline span{font-size:var(--font-size-xs);line-height:1;vertical-align:middle;color:var(--c-text-muted);-webkit-user-select:none;user-select:none}.settings-panel__checkbox-inline--right{margin-left:auto}.settings-panel__inline-radio{display:contents}.settings-panel__radio-separator{font-size:var(--font-size-2xs);color:var(--c-text-faint);padding:0 2px}.settings-panel .radio-group__option input{accent-color:var(--c-text-muted)}.settings-panel__align-buttons{display:flex;gap:2px;margin-left:8px}.settings-panel__align-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bg);color:var(--c-text-faint);cursor:pointer;transition:all .1s ease}.settings-panel__align-btn:hover{background:var(--c-bg-subtle);color:var(--c-text-muted);border-color:var(--c-text-faint)}.settings-panel__align-btn--active,.settings-panel__align-btn--active:hover{background:var(--c-bg-subtle);border-color:var(--c-text-secondary);color:var(--c-text)}.settings-panel__pin-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:4px;padding:0;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bg);color:var(--c-text-faint);cursor:pointer;transition:all .1s ease}.settings-panel__pin-btn:hover{background:var(--c-bg-subtle);color:var(--c-text-muted);border-color:var(--c-text-faint)}.settings-panel__pin-btn--active,.settings-panel__pin-btn--active:hover{background:var(--c-bg-subtle);border-color:var(--c-text-muted);color:var(--c-text)}.settings-panel__pin-btn--disabled,.settings-panel__pin-btn--disabled:hover{opacity:.3;cursor:not-allowed;background:var(--c-bg);border-color:var(--c-border);color:var(--c-text-faint)}.settings-panel__align-buttons--disabled .settings-panel__align-btn{opacity:.3;cursor:not-allowed;pointer-events:none}.settings-panel__column-row--disabled{opacity:.4;pointer-events:none}@media (prefers-reduced-motion: reduce){.settings-panel__column,.settings-panel__reset,.settings-panel__close,.settings-panel__density-btn,.settings-panel__align-btn,.settings-panel__pin-btn{transition:none}}.row-action-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end;height:100%;padding:0 4px}.row-action-cell__badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;font-family:inherit;border:1px solid;cursor:pointer;white-space:nowrap;transition:filter .12s ease;line-height:1.4}.row-action-cell__badge:hover{filter:brightness(.92)}.row-action-cell__badge:disabled{opacity:.45;cursor:not-allowed;filter:none}.row-action-cell__badge--ghost{background:var(--c-bg-subtle);color:var(--c-text-secondary);border-color:var(--c-border)}.row-action-cell__badge--outline{background:#e8f5e1;color:#3d6b1a;border-color:#b5d89c}.row-action-cell__badge--danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.row-action-cell__menu-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--c-text-muted);cursor:pointer;font-size:var(--font-size-base);font-weight:700;letter-spacing:2px;transition:all .1s ease}.row-action-cell__menu-trigger:hover{background:var(--c-border-light);color:var(--c-text-secondary)}.data-grid__cell--actions,.data-grid__header-cell--actions{position:sticky!important;right:0;z-index:calc(var(--z-sticky) - 8);background:var(--c-bg);overflow:visible;cursor:default;padding:0 8px}.data-grid__header-cell--actions{z-index:calc(var(--z-sticky) + 1);background:var(--c-bg-subtle);cursor:default}.data-grid__header-cell--actions .data-grid__header-content{justify-content:flex-end;padding-right:16px}.data-grid__header-cell--actions:before{content:"";position:absolute;top:0;left:-8px;width:8px;height:9999px;background:linear-gradient(to left,rgba(0,0,0,.15),rgba(0,0,0,.05),transparent);pointer-events:none}.data-grid__row:hover .data-grid__cell--actions,.data-grid__row--selected .data-grid__cell--actions{background:var(--c-bg-subtle)}.data-grid__top-filters{display:flex;flex-wrap:wrap;gap:12px;padding:10px 16px;background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border-light)}.data-grid__top-filter-field{display:flex;flex-direction:column;gap:2px;min-width:0}.data-grid__top-filter-field-label{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-faint);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-grid__top-filter-field-control{display:flex;align-items:center;gap:4px}.data-grid__top-filter-input{height:30px;padding:0 8px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-secondary);transition:border-color .1s ease;min-width:100px}.data-grid__top-filter-input:focus{outline:none;border-color:var(--c-primary)}.data-grid__top-filter-input::placeholder{color:var(--c-text-faint);font-style:italic}.data-grid__top-filter-input--date{min-width:130px;width:130px}.data-grid__top-filter-input--number{min-width:70px;width:80px}.data-grid__top-filter-date-group{display:flex;align-items:center;gap:4px}.data-grid__top-filter-date-sep{font-size:var(--font-size-sm);color:var(--c-text-faint);-webkit-user-select:none;user-select:none}.data-grid__top-filter-number-group{display:flex;align-items:center;gap:4px}.data-grid__top-filter-number-sep{font-size:var(--font-size-sm);color:var(--c-text-faint);-webkit-user-select:none;user-select:none}.data-grid__top-filter-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer;transition:all .1s ease;white-space:nowrap}.data-grid__top-filter-chip:hover{border-color:var(--c-text-faint);background:var(--c-bg-subtle)}.data-grid__top-filter-chip--active{border-color:var(--c-primary);color:var(--c-text-secondary)}.data-grid__top-filter-chip-text{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid__top-filter-chevron{color:var(--c-text-faint);flex-shrink:0}.data-grid__top-filter-select{height:30px;padding:0 8px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-secondary);cursor:pointer;transition:border-color .1s ease;min-width:80px}.data-grid__top-filter-select:focus{outline:none;border-color:var(--c-primary)}.data-grid__top-filter-field-clear{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--c-text-faint);cursor:pointer;transition:all .1s ease;flex-shrink:0}.data-grid__top-filter-field-clear:hover{background:var(--c-border-light);color:var(--c-text-secondary)}.data-grid{position:relative;flex:1;height:100%;display:flex;flex-direction:column;background:#fff;background:var(--c-bg, #ffffff);overflow:hidden;min-height:0}.data-grid__info{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border-light);font-size:var(--font-size-sm);color:var(--c-text-muted)}.data-grid__info-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}.data-grid__count{font-weight:500;min-width:180px;flex-shrink:0}.data-grid__error{color:var(--c-error-dark);font-weight:500}.data-grid__clear-filters{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:transparent;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);cursor:pointer;transition:background .1s ease}.data-grid__clear-filters:hover{background:var(--c-border-light)}.data-grid__info-actions{display:flex;align-items:center;gap:8px}.data-grid__refresh-btn,.data-grid__export-btn,.data-grid__settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--c-text-muted);cursor:pointer;transition:all .1s ease}.data-grid__refresh-btn:hover,.data-grid__export-btn:hover,.data-grid__settings-btn:hover{background:var(--c-bg);color:var(--c-text-secondary)}.data-grid__refresh-btn:disabled{cursor:not-allowed;opacity:.5}.data-grid__refresh-btn--loading svg{animation:spin 1s linear infinite}.data-grid__active-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.data-grid__filter-tag{display:inline-flex;align-items:center;background:var(--c-bg);border:1px solid var(--c-border);border-radius:6px;font-size:var(--font-size-base);font-family:var(--font-sans);transition:all .1s ease}.data-grid__filter-tag:hover{border-color:var(--c-text-faint)}.data-grid__filter-tag-body{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;border:none;background:transparent;font:inherit;cursor:pointer;border-radius:6px 0 0 6px;transition:background .1s ease}.data-grid__filter-tag-body:hover{background:var(--c-border-light)}.data-grid__filter-tag-label{color:var(--c-text-faint);font-weight:500}.data-grid__filter-tag-value{color:var(--c-text-secondary);font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid__filter-tag-remove{display:flex;align-items:center;justify-content:center;width:26px;height:100%;border:none;background:transparent;color:var(--c-text-faint);cursor:pointer;border-radius:0 6px 6px 0;padding:4px 6px 4px 2px;transition:all .1s ease}.data-grid__filter-tag-remove:hover{background:var(--c-border-light);color:var(--c-text-secondary)}.data-grid__filter-tag--color-0{background:var(--c-bg-subtle);border-color:var(--c-border)}.data-grid__filter-tag--color-1{background:#e0f2fe;border-color:#bae6fd}.data-grid__filter-tag--color-1 .data-grid__filter-tag-value{color:#0369a1}.data-grid__filter-tag--color-2{background:#fef3c7;border-color:#fde68a}.data-grid__filter-tag--color-2 .data-grid__filter-tag-value{color:#b45309}.data-grid__filter-tag--color-3{background:#f3e8ff;border-color:#e9d5ff}.data-grid__filter-tag--color-3 .data-grid__filter-tag-value{color:#7c3aed}.data-grid__filter-tag--color-4{background:#fce7f3;border-color:#fbcfe8}.data-grid__filter-tag--color-4 .data-grid__filter-tag-value{color:#be185d}.data-grid__filter-tag--color-5{background:#f1f5f9;border-color:#cbd5e1}.data-grid__filter-tag--color-5 .data-grid__filter-tag-value{color:#475569}.data-grid__filter-tag--color-6{background:#fef2f2;border-color:#fecaca}.data-grid__filter-tag--color-6 .data-grid__filter-tag-value{color:#dc2626}.data-grid__filter-tag--color-7{background:#f0f9ff;border-color:#bfdbfe}.data-grid__filter-tag--color-7 .data-grid__filter-tag-value{color:#0284c7}.data-grid__filter-tag--color-8{background:#fffbeb;border-color:#fcd34d}.data-grid__filter-tag--color-8 .data-grid__filter-tag-value{color:#d97706}.data-grid__filter-tag--color-9{background:#f5f5f4;border-color:#d6d3d1}.data-grid__filter-tag--color-9 .data-grid__filter-tag-value{color:#57534e}.data-grid__scroll-container{position:relative;flex:1;overflow:auto;overscroll-behavior:contain;min-height:0}.data-grid__scroll-container::-webkit-scrollbar{width:10px;height:10px}.data-grid__scroll-container::-webkit-scrollbar-track{background:#f8fafc;background:var(--c-bg-subtle, #f8fafc)}.data-grid__scroll-container::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--c-border, #e2e8f0);border-radius:5px}.data-grid__scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--c-text-faint, #94a3b8)}.data-grid__scroll-container{scrollbar-width:auto;scrollbar-color:#e2e8f0 #f8fafc;scrollbar-color:var(--c-border, #e2e8f0) var(--c-bg-subtle, #f8fafc)}.data-grid__scrollbar-overlay{position:absolute;bottom:0;left:0;height:12px;background:#f8fafc;background:var(--c-bg-subtle, #f8fafc);pointer-events:none;z-index:calc(var(--z-sticky) + 10)}@-moz-document url-prefix(){.data-grid__scrollbar-overlay{height:18px}}.data-grid__table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed}.data-grid__thead{position:sticky;top:0;z-index:var(--z-sticky);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.data-grid__thead th{background:var(--c-bg-subtle)}.data-grid__header-row{height:auto}.data-grid__header-cell{position:relative;padding:0;text-align:left;font-weight:600;font-size:var(--font-size-base);color:var(--c-text-secondary);background:var(--c-bg-subtle);vertical-align:middle;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.data-grid__header-cell--dragging{opacity:.5}.data-grid__header-cell--drag-over{background:var(--c-border-light)}.data-grid__header-content{display:flex;align-items:center;gap:6px;padding:12px 4px 12px 16px;min-height:48px}.data-grid__drag-handle{cursor:grab;color:var(--c-text-faint);font-size:var(--font-size-xs);line-height:1;padding:4px 2px;border-radius:4px;letter-spacing:-3px;transition:color var(--transition-fast)}.data-grid__drag-handle:hover{color:var(--c-text-muted)}.data-grid__drag-handle:active{cursor:grabbing}.data-grid__header-title{flex:1;display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid__header-title--sortable{cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:4px;transition:background var(--transition-fast)}.data-grid__header-title--sortable:hover{background:#0000000a}.data-grid__sort-indicator{font-size:var(--font-size-sm);color:var(--c-text-secondary);font-weight:400}.data-grid__header-filter-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--c-text-faint);cursor:pointer;transition:all .1s ease;flex-shrink:0;padding:0}.data-grid__header-filter-btn:hover{background:#0000000f;color:var(--c-text-muted)}.data-grid__header-filter-btn--active{color:var(--c-primary)}.data-grid__header-filter-btn--active:hover{color:var(--c-primary);background:#4a7c2314}.data-grid__add-filter-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px dashed var(--c-border);border-radius:6px;background:transparent;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-muted);cursor:pointer;transition:all .1s ease;white-space:nowrap}.data-grid__add-filter-btn:hover{border-color:var(--c-text-faint);background:var(--c-bg);color:var(--c-text-secondary)}.data-grid__resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:transparent;transition:background var(--transition-fast)}.data-grid__resizer:hover,.data-grid__resizer--resizing{background:var(--c-text-muted);opacity:.5}.data-grid__tbody{background:var(--c-bg)}.data-grid__row{height:var(--row-height, 58px);transition:background .1s ease;border-bottom:1px solid var(--c-border-light);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.data-grid__row:hover{background:var(--c-bg-subtle)}.data-grid__row--clickable{cursor:pointer}.data-grid__cell{padding:0 16px;font-size:var(--font-size-base);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;height:var(--row-height, 58px)}.data-grid--density-compact .data-grid__cell{padding:0 12px;font-size:var(--font-size-sm)}.data-grid--density-compact .data-grid__header-content{padding:8px 12px;min-height:36px}.data-grid--density-relaxed .data-grid__cell{padding:0 16px;font-size:var(--font-size-base)}.data-grid--density-relaxed .data-grid__header-content{padding:16px;min-height:56px}.data-grid__cell--filterable{cursor:default}.data-grid__cell--filterable:hover{background:#00000005}.data-grid__cell--align-left{text-align:left}.data-grid__cell--align-center{text-align:center}.data-grid__cell--align-right{text-align:right}.data-grid__cell--numeric{text-align:right;font-variant-numeric:tabular-nums}.data-grid__text--muted{color:var(--c-text-muted);font-style:italic;font-size:var(--font-size-sm)}.data-grid__cell--money{text-align:right;font-variant-numeric:tabular-nums;color:var(--c-text-muted)}.data-grid__cell--date{color:var(--c-text-muted)}.data-grid__badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.data-grid__badge--active{background:var(--c-bg-subtle);color:var(--c-text-secondary);border:1px solid var(--c-border)}.data-grid__badge--inactive{background:var(--c-error-light);color:var(--c-error-dark);border:1px solid var(--c-error-border)}.data-grid__department{display:inline-block;padding:6px 12px;border-radius:8px;font-size:var(--font-size-sm);font-weight:500;background:var(--c-bg-subtle);color:var(--c-text-secondary)}.data-grid__id{font-weight:600;color:var(--c-text-secondary)}.data-grid__badge--color-0{background:var(--c-bg-subtle);color:var(--c-text-secondary);border:1px solid var(--c-border)}.data-grid__badge--color-1{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.data-grid__badge--color-2{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.data-grid__badge--color-3{background:#f3e8ff;color:#7c3aed;border:1px solid #e9d5ff}.data-grid__badge--color-4{background:#fce7f3;color:#be185d;border:1px solid #fbcfe8}.data-grid__badge--color-5{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.data-grid__badge--color-6{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.data-grid__badge--color-7{background:#f0f9ff;color:#0284c7;border:1px solid #bfdbfe}.data-grid__badge--color-8{background:#fffbeb;color:#d97706;border:1px solid #fcd34d}.data-grid__badge--color-9{background:#f5f5f4;color:#57534e;border:1px solid #d6d3d1}.data-grid__bool-check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}.data-grid__bool-check--yes{background:var(--c-bg-subtle);color:var(--c-text-secondary)}.data-grid__bool-check--no{background:var(--c-error-light);color:var(--c-error-dark)}.data-grid__empty{padding:48px;text-align:center;color:var(--c-text-faint);font-size:var(--font-size-base)}.data-grid__col--selection{width:48px}.data-grid__header-cell--selection,.data-grid__cell--selection{width:48px;min-width:48px;max-width:48px;text-align:center;padding:0!important}.data-grid__row--focused{outline:2px solid var(--c-primary, #4a7c23);outline-offset:-2px;background:color-mix(in srgb,var(--c-primary, #4a7c23) 8%,var(--c-bg, #fff))}.data-grid__row--selected,.data-grid__row--selected:hover{background:var(--c-bg-subtle)}.data-grid__checkbox-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.data-grid__checkbox{position:absolute;opacity:0;width:0;height:0}.data-grid__checkbox-custom{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--c-border);border-radius:4px;background:var(--c-bg);transition:all .1s ease}.data-grid__checkbox:checked+.data-grid__checkbox-custom{background:var(--c-text-muted);border-color:var(--c-text-muted)}.data-grid__checkbox:checked+.data-grid__checkbox-custom:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.data-grid__checkbox:indeterminate+.data-grid__checkbox-custom{background:var(--c-text-muted);border-color:var(--c-text-muted)}.data-grid__checkbox:indeterminate+.data-grid__checkbox-custom:after{content:"";width:8px;height:2px;background:#fff}.data-grid__checkbox-wrapper:hover .data-grid__checkbox-custom{border-color:var(--c-text-muted)}.data-grid__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:var(--z-sticky)}.data-grid__loading-spinner{width:32px;height:32px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .8s linear infinite}.data-grid__loading-overlay--top{bottom:auto}.data-grid__th--pinned-left,.data-grid__td--pinned-left{position:sticky!important;z-index:calc(var(--z-sticky) - 8);background:var(--c-bg);box-sizing:border-box}.data-grid__th--pinned-left{z-index:calc(var(--z-sticky) + 1);background:var(--c-bg-subtle)}.data-grid__cell--pinned-left-last{position:relative;overflow:visible}td.data-grid__cell--pinned-left-last,.data-grid__cell--selection.data-grid__cell--pinned-left-last{z-index:calc(var(--z-sticky) - 6)}th.data-grid__cell--pinned-left-last,.data-grid__header-cell--selection.data-grid__cell--pinned-left-last{z-index:calc(var(--z-sticky) + 3)}.data-grid__cell--pinned-left-last:after{content:"";position:absolute;top:0;right:-8px;width:8px;height:100%;background:linear-gradient(to right,rgba(0,0,0,.15),rgba(0,0,0,.05),transparent);pointer-events:none}.data-grid__row:hover .data-grid__td--pinned-left,.data-grid__row--selected .data-grid__td--pinned-left{background:var(--c-bg-subtle)}.data-grid__header-cell--selection,.data-grid__cell--selection{position:sticky!important;left:0!important;z-index:calc(var(--z-sticky) - 7);background:var(--c-bg)}.data-grid__header-cell--selection{z-index:calc(var(--z-sticky) + 2);background:var(--c-bg-subtle)}.data-grid__row:hover .data-grid__cell--selection,.data-grid__row--selected .data-grid__cell--selection{background:var(--c-bg-subtle)}.tabs{display:flex;flex-direction:column;width:100%}.tabs__list{display:flex;gap:var(--spacing-xs);overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.tabs__list::-webkit-scrollbar{height:4px}.tabs__list::-webkit-scrollbar-thumb{background:var(--c-border-light);border-radius:2px}.tabs--line .tabs__list{border-bottom:1px solid var(--c-border-light)}.tabs--line .tabs__tab{position:relative;padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-secondary);cursor:pointer;transition:color var(--transition-fast);flex-shrink:0;white-space:nowrap}.tabs--line .tabs__tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;transition:background var(--transition-fast)}.tabs--line .tabs__tab:hover:not(.tabs__tab--disabled){color:var(--c-text)}.tabs--line .tabs__tab--selected{color:var(--c-primary);font-weight:600}.tabs--line .tabs__tab--selected:after{background:var(--c-primary)}.tabs--pill .tabs__list{background:var(--c-bg-subtle);border-radius:var(--radius-md);padding:var(--spacing-xs)}.tabs--pill .tabs__tab{padding:var(--spacing-xs) var(--spacing-md);border:none;background:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0;white-space:nowrap}.tabs--pill .tabs__tab:hover:not(.tabs__tab--disabled){color:var(--c-text)}.tabs--pill .tabs__tab--selected{background:var(--c-bg);color:var(--c-primary);font-weight:600;box-shadow:0 1px 2px #0000000f}.tabs__tab--disabled{opacity:.4;cursor:not-allowed}.tabs__tab:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.tabs__tab-icon{display:inline-flex;margin-right:var(--spacing-xs)}.tabs__tab-badge{margin-left:var(--spacing-xs);padding:0 6px;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--c-bg-subtle);color:var(--c-text-secondary)}.tabs__tab--selected .tabs__tab-badge{background:var(--c-primary-alpha, rgba(74, 124, 35, .1));color:var(--c-primary)}.tabs__tab-close{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--spacing-xs);width:16px;height:16px;font-size:var(--font-size-xs);line-height:1;border-radius:var(--radius-sm);opacity:0;cursor:pointer;transition:opacity var(--transition-fast)}.tabs__tab:hover .tabs__tab-close,.tabs__tab--selected .tabs__tab-close{opacity:.6}.tabs__tab-close:hover{opacity:1;background:var(--c-bg-subtle)}.tabs__tab-close:focus-visible{opacity:1;outline:2px solid var(--c-primary);outline-offset:-2px}.tabs__panel{animation:tabs-fade-in var(--transition-fast)}.tabs__panel:focus-visible{outline:2px solid var(--c-primary-alpha);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes tabs-fade-in{0%{opacity:0}to{opacity:1}}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);border:2px dashed var(--c-border);border-radius:var(--radius-md);background:var(--c-bg-subtle);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);-webkit-user-select:none;user-select:none}.file-drop-zone:hover{border-color:var(--c-primary-light);background:var(--c-bg)}.file-drop-zone:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.file-drop-zone--drag-over{border-color:var(--c-primary);background:var(--c-primary-alpha)}.file-drop-zone--disabled{opacity:.5;cursor:not-allowed}.file-drop-zone--disabled:hover{border-color:var(--c-border);background:var(--c-bg-subtle)}.file-drop-zone--error{border-color:var(--c-error)}.file-drop-zone__icon{color:var(--c-text-muted)}.file-drop-zone--drag-over .file-drop-zone__icon{color:var(--c-primary)}.file-drop-zone__label{font-size:var(--font-size-sm);color:var(--c-text-secondary);text-align:center}.file-drop-zone__hint{font-size:var(--font-size-xs);color:var(--c-text-muted)}.file-drop-zone__input{display:none}.file-drop-zone__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.segment-handle{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--c-primary, #4a7c23);border:none;transform:translate(-50%,-50%);z-index:1002;pointer-events:all;transition:box-shadow .15s ease,transform .1s ease}.segment-handle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primary, #4a7c23) 25%,transparent);transform:translate(-50%,-50%) scale(1.3)}.segment-handle--h{cursor:ns-resize}.segment-handle--v{cursor:ew-resize}.segment-handle--dragging{transition:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary, #4a7c23) 30%,transparent);transform:translate(-50%,-50%) scale(1.4)}.wire-edge__pulse{pointer-events:none}.wire-params-panel{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px);border-left:1px solid var(--c-border, #e0e0e0);background:var(--c-bg, #fff);overflow-y:auto;min-width:280px;max-width:320px}.wire-params-panel__header{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--spacing-sm, 8px);border-bottom:1px solid var(--c-border, #e0e0e0)}.wire-params-panel__title{font-weight:700;font-size:var(--font-size-base);color:var(--c-text, #333)}.wire-params-panel__route{font-size:var(--font-size-xs);color:var(--c-text-muted, #888);font-family:monospace}.wire-params-panel__section{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.wire-params-panel__label{font-size:var(--font-size-sm);font-weight:500;color:var(--c-text, #333)}.wire-params-panel__hint{font-size:var(--font-size-2xs);color:var(--c-text-muted, #888)}.wire-params-panel__row{display:flex;align-items:center;gap:4px}.wire-params-panel__row-key{font-size:var(--font-size-xs);font-weight:600;min-width:60px;font-family:monospace;color:var(--c-text, #333)}.wire-params-panel__row--add{margin-top:var(--spacing-xs, 4px)}.tooltip{display:inline-flex;position:relative}.tooltip__content{z-index:9999;padding:6px 10px;border-radius:var(--radius-sm, 4px);background:var(--c-text, #1a1a1a);color:var(--c-text-inverse, rgba(255, 255, 255, .87));font-size:var(--font-size-xs, .75rem);line-height:1.4;white-space:pre-line;pointer-events:none;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .08))}.tooltip__content--top{transform:translate(-50%,-100%)}.tooltip__content--bottom{transform:translate(-50%)}.tooltip__content--left{transform:translate(-100%,-50%)}.tooltip__content--right{transform:translateY(-50%)}.tooltip__arrow{position:absolute;width:0;height:0;border:5px solid transparent}.tooltip__arrow--top{bottom:-10px;left:50%;transform:translate(-50%);border-top-color:var(--c-text, #1a1a1a)}.tooltip__arrow--bottom{top:-10px;left:50%;transform:translate(-50%);border-bottom-color:var(--c-text, #1a1a1a)}.tooltip__arrow--left{right:-10px;top:50%;transform:translateY(-50%);border-left-color:var(--c-text, #1a1a1a)}.tooltip__arrow--right{left:-10px;top:50%;transform:translateY(-50%);border-right-color:var(--c-text, #1a1a1a)}.wiring-sidebar{width:200px;border-right:1px solid var(--c-border-light);overflow-y:auto;flex-shrink:0;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-md)}.wiring-sidebar__section{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--c-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--c-border-light)}.wiring-sidebar__section-header{font-size:var(--font-size-xs);font-weight:700;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--c-border);margin:0 0 var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-xs)}.wiring-sidebar__tiles{display:flex;flex-direction:column;gap:var(--spacing-xs)}.wiring-sidebar__tiles>.tooltip{width:100%}.wiring-sidebar__tile{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--c-border-dark);border-radius:var(--radius-sm);background:var(--c-bg);cursor:grab;width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.wiring-sidebar__tile:hover{box-shadow:0 1px 4px #0000000f}.wiring-sidebar__tile:active{cursor:grabbing}.wiring-sidebar__tile--data{border-color:var(--stage-data-accent)}.wiring-sidebar__tile--transform{border-color:var(--stage-transform-accent)}.wiring-sidebar__tile--logic{border-color:var(--stage-logic-accent)}.wiring-sidebar__tile--effect{border-color:var(--stage-effect-accent)}.wiring-sidebar__tile--debug{border-color:var(--stage-debug-accent)}.wiring-sidebar__tile-icon{font-size:var(--font-size-lg);flex-shrink:0}.wiring-sidebar__tile-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root{--stage-data-accent: #3b82f6;--stage-transform-accent: #8b5cf6;--stage-ui-accent: #10b981;--stage-logic-accent: #eab308;--stage-effect-accent: #ec4899;--stage-debug-accent: #f97316;--stage-stream-color: #3b82f6;--stage-trigger-color: #f59e0b}.graph-editor{display:flex;width:100%;height:100%;min-height:500px}.graph-editor__canvas{flex:1;min-width:0;height:100%}.graph-editor__toolbar{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.graph-editor__wire-filters{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-left:var(--spacing-xs, 4px);padding-left:var(--spacing-sm, 8px);border-left:1px solid var(--c-border-light, #eee)}.graph-editor__wire-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:var(--font-size-xs);color:var(--c-text, #333);-webkit-user-select:none;user-select:none;white-space:nowrap}.graph-editor__wire-toggle input[type=checkbox]{display:none}.graph-editor__wire-toggle-dot{width:10px;height:10px;border-radius:50%;border:2px solid;transition:background .15s}.graph-editor__wire-toggle-dot--stream{border-color:var(--stage-stream-color)}.graph-editor__wire-toggle-dot--trigger{border-color:var(--stage-trigger-color)}.graph-editor__wire-toggle input:checked~.graph-editor__wire-toggle-dot--stream{background:var(--stage-stream-color)}.graph-editor__wire-toggle input:checked~.graph-editor__wire-toggle-dot--trigger{background:var(--stage-trigger-color)}.block-node{background:var(--c-bg, #fff);border:2px solid var(--c-border, #ccc);border-radius:var(--radius-md, 8px);width:240px;font-family:inherit;font-size:var(--font-size-sm);box-shadow:0 1px 3px #0000001a}.block-node--selected{box-shadow:0 0 0 2px var(--c-primary, #4a7c23),0 2px 6px #00000026}.block-node__header{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:5px 8px;min-height:30px;box-sizing:border-box;border-radius:var(--radius-md, 8px) var(--radius-md, 8px) 0 0;color:#fff;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.block-node__category{opacity:.8;font-weight:400}.block-node__category:after{content:" | ";opacity:.4}.block-node__name{flex:1}.block-node__subtitle{padding:5px 8px;min-height:20px;box-sizing:border-box;font-size:var(--font-size-xs);color:var(--c-text-muted, #888);border-bottom:1px solid var(--c-border-light, #eee)}.block-node__config{padding:2px 8px 4px;display:flex;flex-wrap:wrap;gap:4px}.block-node__config-tag{background:var(--c-bg-elevated, #f5f5f5);padding:1px 6px;border-radius:3px;font-size:var(--font-size-2xs);color:var(--c-text-muted, #666)}.block-node__ports{display:flex;justify-content:space-between;padding:0}.block-node__port-col{display:flex;flex-direction:column;gap:0}.block-node__port-col--in{align-items:flex-start}.block-node__port-col--out{align-items:flex-end}.block-node__port-row{display:flex;align-items:center;gap:4px;padding:5px 8px;min-height:20px;box-sizing:border-box;position:relative}.block-node__port-row--out{flex-direction:row}.block-node__port-label{font-size:var(--font-size-xs);color:var(--c-text, #333);white-space:nowrap}.block-node__port-mode{font-size:var(--font-size-2xs)}.graph-canvas .react-flow__handle.block-node__port-dot{width:10px;height:10px;border:2px solid;border-radius:50%;background:var(--c-bg, #fff);opacity:1;box-shadow:none}.graph-canvas .react-flow__handle.block-node__port-dot--stream{border-color:var(--stage-stream-color)}.graph-canvas .react-flow__handle.block-node__port-dot--trigger{border-color:var(--stage-trigger-color)}.graph-editor__suggest-panel{background:var(--c-bg, #fff);border:1px solid var(--c-border, #ccc);border-radius:var(--radius-md, 8px);box-shadow:0 4px 12px #0000001f;min-width:300px;max-width:420px;max-height:400px;display:flex;flex-direction:column;font-size:var(--font-size-sm)}.graph-editor__suggest-header{padding:8px 12px;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted, #666);border-bottom:1px solid var(--c-border-light, #eee)}.graph-editor__suggest-empty{padding:16px 12px;color:var(--c-text-muted, #888);text-align:center}.graph-editor__suggest-list{overflow-y:auto;padding:4px 0;flex:1;min-height:0}.graph-editor__suggest-row{display:flex;align-items:center;gap:8px;padding:4px 12px;cursor:pointer}.graph-editor__suggest-row:hover{background:var(--c-bg-hover, #f5f5f5)}.graph-editor__suggest-row--auto{background:color-mix(in srgb,var(--c-primary, #4a7c23) 6%,transparent)}.graph-editor__suggest-wire{flex:1;font-family:monospace;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-editor__suggest-badge{font-size:var(--font-size-2xs);padding:1px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.graph-editor__suggest-badge--auto{background:color-mix(in srgb,var(--c-primary, #4a7c23) 15%,var(--c-bg, #fff));color:var(--c-primary, #4a7c23)}.graph-editor__suggest-badge--candidate{background:color-mix(in srgb,var(--stage-trigger-color, #f59e0b) 15%,var(--c-bg, #fff));color:var(--stage-trigger-color, #f59e0b)}.graph-editor__suggest-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:8px 12px;border-top:1px solid var(--c-border-light, #eee)}.wire-edge__label{position:absolute;font-size:var(--font-size-2xs);padding:1px 6px;border-radius:3px;white-space:nowrap;opacity:.65}.wire-edge__label--stream{background:color-mix(in srgb,var(--stage-stream-color) 15%,var(--c-bg, #fff));color:var(--stage-stream-color)}.wire-edge__label--trigger{background:color-mix(in srgb,var(--stage-trigger-color) 15%,var(--c-bg, #fff));color:var(--stage-trigger-color)}.block-config-panel{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px);border-left:1px solid var(--c-border, #e0e0e0);background:var(--c-bg, #fff);overflow-y:auto;min-width:280px;max-width:320px}.block-config-panel__header{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--spacing-sm, 8px);border-bottom:1px solid var(--c-border, #e0e0e0)}.block-config-panel__type{font-weight:700;font-size:var(--font-size-base);color:var(--c-text, #333)}.block-config-panel__id{font-size:var(--font-size-xs);color:var(--c-text-muted, #888);font-family:monospace}.block-config-panel__description{margin:0;font-size:var(--font-size-xs);color:var(--c-text-secondary, #666);line-height:1.4}.block-config-panel__section{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.block-config-panel__section-title{margin:0;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted, #888)}.block-config-panel__field{display:flex;flex-direction:column;gap:4px}.block-config-panel__label{font-size:var(--font-size-sm);font-weight:500;color:var(--c-text, #333)}.block-config-panel__required{color:var(--c-danger, #dc3545);margin-left:2px}.block-config-panel__ports{display:flex;flex-direction:column;gap:4px}.block-config-panel__port{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--font-size-xs);padding:2px 0}.block-config-panel__port-dot{width:8px;height:8px;border-radius:50%;border:2px solid;flex-shrink:0}.block-config-panel__port-dot--stream{border-color:var(--stage-stream-color, #3b82f6)}.block-config-panel__port-dot--trigger{border-color:var(--stage-trigger-color, #f59e0b)}.block-config-panel__port-label{font-weight:500;color:var(--c-text, #333)}.block-config-panel__port-type{color:var(--c-text-muted, #888);font-family:monospace;font-size:var(--font-size-2xs)}.block-config-panel__port-dir{margin-left:auto;font-size:var(--font-size-2xs);text-transform:uppercase;color:var(--c-text-muted, #888)}.block-config-panel__port-description{width:100%;font-size:11px;color:var(--c-text-muted, #888);line-height:1.3;padding-left:14px}.block-config-panel__textarea-preview{margin:0;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-xs);font-family:monospace;line-height:1.4;color:var(--c-text, #333);background:var(--c-bg-alt, #f5f5f5);border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-sm, 4px);white-space:pre-wrap;word-break:break-word;max-height:4.5em;overflow:hidden}.block-config-panel__textarea-empty{font-size:var(--font-size-xs);font-style:italic;color:var(--c-text-muted, #888)}.block-config-panel__textarea-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px)}.block-config-panel__json{font-family:monospace;font-size:var(--font-size-xs);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-sm, 4px);background:var(--c-bg, #fff);color:var(--c-text, #333);resize:vertical;min-height:60px}.block-config-panel__json:focus{outline:none;border-color:var(--c-primary, #4a7c23)}.block-config-panel__json--error{border-color:var(--c-danger, #dc3545)}.block-config-panel__json-error{font-size:var(--font-size-xs);color:var(--c-danger, #dc3545)}.block-config-panel__picker-row{display:flex;gap:var(--spacing-xs, 4px);align-items:stretch}.block-config-panel__picker-row .select{flex:1}.block-config-panel__picker-row>.button{flex-shrink:0}.modal__body:has(.grid-editor){display:flex;flex-direction:column;overflow:hidden}.modal__body .arch-detail__editor-panel{flex:1;min-height:0;display:flex;flex-direction:column}.modal__body .grid-editor{flex:1;min-height:0;overflow:hidden}.modal__body .grid-editor__columns{overflow-y:auto}.block-config-panel__tri-state-list{display:flex;flex-direction:column;gap:2px}.block-config-panel__tri-state-row{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:6px var(--spacing-sm, 8px);border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-sm, 4px);background:var(--c-bg, #fff);cursor:pointer;font-size:var(--font-size-sm);color:var(--c-text-muted, #888);transition:background .15s,border-color .15s,color .15s;font-family:inherit;text-align:left;width:100%}.block-config-panel__tri-state-row:hover{background:var(--c-bg-alt, #f5f5f5)}.block-config-panel__tri-state-row--selectable{color:var(--c-text, #333);border-color:var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 5%,var(--c-bg, #fff))}.block-config-panel__tri-state-row--activated{color:var(--c-text, #333);border-color:var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 12%,var(--c-bg, #fff));font-weight:500}.block-config-panel__tri-state-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-config-panel__latlng-row{display:flex;gap:var(--spacing-sm, 8px)}.block-config-panel__latlng-input{flex:1;display:flex;flex-direction:column;gap:2px}.block-config-panel__latlng-label{font-size:var(--font-size-xs);color:var(--c-text-muted, #888);font-weight:500}.block-config-panel__bounds-grid{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.block-config-panel__bounds-corner{display:flex;flex-direction:column;gap:4px}.block-config-panel__bounds-title{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary, #666)}.block-config-panel__multi-select-list{display:flex;flex-direction:column;gap:4px}.block-config-panel__multi-select-item{display:flex;align-items:center;gap:var(--spacing-sm, 8px);font-size:var(--font-size-sm);color:var(--c-text, #333);cursor:pointer;padding:4px 0}.block-config-panel__multi-select-item input[type=checkbox]{accent-color:var(--c-primary, #4a7c23)}.block-config-panel__hint{font-size:var(--font-size-xs);color:var(--c-text-muted, #888);line-height:1.3}.artifact-picker{min-height:120px}.artifact-picker__status{text-align:center;padding:var(--spacing-lg, 24px);color:var(--c-text-muted, #888);font-size:var(--font-size-sm)}.artifact-picker__status--error{color:var(--c-danger, #dc3545)}.artifact-picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.artifact-picker__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-sm, 4px);background:var(--c-bg, #fff);cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;transition:border-color .15s,background-color .15s}.artifact-picker__item:hover{border-color:var(--c-primary, #4a7c23);background:var(--c-bg-elevated, #f8f8f8)}.artifact-picker__item--selected{border-color:var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 8%,var(--c-bg, #fff))}.artifact-picker__item-name{font-weight:600;font-size:var(--font-size-sm);color:var(--c-text, #333)}.artifact-picker__item-desc{font-size:var(--font-size-xs);color:var(--c-text-muted, #888)}.artifact-picker__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px)}.artifact-picker__layout{display:flex;gap:var(--spacing-md);min-height:480px}.artifact-picker__left{width:240px;flex-shrink:0;display:flex;flex-direction:column}.artifact-picker__search{margin-bottom:var(--spacing-sm)}.artifact-picker__grid-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.artifact-picker__grid-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);border-left:3px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base);background:none;border-top:none;border-right:none;border-bottom:none;font:inherit;text-align:left;width:100%;color:inherit}.artifact-picker__grid-item:hover{background:var(--c-bg-subtle, #f8fafc)}.artifact-picker__grid-item--selected{background:var(--c-bg-subtle, #f8fafc);border-left-color:var(--c-primary, #4a7c23)}.artifact-picker__grid-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-picker__grid-item-meta{font-size:var(--font-size-2xs);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-picker__empty{text-align:center;padding:var(--spacing-xl);color:var(--c-text-muted);font-size:var(--font-size-sm)}.artifact-picker__preview{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;overflow-y:auto}.artifact-picker__preview-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--c-text-muted);font-size:var(--font-size-sm)}.artifact-picker__preview-info{display:flex;flex-direction:column;gap:var(--spacing-2xs, 4px)}.artifact-picker__preview-name{font-size:var(--font-size-base);font-weight:600;color:var(--c-text)}.artifact-picker__preview-meta{font-size:var(--font-size-xs);color:var(--c-text-muted)}.artifact-picker__preview-meta strong{color:var(--c-text-secondary)}.artifact-picker__preview-desc{font-size:var(--font-size-sm);color:var(--c-text-secondary);line-height:1.5}.artifact-picker__preview-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.artifact-picker__preview-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em}.artifact-picker__col-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.artifact-picker__col-table th{text-align:left;padding:var(--spacing-2xs, 4px) var(--spacing-xs, 6px);font-weight:600;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);white-space:nowrap}.artifact-picker__col-table td{padding:var(--spacing-2xs, 4px) var(--spacing-xs, 6px);color:var(--c-text);border-bottom:1px solid var(--c-border-subtle, #f0f0f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.artifact-picker__col-field{font-family:var(--font-mono, monospace);font-size:var(--font-size-2xs);color:var(--c-text-secondary)}.artifact-picker__col-renderer{font-family:var(--font-mono, monospace);font-size:var(--font-size-2xs);color:var(--c-primary, #4a7c23)}.artifact-picker__sample-wrap{overflow-x:auto}.artifact-picker__sample-table{width:100%;border-collapse:collapse;font-size:var(--font-size-2xs)}.artifact-picker__sample-table th{text-align:left;padding:var(--spacing-2xs, 4px) var(--spacing-xs, 6px);font-weight:600;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);white-space:nowrap}.artifact-picker__sample-table td{padding:var(--spacing-2xs, 4px) var(--spacing-xs, 6px);color:var(--c-text-secondary);border-bottom:1px solid var(--c-border-subtle, #f0f0f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.block-picker-modal__layout{display:flex;gap:var(--spacing-md);min-height:480px}.block-picker-modal__left{width:240px;flex-shrink:0;display:flex;flex-direction:column}.block-picker-modal__search{margin-bottom:var(--spacing-sm)}.block-picker-modal__list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.block-picker-modal__list-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-left:3px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base);background:none;border-top:none;border-right:none;border-bottom:none;font:inherit;text-align:left;width:100%;color:inherit}.block-picker-modal__list-item:hover{background:var(--c-bg-subtle, #f8fafc)}.block-picker-modal__list-item--selected{background:var(--c-bg-subtle, #f8fafc);border-left-color:var(--accent)}.block-picker-modal__list-text{display:flex;flex-direction:column;gap:1px;min-width:0}.block-picker-modal__list-name{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-picker-modal__list-subtitle{font-size:var(--font-size-2xs);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-picker-modal__preview{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.block-picker-modal__preview-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--c-text-muted);font-size:var(--font-size-sm)}.block-picker-modal__preview-throbber{position:relative;height:350px;border:1px solid var(--c-border);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--c-surface);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition-base),border-color var(--transition-base);font:inherit;color:inherit;padding:0;text-align:left;width:100%}.block-picker-modal__preview-throbber:hover{box-shadow:0 2px 8px #0000001f;border-color:var(--accent)}.block-picker-modal__preview-fallback-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:.25}.block-picker-modal__preview-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.block-picker-modal__preview-name{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-base);font-weight:600;color:var(--c-text)}.block-picker-modal__preview-description{font-size:var(--font-size-sm);color:var(--c-text-secondary);line-height:1.5}.block-picker-modal__preview-ports{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-2xs);color:var(--c-text-muted)}.block-picker-modal__empty{text-align:center;padding:var(--spacing-xl);color:var(--c-text-muted);font-size:var(--font-size-sm)}.stage-layout-editor{display:flex;flex-direction:column;height:100%;gap:var(--spacing-sm, 8px)}.stage-layout-editor__toolbar{display:flex;align-items:center;gap:var(--spacing-md, 16px);flex-shrink:0}.stage-layout-editor__content{display:flex;flex:1;min-height:0;gap:var(--spacing-sm, 8px)}.stage-layout-editor__panels{display:grid;flex:1;min-height:0;min-width:0;gap:var(--spacing-sm, 8px)}.stage-layout-editor__panels--single{grid-template-areas:"a"}.stage-layout-editor__panels--two-column{grid-template-areas:"a b";grid-template-columns:1fr 1fr}.stage-layout-editor__panels--two-over-one{grid-template-areas:"a b" "c c";grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.stage-layout-editor__panel{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);border:2px dashed var(--c-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--c-surface, #f8f9fa);overflow-y:auto;min-height:80px;transition:border-color .15s ease}.stage-layout-editor__panel--a{grid-area:a}.stage-layout-editor__panel--b{grid-area:b}.stage-layout-editor__panel--c{grid-area:c}.stage-layout-editor__panel--over{border-color:var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 5%,var(--c-surface, #f8f9fa))}.stage-layout-editor__panel-header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted, #718096);padding-bottom:var(--spacing-xxs, 2px);border-bottom:1px solid var(--c-border, #e2e8f0);-webkit-user-select:none;user-select:none}.stage-layout-editor__block-card{background:var(--c-bg, #fff);border:1px solid var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);-webkit-user-select:none;user-select:none;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.stage-layout-editor__block-card-header{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);cursor:grab}.stage-layout-editor__block-card:hover{border-color:var(--c-primary, #4a7c23);box-shadow:0 1px 4px #00000014}.stage-layout-editor__block-card--selected{border-color:var(--c-primary, #4a7c23);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary, #4a7c23) 20%,transparent)}.stage-layout-editor__block-card--dragging{opacity:.4}.stage-layout-editor__block-card--invalid{border-color:var(--c-danger, #dc3545)}.stage-layout-editor__block-card--datagrid,.stage-layout-editor__block-card--map{min-height:120px}.stage-layout-editor__block-card--tabs .stage-layout-editor__block-card-header{padding-bottom:var(--spacing-xs, 4px)}.stage-layout-editor__block-icon{font-size:var(--font-size-lg);flex-shrink:0}.stage-layout-editor__block-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stage-layout-editor__block-type{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text, #1a202c)}.stage-layout-editor__block-id{font-size:var(--font-size-2xs);color:var(--c-text-muted, #718096);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-layout-editor__block-warning{color:var(--c-danger, #dc3545);font-size:var(--font-size-sm);cursor:help}.stage-layout-editor__block-remove{border:none;background:none;color:var(--c-text-muted, #718096);cursor:pointer;font-size:var(--font-size-sm);padding:2px 4px;border-radius:var(--radius-sm, 4px);line-height:1;flex-shrink:0}.stage-layout-editor__block-remove:hover{color:var(--c-danger, #dc3545);background:color-mix(in srgb,var(--c-danger, #dc3545) 10%,transparent)}.stage-layout-editor__add-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:1px dashed var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);background:transparent;color:var(--c-text-muted, #718096);font-size:var(--font-size-xs);cursor:pointer;transition:border-color .15s ease,color .15s ease}.stage-layout-editor__add-btn:hover{border-color:var(--c-primary, #4a7c23);color:var(--c-primary, #4a7c23)}.stage-layout-editor__drag-overlay{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:var(--c-bg, #fff);border:1px solid var(--c-primary, #4a7c23);border-radius:var(--radius-sm, 4px);box-shadow:0 4px 12px #00000026;font-size:var(--font-size-sm);font-weight:600;cursor:grabbing}.stage-layout-editor__tabs-editor{padding:0 var(--spacing-sm, 8px) var(--spacing-sm, 8px);border-top:1px solid var(--c-border, #e2e8f0)}.stage-layout-editor__tabs-bar{display:flex;gap:2px;padding:var(--spacing-xs, 4px) 0;border-bottom:1px solid var(--c-border, #e2e8f0);overflow-x:auto}.stage-layout-editor__tabs-tab{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--c-border, #e2e8f0);border-bottom:none;border-radius:var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0;background:var(--c-surface, #f8f9fa);font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted, #718096);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.stage-layout-editor__tabs-tab:hover{background:var(--c-bg, #fff);color:var(--c-text, #1a202c)}.stage-layout-editor__tabs-tab--active{background:var(--c-bg, #fff);color:var(--c-primary, #4a7c23);border-color:var(--c-primary, #4a7c23);border-bottom:1px solid var(--c-bg, #fff);margin-bottom:-1px}.stage-layout-editor__tabs-tab-label{text-transform:uppercase;letter-spacing:.03em}.stage-layout-editor__tabs-tab-close{font-size:var(--font-size-2xs);color:var(--c-text-muted, #718096);cursor:pointer;line-height:1;padding:1px 2px;border-radius:2px}.stage-layout-editor__tabs-tab-close:hover{color:var(--c-danger, #dc3545);background:color-mix(in srgb,var(--c-danger, #dc3545) 10%,transparent)}.stage-layout-editor__tabs-add{display:flex;align-items:center;justify-content:center;width:24px;border:1px dashed var(--c-border, #e2e8f0);border-bottom:none;border-radius:var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0;background:transparent;color:var(--c-text-muted, #718096);font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0}.stage-layout-editor__tabs-add:hover{border-color:var(--c-primary, #4a7c23);color:var(--c-primary, #4a7c23)}.stage-layout-editor__tabs-panel{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px) 0 0;min-height:240px;border-radius:var(--radius-sm, 4px);transition:border-color .15s ease,background .15s ease}.stage-layout-editor__tabs-panel--over{border:2px dashed var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 5%,transparent);padding:calc(var(--spacing-sm, 8px) - 2px) 0 0}.stage-layout-editor__tabs-empty{padding:var(--spacing-xs, 4px) 0;text-align:center;color:var(--c-text-muted, #718096);font-size:var(--font-size-xs);font-style:italic}.stage-layout-editor__tabs-child{display:flex;flex-direction:column;background:var(--c-surface, #f8f9fa);border:1px solid var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.stage-layout-editor__tabs-child-content{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);cursor:pointer}.stage-layout-editor__tabs-child:hover{border-color:var(--c-primary, #4a7c23)}.stage-layout-editor__tabs-child--selected{border-color:var(--c-primary, #4a7c23);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary, #4a7c23) 20%,transparent)}.stage-layout-editor__tabs-child--invalid{border-color:var(--c-danger, #dc3545)}.stage-layout-editor__tabs-child--dragging{opacity:.4}.stage-layout-editor__tabs-child-icon{font-size:var(--font-size-sm);flex-shrink:0}.stage-layout-editor__tabs-child-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stage-layout-editor__tabs-child-type{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text, #1a202c)}.stage-layout-editor__tabs-child-id{font-size:var(--font-size-2xs);color:var(--c-text-muted, #718096);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-layout-editor__block-card--sidebyside .stage-layout-editor__block-card-header{padding-bottom:var(--spacing-xs, 4px)}.stage-layout-editor__sbs-editor{padding:0 var(--spacing-sm, 8px) var(--spacing-sm, 8px);border-top:1px solid var(--c-border, #e2e8f0)}.stage-layout-editor__sbs-columns{display:flex;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) 0 0;min-height:40px}.stage-layout-editor__sbs-column{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);min-width:100px;border:1px solid var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);background:var(--c-surface, #f8f9fa);overflow:hidden}.stage-layout-editor__sbs-column-header{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-xs, 4px);border-bottom:1px solid var(--c-border, #e2e8f0);background:var(--c-bg, #fff)}.stage-layout-editor__sbs-label-input{flex:1;min-width:0;border:1px solid transparent;border-radius:var(--radius-sm, 4px);padding:2px 4px;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text, #1a202c);background:transparent}.stage-layout-editor__sbs-label-input:hover,.stage-layout-editor__sbs-label-input:focus{border-color:var(--c-border, #e2e8f0);background:var(--c-bg, #fff);outline:none}.stage-layout-editor__sbs-flex-input{width:44px;border:1px solid var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);padding:2px 4px;font-size:var(--font-size-2xs);color:var(--c-text-muted, #718096);text-align:center;background:var(--c-bg, #fff)}.stage-layout-editor__sbs-flex-input:focus{border-color:var(--c-primary, #4a7c23);outline:none}.stage-layout-editor__sbs-column-body{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px);flex:1;border-radius:var(--radius-sm, 4px);transition:border-color .15s ease,background .15s ease}.stage-layout-editor__sbs-column-body--over{border:2px dashed var(--c-primary, #4a7c23);background:color-mix(in srgb,var(--c-primary, #4a7c23) 5%,transparent)}.stage-layout-editor__sbs-add-col{display:flex;align-items:center;justify-content:center;width:100%;margin-top:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px);border:1px dashed var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);background:transparent;color:var(--c-text-muted, #718096);font-size:var(--font-size-xs);cursor:pointer;transition:border-color .15s ease,color .15s ease}.stage-layout-editor__sbs-add-col:hover{border-color:var(--c-primary, #4a7c23);color:var(--c-primary, #4a7c23)}.stage-layout-editor__drop-hint{padding:var(--spacing-sm);text-align:center;color:var(--c-text-muted);font-size:var(--font-size-xs)}.stage-layout-editor__overlay-strip{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);width:180px;flex-shrink:0;padding:var(--spacing-sm, 8px);border:2px dashed var(--c-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--c-surface, #f8f9fa) 90%,var(--c-primary, #4a7c23) 10%);overflow-y:auto}.stage-layout-editor__overlay-header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted, #718096);padding-bottom:var(--spacing-xxs, 2px);border-bottom:1px solid var(--c-border, #e2e8f0);-webkit-user-select:none;user-select:none}.stage-layout-editor__overlay-empty{padding:var(--spacing-sm, 8px) 0;text-align:center;color:var(--c-text-muted, #718096);font-size:var(--font-size-xs);font-style:italic}.stage-layout-editor__overlay-card{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:var(--c-bg, #fff);border:1px solid var(--c-border, #e2e8f0);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.stage-layout-editor__overlay-card:hover{border-color:var(--c-primary, #4a7c23)}.stage-layout-editor__overlay-card--selected{border-color:var(--c-primary, #4a7c23);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary, #4a7c23) 20%,transparent)}.stage-layout-editor__overlay-card--invalid{border-color:var(--c-danger, #dc3545)}.stage-layout-editor__overlay-card-icon{font-size:var(--font-size-sm);flex-shrink:0}.stage-layout-editor__overlay-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stage-layout-editor__overlay-card-type{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text, #1a202c)}.stage-layout-editor__overlay-card-id{font-size:var(--font-size-2xs);color:var(--c-text-muted, #718096);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-md, 16px);gap:var(--spacing-sm, 8px)}.stage-editor--error,.stage-editor--loading{display:flex;align-items:center;justify-content:center;height:100%}.stage-editor__tab-bar{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.stage-editor__body{flex:1;min-height:0;display:flex}.stage-editor__content{flex:1;min-height:0;min-width:0;position:relative}.stage-editor__wiring{height:100%;min-height:600px}.stage-editor__palette-icon{font-size:var(--font-size-xl)}.stage-editor__item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:2px;position:relative}.stage-editor__item-type{font-weight:600;font-size:var(--font-size-sm);color:var(--c-text, #333)}.stage-editor__item-id{font-size:var(--font-size-2xs);color:var(--c-text-muted, #888)}.stage-editor__item--invalid{outline:2px dashed var(--c-danger, #dc3545);outline-offset:-2px;border-radius:4px}.stage-editor__zoom-controls{padding:var(--spacing-xs) 0}.stage-editor__item--logic{border-left:3px solid var(--c-text-muted, #888);padding-left:var(--spacing-xs, 4px)}.stage-editor__item-icon{font-size:var(--font-size-2xl);line-height:1}.stage-editor__item-warning{position:absolute;top:2px;right:4px;font-size:var(--font-size-sm);line-height:1;cursor:help}.stage-editor__enter-btn{position:absolute;top:4px;left:4px;background:var(--c-primary, #4a7c23);color:#fff;border:none;border-radius:var(--radius-sm, 4px);width:24px;height:24px;font-size:var(--font-size-sm);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;z-index:1}.stage-editor__enter-btn:hover{opacity:1}.stage-editor__dep-suggestions{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.stage-editor__dep-suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 16px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:#e8f4fd;border:1px solid #b6d4fe;border-radius:var(--radius-md, 8px);font-size:var(--font-size-sm, .875rem);color:#084298}.stage-editor__dep-suggestion-text{flex:1;min-width:0}.stage-editor__dep-suggestion-actions{display:flex;gap:var(--spacing-xs, 4px);flex-shrink:0}.mobile-frame{--m-primary: var(--mobile-primary, #6366f1);--m-accent: var(--mobile-accent, var(--m-primary));--m-primary-light: color-mix(in srgb, var(--m-primary) 15%, white);--m-on-primary: #ffffff;--m-surface: var(--mobile-bg, #ffffff);--m-on-surface: var(--mobile-text, #1c1b1f);--m-on-surface-variant: var(--mobile-text-secondary, #49454f);--m-outline: #79747e;--m-outline-variant: #cac4d0;--m-surface-variant: var(--mobile-surface, #e7e0ec);--m-error: #b3261e;--m-success: #198754;--m-warning: #e8a317;--m-info: #0d6efd;--m-space-xs: 4px;--m-space-sm: 8px;--m-space-md: 16px;--m-space-lg: 24px;--m-space-xl: 32px;--m-radius-sharp: 0px;--m-radius-rounded: 12px;--m-radius-pill: 9999px;--m-radius: var(--mobile-radius, var(--m-radius-rounded));--m-font: var(--mobile-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);--m-font-size-xs: 11px;--m-font-size-sm: 12px;--m-font-size-base: 14px;--m-font-size-md: 16px;--m-font-size-lg: 20px;--m-font-size-xl: 24px;--m-font-size-2xl: 28px;--m-font-weight-medium: 500;--m-font-weight-semibold: 600;--m-font-weight-bold: 700;--m-line-height-tight: 1.2;--m-line-height-snug: 1.4;--m-line-height-normal: 1.5;--m-shadow-1: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--m-shadow-2: 0 3px 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .12);--m-shadow-3: 0 10px 20px rgba(0, 0, 0, .15), 0 3px 6px rgba(0, 0, 0, .1);--m-transition: .2s cubic-bezier(.2, 0, 0, 1);font-family:var(--m-font);font-size:var(--m-font-size-base);color:var(--m-on-surface);line-height:1.5;-webkit-font-smoothing:antialiased}.mobile-component{position:relative;width:100%;box-sizing:border-box}.mobile-component--hidden{opacity:.3}.mobile-component--selected{outline:2px solid var(--m-primary);outline-offset:1px;border-radius:4px}.mobile-component--locked{pointer-events:none;opacity:.7}.mobile-placeholder{display:flex;align-items:center;justify-content:center;background:var(--m-surface-variant);color:var(--m-on-surface-variant);font-size:var(--m-font-size-sm)}.mob-search-bar__native-input{flex:1;min-width:0;border:none;background:transparent;font-size:var(--m-font-size-base);font-family:var(--m-font);color:var(--m-on-surface);outline:none;padding:0;line-height:var(--m-line-height-snug)}.mob-search-bar__native-input::placeholder{color:var(--m-on-surface-variant)}.mob-slider__native-input{width:100%;accent-color:var(--m-primary);cursor:pointer}.mob-app-bar{display:flex;align-items:center;height:56px;padding:0 var(--m-space-md)}.mob-app-bar--filled{background-color:var(--m-primary);color:var(--m-on-primary)}.mob-app-bar--transparent{background-color:transparent;color:var(--m-on-surface)}.mob-app-bar__leading,.mob-app-bar__actions{flex-shrink:0;width:48px;display:flex;align-items:center}.mob-app-bar__actions{justify-content:flex-end}.mob-app-bar__title{flex:1;text-align:center;font-size:var(--m-font-size-lg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mob-app-bar__back,.mob-app-bar__action{background:none;border:none;color:inherit;font-size:var(--m-font-size-lg);cursor:pointer;padding:var(--m-space-xs)}.mob-bottom-nav{display:flex;align-items:center;justify-content:space-around;height:56px;background:var(--m-surface);border-top:1px solid var(--m-outline-variant)}.mob-bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;cursor:default;color:var(--m-on-surface-variant)}.mob-bottom-nav__item--active{color:var(--m-primary)}.mob-bottom-nav__icon{font-size:var(--m-font-size-lg);line-height:1}.mob-bottom-nav__label{font-size:10px;line-height:1}.mob-tab-bar{display:flex;height:48px;overflow-x:auto;border-bottom:1px solid var(--m-outline-variant);-ms-overflow-style:none;scrollbar-width:none}.mob-tab-bar::-webkit-scrollbar{display:none}.mob-tab-bar__tab{position:relative;display:flex;align-items:center;justify-content:center;padding:0 var(--m-space-md);font-size:var(--m-font-size-base);white-space:nowrap;cursor:default;color:var(--m-on-surface-variant)}.mob-tab-bar__tab--active{color:var(--m-primary);font-weight:600}.mob-tab-bar__indicator{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:var(--m-primary)}.mob-card{border-radius:var(--m-radius);overflow:hidden}.mob-card--elevated{background:var(--m-surface);box-shadow:var(--m-shadow-1)}.mob-card--outlined{background:var(--m-surface);border:1px solid var(--m-outline-variant)}.mob-card--filled{background:var(--m-surface-variant)}.mob-card__image{width:100%;height:160px;overflow:hidden}.mob-card__img{width:100%;height:100%;object-fit:cover;display:block}.mob-card__placeholder{width:100%;height:100%;font-size:32px}.mob-card__body{padding:var(--m-space-md)}.mob-card__title{font-size:var(--m-font-size-md);font-weight:700;color:var(--m-on-surface)}.mob-card__subtitle{font-size:var(--m-font-size-base);color:var(--m-on-surface-variant);margin-top:var(--m-space-xs)}.mob-list-item{display:flex;align-items:center;min-height:56px;padding:var(--m-space-sm) var(--m-space-md);gap:var(--m-space-md)}.mob-list-item--divided{border-bottom:1px solid var(--m-outline-variant)}.mob-list-item__leading{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--m-surface-variant);display:flex;align-items:center;justify-content:center;font-size:var(--m-font-size-md)}.mob-list-item__content{flex:1;min-width:0}.mob-list-item__title{font-size:var(--m-font-size-base);color:var(--m-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mob-list-item__subtitle{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);margin-top:2px}.mob-list-item__trailing{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);flex-shrink:0}.mob-image__frame{position:relative;width:100%;overflow:hidden;background:var(--m-surface-variant)}.mob-image__frame--1-1{padding-top:100%}.mob-image__frame--4-3{padding-top:75%}.mob-image__frame--16-9{padding-top:56.25%}.mob-image__frame--3-2{padding-top:66.67%}.mob-image__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.mob-image__img--cover{object-fit:cover}.mob-image__img--contain{object-fit:contain}.mob-image__img--fill{object-fit:fill}.mob-image__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;font-size:32px}.mob-text{padding:0 var(--m-space-md);color:var(--m-on-surface)}.mob-text--heading{font-size:var(--m-font-size-xl);font-weight:700;line-height:1.3}.mob-text--subheading{font-size:var(--m-font-size-lg);font-weight:600;line-height:1.4}.mob-text--body{font-size:var(--m-font-size-base);font-weight:400;line-height:1.5}.mob-text--caption{font-size:var(--m-font-size-sm);font-weight:400;color:var(--m-on-surface-variant);line-height:1.4}.mob-text--left{text-align:left}.mob-text--center{text-align:center}.mob-text--right{text-align:right}.mob-avatar{border-radius:50%;overflow:hidden;background:var(--m-surface-variant);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mob-avatar--small{width:32px;height:32px}.mob-avatar--medium{width:40px;height:40px}.mob-avatar--large{width:56px;height:56px}.mob-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.mob-avatar__initials{font-weight:700;color:var(--m-on-surface-variant);font-size:var(--m-font-size-sm);-webkit-user-select:none;user-select:none;line-height:1}.mob-text-input{padding:var(--m-space-xs) 0}.mob-text-input__field{height:56px;padding:0 var(--m-space-md);display:flex;flex-direction:column;justify-content:center;gap:2px;box-sizing:border-box}.mob-text-input__field--outlined{border:1px solid var(--m-outline);border-radius:4px;background:var(--m-surface)}.mob-text-input__field--filled{border-bottom:1px solid var(--m-outline);border-radius:4px 4px 0 0;background:var(--m-surface-variant)}.mob-text-input__label{font-size:var(--m-font-size-xs);color:var(--m-primary);font-weight:500;line-height:1}.mob-text-input__value{font-size:var(--m-font-size-base);color:var(--m-on-surface-variant);line-height:1.4}.mob-text-input__helper{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);padding:var(--m-space-xs) var(--m-space-md) 0}.mob-text-input__native-input{flex:1;min-width:0;border:none;background:transparent;font-size:var(--m-font-size-base);font-family:var(--m-font);color:var(--m-on-surface);outline:none;padding:0;line-height:var(--m-line-height-snug)}.mob-text-input__native-input::placeholder{color:var(--m-on-surface-variant)}.mob-search-bar{padding:var(--m-space-xs) 0}.mob-search-bar__inner{display:flex;align-items:center;gap:var(--m-space-sm);height:48px;padding:0 var(--m-space-md);background:var(--m-surface-variant);border-radius:var(--m-radius-pill);box-sizing:border-box}.mob-search-bar__icon{font-size:var(--m-font-size-base);flex-shrink:0}.mob-search-bar__text{flex:1;font-size:var(--m-font-size-base);color:var(--m-on-surface);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mob-search-bar__placeholder{color:var(--m-on-surface-variant)}.mob-search-bar__clear{font-size:var(--m-font-size-lg);color:var(--m-on-surface-variant);line-height:1;flex-shrink:0;cursor:default}.mob-search-bar__clear-btn{font-size:var(--m-font-size-lg);color:var(--m-on-surface-variant);line-height:1;flex-shrink:0;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.mob-toggle{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:var(--m-space-xs) 0;gap:var(--m-space-md);cursor:pointer}.mob-toggle__label{font-size:var(--m-font-size-base);color:var(--m-on-surface);flex:1}.mob-toggle__track{position:relative;width:52px;height:32px;border-radius:var(--m-radius-pill);flex-shrink:0;background:var(--m-outline-variant);transition:background var(--m-transition)}.mob-toggle__track--checked{background:var(--m-primary)}.mob-toggle__knob{position:absolute;top:2px;width:28px;height:28px;border-radius:50%;background:var(--m-on-primary);box-shadow:var(--m-shadow-1);transform:translate(2px);transition:transform var(--m-transition)}.mob-toggle__knob--checked{transform:translate(20px)}.mob-checkbox{display:flex;align-items:center;gap:var(--m-space-md);min-height:48px;padding:var(--m-space-xs) 0;cursor:pointer}.mob-checkbox__box{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;background:transparent;border:2px solid var(--m-outline);transition:background var(--m-transition),border-color var(--m-transition)}.mob-checkbox__box--checked{background:var(--m-primary);border-color:var(--m-primary)}.mob-checkbox__check{font-size:13px;color:var(--m-on-primary);line-height:1;font-weight:700}.mob-checkbox__label{font-size:var(--m-font-size-base);color:var(--m-on-surface)}.mob-radio-group{display:flex;flex-direction:column;gap:var(--m-space-xs)}.mob-radio-group__label{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);font-weight:500;margin-bottom:var(--m-space-xs)}.mob-radio-group__items{display:flex;flex-direction:column}.mob-radio-group__item{display:flex;align-items:center;gap:var(--m-space-md);min-height:44px}.mob-radio-group__circle{width:20px;height:20px;border-radius:50%;border:2px solid var(--m-outline);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box}.mob-radio-group__circle--selected{border-color:var(--m-primary)}.mob-radio-group__dot{width:10px;height:10px;border-radius:50%;background:var(--m-primary)}.mob-radio-group__option-label{font-size:var(--m-font-size-base);color:var(--m-on-surface)}.mob-slider{display:flex;flex-direction:column;gap:var(--m-space-xs);padding:var(--m-space-xs) 0}.mob-slider__header{display:flex;justify-content:space-between;align-items:center}.mob-slider__label{font-size:var(--m-font-size-base);color:var(--m-on-surface)}.mob-slider__value{font-size:var(--m-font-size-base);color:var(--m-primary);font-weight:600}.mob-slider__track-wrap{position:relative;height:20px;display:flex;align-items:center}.mob-slider__track{position:relative;width:100%;height:4px;background:var(--m-outline-variant);border-radius:var(--m-radius-pill);overflow:hidden}.mob-slider__fill{position:absolute;left:0;top:0;height:100%;border-radius:var(--m-radius-pill);background:var(--m-primary)}.mob-slider__thumb{position:absolute;top:0;width:20px;height:20px;border-radius:50%;background:var(--m-primary);box-shadow:var(--m-shadow-1)}.mob-slider__minmax{display:flex;justify-content:space-between;font-size:var(--m-font-size-xs);color:var(--m-on-surface-variant)}.mob-alert{padding:var(--m-space-md);border-radius:8px;border-left:3px solid;display:flex;align-items:center;gap:var(--m-space-sm)}.mob-alert--info{border-left-color:var(--m-info);background:color-mix(in srgb,var(--m-info) 10%,white)}.mob-alert--success{border-left-color:var(--m-success);background:color-mix(in srgb,var(--m-success) 10%,white)}.mob-alert--warning{border-left-color:var(--m-warning);background:color-mix(in srgb,var(--m-warning) 10%,white)}.mob-alert--error{border-left-color:var(--m-error);background:color-mix(in srgb,var(--m-error) 10%,white)}.mob-alert__icon{flex-shrink:0}.mob-alert__message{flex:1;font-size:var(--m-font-size-base)}.mob-alert__dismiss{cursor:pointer;color:var(--m-on-surface-variant);flex-shrink:0;background:none;border:none;padding:0;font-size:var(--m-font-size-lg);font-family:inherit;line-height:1}.mob-progress--circular{display:inline-flex;align-items:center;gap:var(--m-space-sm)}.mob-progress__track{height:4px;border-radius:2px;background:var(--m-outline-variant);overflow:hidden}.mob-progress__fill{height:100%;background:var(--m-primary);border-radius:2px}.mob-progress__label{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);display:block;margin-top:var(--m-space-xs)}.mob-progress--circular .mob-progress__label{margin-top:0}@keyframes mob-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mob-skeleton--text{display:flex;flex-direction:column;gap:var(--m-space-sm)}.mob-skeleton__line,.mob-skeleton__circle,.mob-skeleton__rect{background:linear-gradient(90deg,var(--m-surface-variant) 25%,color-mix(in srgb,var(--m-surface-variant) 60%,white) 50%,var(--m-surface-variant) 75%);background-size:200% 100%;animation:mob-skeleton-shimmer 1.4s infinite ease-in-out;border-radius:4px}.mob-skeleton__circle{width:48px;height:48px;border-radius:50%}.mob-skeleton__rect{width:100%;height:120px}.mob-badge{display:inline-flex;align-items:center;padding:var(--m-space-xs) 12px;border-radius:var(--m-radius-pill);font-size:var(--m-font-size-sm);font-weight:var(--m-font-weight-medium);line-height:1;white-space:nowrap}.mob-badge--filled.mob-badge--primary{background:var(--m-primary);color:#fff}.mob-badge--filled.mob-badge--success{background:var(--m-success);color:#fff}.mob-badge--filled.mob-badge--warning{background:var(--m-warning);color:#fff}.mob-badge--filled.mob-badge--error{background:var(--m-error);color:#fff}.mob-badge--outlined.mob-badge--primary{background:transparent;color:var(--m-primary);border:1px solid var(--m-primary)}.mob-badge--outlined.mob-badge--success{background:transparent;color:var(--m-success);border:1px solid var(--m-success)}.mob-badge--outlined.mob-badge--warning{background:transparent;color:var(--m-warning);border:1px solid var(--m-warning)}.mob-badge--outlined.mob-badge--error{background:transparent;color:var(--m-error);border:1px solid var(--m-error)}.mob-badge--subtle.mob-badge--primary{background:color-mix(in srgb,var(--m-primary) 12%,white);color:var(--m-primary)}.mob-badge--subtle.mob-badge--success{background:color-mix(in srgb,var(--m-success) 12%,white);color:var(--m-success)}.mob-badge--subtle.mob-badge--warning{background:color-mix(in srgb,var(--m-warning) 12%,white);color:var(--m-warning)}.mob-badge--subtle.mob-badge--error{background:color-mix(in srgb,var(--m-error) 12%,white);color:var(--m-error)}.mob-divider{height:1px;background:var(--m-outline-variant);border:none;margin:0}.mob-divider--inset{margin-left:var(--m-space-md)}.mob-spacer--xs{height:var(--m-space-xs)}.mob-spacer--sm{height:var(--m-space-sm)}.mob-spacer--md{height:var(--m-space-md)}.mob-spacer--lg{height:var(--m-space-lg)}.mob-spacer--xl{height:var(--m-space-xl)}.mob-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--m-space-sm) var(--m-space-md)}.mob-section-header__title{font-size:var(--m-font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--m-on-surface-variant)}.mob-section-header__action{font-size:var(--m-font-size-base);color:var(--m-primary);cursor:pointer}.mob-button{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--m-space-md);border-radius:var(--m-radius-pill);font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-semibold);font-family:var(--m-font);cursor:pointer;box-sizing:border-box;border:none;transition:opacity var(--m-transition)}.mob-button--full{width:100%}.mob-button--primary{background:var(--m-primary);color:var(--m-on-primary)}.mob-button--secondary{background:var(--m-surface-variant);color:var(--m-on-surface)}.mob-button--text{background:transparent;color:var(--m-primary)}.mob-button--outlined{background:transparent;color:var(--m-primary);border:1px solid var(--m-primary)}.mob-fab{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--m-primary);color:var(--m-on-primary);box-shadow:var(--m-shadow-3);white-space:nowrap;border:none;cursor:pointer;font-family:var(--m-font);padding:0}.mob-fab--extended{width:auto;gap:var(--m-space-sm);padding:0 20px;border-radius:var(--m-radius-pill)}.mob-fab--bottom-right{bottom:var(--m-space-md);right:var(--m-space-md)}.mob-fab--bottom-center{bottom:var(--m-space-md);left:50%;transform:translate(-50%)}.mob-fab--bottom-left{bottom:var(--m-space-md);left:var(--m-space-md)}.mob-fab__icon{font-size:24px;line-height:1}.mob-fab__label{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-semibold)}.mob-icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;padding:0;font-family:var(--m-font);color:var(--m-on-surface)}.mob-icon-button--small{width:32px;height:32px;font-size:16px}.mob-icon-button--medium{width:40px;height:40px;font-size:20px}.mob-icon-button--large{width:48px;height:48px;font-size:24px}.mob-icon-button--ghost{background:transparent;border:none}.mob-icon-button--filled{background:var(--m-surface-variant);border:none}.mob-icon-button--outlined{background:transparent;border:1px solid var(--m-outline)}.mob-chip{display:inline-flex;align-items:center;gap:var(--m-space-xs);height:32px;padding:0 12px;border-radius:var(--m-radius-pill);font-size:var(--m-font-size-sm);font-weight:var(--m-font-weight-medium);white-space:nowrap;background:var(--m-surface);color:var(--m-on-surface);border:1px solid var(--m-outline-variant);cursor:pointer;box-sizing:border-box}.mob-chip--selected{background:var(--m-primary-light);color:var(--m-primary);border:none}.mob-chip__remove{font-size:var(--m-font-size-base);line-height:1;opacity:.7}.mob-accordion__header{display:flex;align-items:center;justify-content:space-between;padding:var(--m-space-md);border-bottom:1px solid var(--m-outline-variant);cursor:pointer}.mob-accordion__title{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-medium);color:var(--m-on-surface)}.mob-accordion__chevron{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);line-height:1;transition:transform var(--m-transition)}.mob-accordion--expanded .mob-accordion__chevron{transform:rotate(0)}.mob-accordion__content{padding:var(--m-space-md);color:var(--m-on-surface)}.mob-select{padding:var(--m-space-xs) 0}.mob-select__field{padding:0 var(--m-space-md);min-height:56px;display:flex;flex-direction:column;justify-content:center;gap:2px;box-sizing:border-box}.mob-select__field--outlined{border:1px solid var(--m-outline);border-radius:var(--m-radius)}.mob-select__field--filled{background:var(--m-surface-variant);border-radius:var(--m-radius) var(--m-radius) 0 0;border-bottom:1px solid var(--m-outline)}.mob-select__label{font-size:var(--m-font-size-xs);color:var(--m-primary);font-weight:var(--m-font-weight-medium);line-height:1}.mob-select__value-row{display:flex;align-items:center;justify-content:space-between}.mob-select__value{font-size:var(--m-font-size-base);color:var(--m-on-surface);line-height:var(--m-line-height-snug)}.mob-select__chevron{font-size:var(--m-font-size-base);color:var(--m-on-surface-variant);line-height:1}.mob-empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--m-space-xl) var(--m-space-md);gap:var(--m-space-sm);text-align:center}.mob-empty-state__icon{font-size:48px;line-height:1;opacity:.5}.mob-empty-state__title{font-size:var(--m-font-size-md);font-weight:var(--m-font-weight-semibold);color:var(--m-on-surface)}.mob-empty-state__desc{font-size:var(--m-font-size-base);color:var(--m-on-surface-variant);line-height:var(--m-line-height-snug);max-width:260px}.mob-empty-state__action{margin-top:var(--m-space-sm);padding:var(--m-space-sm) var(--m-space-lg);border-radius:var(--m-radius-pill);background:var(--m-primary);color:var(--m-on-primary);font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-medium)}.mob-form-group{border:1px solid var(--m-outline-variant);border-radius:var(--m-radius);overflow:hidden}.mob-form-group__header{padding:var(--m-space-md);background:var(--m-surface-variant);display:flex;flex-direction:column;gap:2px}.mob-form-group__label{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-semibold);color:var(--m-on-surface)}.mob-form-group__desc{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant)}.mob-form-group__content{padding:var(--m-space-md);display:flex;flex-direction:column;gap:var(--m-space-xs)}.mob-bottom-sheet{border-radius:var(--m-radius) var(--m-radius) 0 0;background:var(--m-surface);box-shadow:var(--m-shadow-3)}.mob-bottom-sheet--half{min-height:200px}.mob-bottom-sheet--full{min-height:360px}.mob-bottom-sheet__handle{width:32px;height:4px;border-radius:var(--m-radius-pill);background:var(--m-outline-variant);margin:var(--m-space-sm) auto}.mob-bottom-sheet__header{padding:var(--m-space-sm) var(--m-space-md) var(--m-space-md)}.mob-bottom-sheet__title{font-size:var(--m-font-size-md);font-weight:var(--m-font-weight-semibold);color:var(--m-on-surface)}.mob-bottom-sheet__content{padding:0 var(--m-space-md) var(--m-space-md);display:flex;flex-direction:column;gap:var(--m-space-xs)}.mob-carousel{padding:var(--m-space-xs) 0}.mob-carousel__track{display:flex;gap:var(--m-space-sm);overflow-x:auto;padding:0 var(--m-space-md) var(--m-space-sm);-ms-overflow-style:none;scrollbar-width:none}.mob-carousel__track::-webkit-scrollbar{display:none}.mob-carousel__card{display:flex;flex-direction:column;align-items:center;gap:var(--m-space-xs);padding:var(--m-space-md);border-radius:var(--m-radius);background:var(--m-surface-variant);flex-shrink:0;text-align:center}.mob-carousel__icon{font-size:var(--m-font-size-2xl);line-height:1}.mob-carousel__title{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-medium);color:var(--m-on-surface)}.mob-carousel__subtitle{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant)}.mob-carousel__empty{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--m-space-lg);color:var(--m-on-surface-variant);font-size:var(--m-font-size-sm)}.mob-step-indicator{padding:var(--m-space-md);display:flex;flex-direction:column;align-items:center;gap:var(--m-space-sm)}.mob-step-indicator__track{display:flex;align-items:center;width:100%}.mob-step-indicator__step-wrap{display:flex;align-items:center;flex:1}.mob-step-indicator__step-wrap:first-child{flex:0}.mob-step-indicator__line{flex:1;height:2px;background:var(--m-outline-variant)}.mob-step-indicator__line--active{background:var(--m-primary)}.mob-step-indicator__dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--m-font-size-sm);font-weight:var(--m-font-weight-semibold);flex-shrink:0;background:var(--m-surface-variant);color:var(--m-on-surface-variant)}.mob-step-indicator__dot--active{background:var(--m-primary);color:var(--m-on-primary)}.mob-step-indicator__dot--done{background:var(--m-primary);color:var(--m-on-primary);font-size:var(--m-font-size-xs)}.mob-step-indicator__labels{display:flex;width:100%;justify-content:space-between}.mob-step-indicator__label{font-size:var(--m-font-size-xs);color:var(--m-on-surface-variant);text-align:center}.mob-step-indicator__progress{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant)}.mob-date-picker{padding:var(--m-space-xs) 0}.mob-date-picker__field{display:flex;align-items:center;min-height:56px;padding:0 var(--m-space-md);box-sizing:border-box;gap:var(--m-space-sm)}.mob-date-picker__field--outlined{border:1px solid var(--m-outline);border-radius:var(--m-radius);background:var(--m-surface)}.mob-date-picker__field--filled{border-bottom:1px solid var(--m-outline);border-radius:4px 4px 0 0;background:var(--m-surface-variant)}.mob-date-picker__icon{font-size:var(--m-font-size-lg);flex-shrink:0;line-height:1}.mob-date-picker__content{flex:1;display:flex;flex-direction:column;gap:2px}.mob-date-picker__label{font-size:var(--m-font-size-xs);color:var(--m-primary);font-weight:var(--m-font-weight-medium);line-height:1}.mob-date-picker__value{font-size:var(--m-font-size-base);color:var(--m-on-surface);line-height:var(--m-line-height-snug)}.mob-date-picker__placeholder{color:var(--m-on-surface-variant)}.mob-dialog{border-radius:var(--m-radius);background:var(--m-surface);box-shadow:var(--m-shadow-3);overflow:hidden}.mob-dialog__overlay{background:#0000004d;padding:var(--m-space-xl) var(--m-space-md);display:flex;align-items:center;justify-content:center}.mob-dialog__panel{width:100%;max-width:320px;border-radius:var(--m-radius);background:var(--m-surface);box-shadow:var(--m-shadow-3);overflow:hidden}.mob-dialog__header{padding:var(--m-space-md) var(--m-space-md) var(--m-space-sm)}.mob-dialog__title{font-size:var(--m-font-size-md);font-weight:var(--m-font-weight-semibold);color:var(--m-on-surface)}.mob-dialog__message{padding:0 var(--m-space-md);font-size:var(--m-font-size-base);color:var(--m-on-surface-variant);line-height:var(--m-line-height-snug)}.mob-dialog__content{padding:0 var(--m-space-md) var(--m-space-md);display:flex;flex-direction:column;gap:var(--m-space-xs);min-height:40px}.mob-dialog__content-placeholder{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant)}.mob-dialog__actions{display:flex;justify-content:flex-end;gap:var(--m-space-sm);padding:var(--m-space-sm) var(--m-space-md) var(--m-space-md)}.mob-dialog__btn{padding:var(--m-space-sm) var(--m-space-md);border-radius:var(--m-radius-pill);font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-medium);font-family:var(--m-font);border:none;cursor:pointer}.mob-dialog__btn--cancel{background:transparent;color:var(--m-on-surface-variant)}.mob-dialog__btn--confirm{background:var(--m-primary);color:var(--m-on-primary)}.mob-snackbar{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:var(--m-space-sm) var(--m-space-md);border-radius:var(--m-radius);gap:var(--m-space-md)}.mob-snackbar--standard{background:#323232;color:#fff}.mob-snackbar--error{background:var(--m-error);color:#fff}.mob-snackbar--success{background:var(--m-success);color:#fff}.mob-snackbar__message{font-size:var(--m-font-size-base);flex:1;line-height:var(--m-line-height-snug)}.mob-snackbar__action{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-semibold);color:var(--m-accent);flex-shrink:0;cursor:pointer}.mob-snackbar--standard .mob-snackbar__action{color:var(--m-accent)}.mob-snackbar--error .mob-snackbar__action,.mob-snackbar--success .mob-snackbar__action{color:#ffffffde}.mob-swipe-action__preview{display:flex;overflow:hidden;border-radius:var(--m-radius)}.mob-swipe-action__content{flex:1;padding:var(--m-space-md);background:var(--m-surface);display:flex;align-items:center;min-height:56px}.mob-swipe-action__text{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);font-style:italic}.mob-swipe-action__action{width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--m-space-xs);color:#fff}.mob-swipe-action--danger .mob-swipe-action__action{background:var(--m-error)}.mob-swipe-action--warning .mob-swipe-action__action{background:var(--m-warning)}.mob-swipe-action--primary .mob-swipe-action__action{background:var(--m-primary)}.mob-swipe-action__icon{font-size:var(--m-font-size-lg);line-height:1}.mob-swipe-action__label{font-size:var(--m-font-size-xs);font-weight:var(--m-font-weight-medium)}.mob-map{border-radius:var(--m-radius);overflow:hidden}.mob-map__placeholder{width:100%;height:100%;background:var(--m-surface-variant);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--m-space-xs)}.mob-map__icon{font-size:32px;line-height:1;opacity:.6}.mob-map__label{font-size:var(--m-font-size-base);font-weight:var(--m-font-weight-medium);color:var(--m-on-surface)}.mob-map__coords{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant)}.mob-rating{display:flex;align-items:center;gap:var(--m-space-sm);padding:var(--m-space-xs) 0;min-height:44px}.mob-rating__label{font-size:var(--m-font-size-base);color:var(--m-on-surface);flex:1}.mob-rating__stars{display:flex;gap:2px}.mob-rating__star{font-size:var(--m-font-size-lg);color:var(--m-outline-variant);line-height:1}.mob-rating__star--filled{color:var(--m-warning)}.mob-rating__value{font-size:var(--m-font-size-sm);color:var(--m-on-surface-variant);min-width:28px;text-align:right}.editor-toolbar{display:flex;align-items:center;height:48px;padding:0 var(--spacing-md);border-bottom:1px solid var(--c-border);background:var(--c-bg);gap:var(--spacing-md);flex-shrink:0}.editor-toolbar__left,.editor-toolbar__right{display:flex;align-items:center;gap:var(--spacing-xs)}.editor-toolbar__center{flex:1;display:flex;justify-content:center}.editor-toolbar__app-name{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:600;font-family:var(--font-sans);color:var(--c-text);text-align:center;background:transparent;min-width:200px;outline:none;transition:border-color var(--transition-fast)}.editor-toolbar__app-name:hover{border-color:var(--c-border)}.editor-toolbar__app-name:focus{border-color:var(--c-primary);background:var(--c-bg-subtle)}.editor-toolbar__platform-toggle,.editor-toolbar__zoom{display:flex;gap:2px;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:2px}.editor-toolbar__save-status{font-size:var(--font-size-sm);color:var(--c-text-muted);white-space:nowrap}.editor-toolbar__save-status--saving{color:var(--c-text-muted)}.editor-toolbar__save-status--saved{color:var(--c-success, #4a7c23)}.editor-toolbar__save-status--error{color:var(--c-danger, #dc3545)}.palette{width:240px;flex-shrink:0;border-right:1px solid var(--c-border);display:flex;flex-direction:column;overflow:hidden;background:var(--c-bg)}.palette__search{position:relative;padding:var(--spacing-sm);border-bottom:1px solid var(--c-border)}.palette__search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:32px;border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text);outline:none;box-sizing:border-box}.palette__search-input:focus{border-color:var(--c-primary)}.palette__search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:0 4px;min-width:auto}.palette__categories{flex:1;overflow-y:auto;padding:var(--spacing-xs)}.palette-category{margin-bottom:var(--spacing-xs)}.palette-category__header{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;color:var(--c-text-muted);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;font-family:var(--font-sans)}.palette-category__header:hover{color:var(--c-text)}.palette-category__chevron{font-size:8px;width:12px;text-align:center}.palette-category__label{flex:1;text-align:left}.palette-category__count{color:var(--c-text-faint);font-weight:400}.palette-category__items{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0}.palette-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);padding-left:var(--spacing-sm);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);color:var(--c-text);transition:background var(--transition-fast)}.palette-item:hover{background:var(--c-bg-subtle)}.palette-item--dragging{opacity:.5;background:var(--c-primary-alpha)}.palette-item__grip{width:14px;text-align:center;font-size:10px;color:var(--c-text-faint);flex-shrink:0;letter-spacing:-1px}.palette-item:hover .palette-item__grip{color:var(--c-text-muted)}.palette-item__icon{width:20px;text-align:center;font-size:var(--font-size-sm);flex-shrink:0}.palette-item__label{flex:1}.phone-frame{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--spacing-lg);min-width:0}.phone-frame__bezel{position:relative;width:390px;height:844px;border-radius:48px;background:#1a1a1a;padding:12px;box-shadow:0 0 0 2px #333,0 8px 40px #00000040;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.phone-frame__notch{position:absolute;top:12px;left:50%;transform:translate(-50%);width:126px;height:34px;background:#1a1a1a;border-radius:0 0 20px 20px;z-index:2;display:flex;align-items:center;justify-content:center}.phone-frame__camera{width:12px;height:12px;border-radius:50%;background:#2a2a2a;box-shadow:inset 0 0 2px #0009,0 0 1px #ffffff1a;margin-top:4px}.phone-frame__power-btn{position:absolute;right:-3px;top:160px;width:3px;height:40px;background:#333;border-radius:0 2px 2px 0}.phone-frame__vol-up{position:absolute;left:-3px;top:140px;width:3px;height:30px;background:#333;border-radius:2px 0 0 2px}.phone-frame__vol-down{position:absolute;left:-3px;top:180px;width:3px;height:30px;background:#333;border-radius:2px 0 0 2px}.phone-frame__screen{flex:1;border-radius:38px;overflow-y:auto;overflow-x:hidden;position:relative;display:flex;flex-direction:column;box-shadow:inset 0 0 8px #00000014}.phone-frame__home-indicator{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:134px;height:5px;border-radius:3px;background:#ffffff4d;z-index:2}.phone-frame__status-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 24px;font-size:12px;font-weight:600;color:#1c1b1f;flex-shrink:0;z-index:1;-webkit-user-select:none;user-select:none}.phone-frame__status-bar--ios{padding-top:38px}.phone-frame__status-bar--android{padding-top:8px}.phone-frame__status-time{font-variant-numeric:tabular-nums}.phone-frame__status-icons{display:flex;align-items:center;gap:6px;font-size:10px;opacity:.7}.phone-frame__status-signal{letter-spacing:-2px;font-size:8px}.phone-frame__status-wifi{font-size:11px}.phone-frame__status-battery{font-size:12px}.phone-frame__bezel--android{width:393px;height:851px;border-radius:36px}.phone-frame__bezel--android .phone-frame__screen{border-radius:28px}.phone-frame__punch-hole{position:absolute;top:20px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;background:#2a2a2a;z-index:2}.phone-frame__android-nav{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:32px;z-index:2}.phone-frame__android-nav-btn{font-size:14px;color:#fff6;line-height:1;-webkit-user-select:none;user-select:none}.phone-canvas{flex:1;display:flex;flex-direction:column;min-height:100%}.phone-canvas--drop-active{background:color-mix(in srgb,var(--m-primary, #6366f1) 5%,transparent)}.phone-canvas__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);opacity:.5;-webkit-user-select:none;user-select:none}.phone-canvas__empty-icon{font-size:48px}.phone-canvas__empty-text{font-size:14px;color:var(--m-on-surface-variant, #49454f)}.phone-canvas__item{position:relative;cursor:grab;transition:outline var(--transition-fast)}.phone-canvas__item:active{cursor:grabbing}.phone-canvas__item--selected{z-index:1}.phone-canvas__selection-ring{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid var(--m-primary, #6366f1);border-radius:4px;pointer-events:none}.container-drop-zone{min-height:32px;border:1px dashed var(--m-outline-variant, #cac4d0);border-radius:4px;transition:background var(--transition-fast)}.container-drop-zone--active{background:color-mix(in srgb,var(--m-primary, #6366f1) 8%,transparent);border-color:var(--m-primary, #6366f1)}.container-drop-zone__empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);font-size:11px;color:var(--m-on-surface-variant, #49454f);opacity:.6;-webkit-user-select:none;user-select:none}.item-list-editor{display:flex;flex-direction:column;gap:var(--spacing-xs)}.item-list-editor__items{display:flex;flex-direction:column;gap:4px}.item-list-editor__row{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border)}.item-list-editor__index{width:18px;text-align:center;font-size:var(--font-size-xs);color:var(--c-text-muted);flex-shrink:0;font-weight:600}.item-list-editor__fields{display:flex;flex:1;gap:4px;min-width:0}.item-list-editor__input{flex:1;min-width:0;padding:3px 6px;font-size:var(--font-size-xs)}.item-list-editor__actions{display:flex;gap:2px;flex-shrink:0}.item-list-editor__move,.item-list-editor__remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--c-text-muted);font-size:10px;cursor:pointer;line-height:1}.item-list-editor__move:hover:not(:disabled){background:var(--c-bg-hover);color:var(--c-text)}.item-list-editor__move:disabled{opacity:.3;cursor:default}.item-list-editor__remove{font-size:14px;color:var(--c-danger, #b3261e)}.item-list-editor__remove:hover{background:color-mix(in srgb,var(--c-danger, #b3261e) 10%,transparent)}.item-list-editor__add{align-self:flex-start}.property-editor{display:flex;flex-direction:column;overflow-y:auto;background:var(--c-bg)}.property-editor__empty{padding:var(--spacing-lg);color:var(--c-text-muted);font-size:var(--font-size-sm);text-align:center}.property-editor__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--c-border);font-weight:600}.property-editor__icon{font-size:var(--font-size-lg)}.property-editor__type{font-size:var(--font-size-base);color:var(--c-text)}.property-editor__fields{flex:1;padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.property-editor__divider{height:1px;background:var(--c-border);margin:var(--spacing-sm) var(--spacing-md)}.prop-field{display:flex;flex-direction:column;gap:4px}.prop-field__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.3px}.prop-field__input,.prop-field__select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text);outline:none;box-sizing:border-box}.prop-field__input:focus,.prop-field__select:focus{border-color:var(--c-primary)}.prop-field__toggle{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.prop-field__toggle-label{color:var(--c-text-secondary)}.prop-field__color-wrap{display:flex;align-items:center;gap:var(--spacing-sm)}.prop-field__color{width:32px;height:32px;border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;padding:2px;flex-shrink:0}.prop-field__color-value{font-size:var(--font-size-xs);color:var(--c-text-muted);font-family:var(--font-mono, monospace)}.action-editor{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);border-top:1px solid var(--c-border)}.action-editor__header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--c-text-muted)}.action-editor__field{display:flex;flex-direction:column;gap:2px}.action-editor__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted)}.action-editor__select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text);outline:none}.action-editor__select:focus{border-color:var(--c-primary)}.action-editor__hint{font-size:var(--font-size-xs);color:var(--c-text-faint);font-style:italic}.binding-editor{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);border-top:1px solid var(--c-border)}.binding-editor__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.binding-editor__title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--c-text-muted)}.binding-editor__entity{font-size:var(--font-size-xs);color:var(--c-primary);font-weight:600;background:color-mix(in srgb,var(--c-primary) 10%,transparent);padding:1px 6px;border-radius:var(--radius-sm)}.binding-editor__field{display:flex;flex-direction:column;gap:2px}.binding-editor__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted)}.binding-editor__select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text);outline:none}.binding-editor__select:focus{border-color:var(--c-primary)}.component-actions{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.component-actions__row{display:flex;gap:var(--spacing-xs)}.component-actions__row>*{flex:1}.theme-editor{display:flex;flex-direction:column;border-top:1px solid var(--c-border)}.theme-editor__header{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border)}.theme-editor__title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--c-text-muted)}.theme-editor__section{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);border-bottom:1px solid var(--c-border)}.theme-editor__section-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.theme-editor__presets{display:flex;flex-wrap:wrap;gap:4px}.theme-editor__preset-btn{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs)}.theme-editor__preset-swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.15)}.theme-editor__field{display:flex;flex-direction:column;gap:2px}.theme-editor__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted)}.theme-editor__color-row{display:flex;align-items:center;gap:var(--spacing-xs)}.theme-editor__color-input{width:28px;height:28px;border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;padding:1px;flex-shrink:0}.theme-editor__color-hex{flex:1;min-width:0;padding:2px 6px;font-size:var(--font-size-xs);font-family:var(--font-mono, monospace)}.theme-editor__select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text);outline:none}.theme-editor__select:focus{border-color:var(--c-primary)}.theme-editor__mode-toggle{display:flex;gap:4px}.page-navigator{padding:var(--spacing-md)}.page-navigator__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.page-navigator__title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;color:var(--c-text-muted);letter-spacing:.5px}.page-navigator__list{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm)}.page-thumb{flex-shrink:0;width:80px;cursor:pointer;border-radius:var(--radius-md);border:2px solid transparent;transition:border-color var(--transition-fast)}.page-thumb--active{border-color:var(--c-primary)}.page-thumb:hover:not(.page-thumb--active){border-color:var(--c-border)}.page-thumb__preview{height:56px;background:var(--c-bg-subtle);border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);position:relative}.page-thumb__icon{font-size:20px}.page-thumb__count{position:absolute;top:4px;right:4px;font-size:10px;background:var(--c-primary);color:#fff;border-radius:var(--radius-full);min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}.page-thumb__footer{display:flex;align-items:center;justify-content:space-between;padding:4px var(--spacing-xs)}.page-thumb__name{font-size:10px;color:var(--c-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-thumb__remove{background:none;border:none;color:var(--c-text-faint);font-size:14px;cursor:pointer;padding:0;line-height:1}.page-thumb__remove:hover{color:var(--c-error)}.page-thumb__type{padding:0 var(--spacing-xs) 4px}.page-thumb__type-select{width:100%;padding:1px 2px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:9px;font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text-secondary);cursor:pointer}.page-navigator__group{margin-bottom:var(--spacing-sm)}.page-navigator__group-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-faint);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;padding-left:2px}.datasource-editor{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.datasource-editor__header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--c-text-muted)}.datasource-editor__field{display:flex;flex-direction:column;gap:2px}.datasource-editor__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted)}.datasource-editor__select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text)}.datasource-editor__select:focus{border-color:var(--c-primary);outline:none}.transition-picker{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.transition-picker__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.3px}.transition-picker__select,.transition-picker__input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg-subtle);color:var(--c-text)}.transition-picker__duration{display:flex;flex-direction:column;gap:4px}.nav-editor{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border)}.nav-editor__header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-muted);margin-bottom:var(--spacing-xs)}.nav-editor__types{display:flex;gap:4px;margin-bottom:var(--spacing-sm)}.nav-editor__type-btn{flex:1;padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg-subtle);font-size:var(--font-size-xs);font-family:var(--font-sans);color:var(--c-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.nav-editor__type-btn:hover{border-color:var(--c-primary)}.nav-editor__type-btn--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.nav-editor__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);margin-bottom:4px}.nav-editor__root-list{display:flex;flex-direction:column;gap:2px}.nav-editor__root-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-xs);border-radius:var(--radius-sm);background:var(--c-bg-subtle);font-size:var(--font-size-sm)}.nav-editor__root-icon{font-size:var(--font-size-sm);flex-shrink:0}.nav-editor__root-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-editor__root-action{background:none;border:none;padding:2px 4px;font-size:var(--font-size-sm);cursor:pointer;color:var(--c-text-muted);line-height:1;border-radius:var(--radius-sm)}.nav-editor__root-action:hover{background:var(--c-bg);color:var(--c-text)}.nav-editor__root-action:disabled{opacity:.3;cursor:default}.nav-editor__add{margin-top:4px}.layers-panel{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0}.layers-panel__empty{padding:var(--spacing-lg);color:var(--c-text-muted);font-size:var(--font-size-sm);text-align:center}.layers-panel__tree{display:flex;flex-direction:column}.layer-node{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);border-left:2px solid transparent;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.layer-node:hover{background:var(--c-bg-subtle)}.layer-node--selected{background:var(--c-primary-subtle, rgba(74, 124, 35, .08));border-left-color:var(--c-primary)}.layer-node--hidden{opacity:.4}.layer-node--depth-0{padding-left:var(--spacing-sm)}.layer-node--depth-1{padding-left:calc(var(--spacing-sm) + 16px)}.layer-node--depth-2{padding-left:calc(var(--spacing-sm) + 32px)}.layer-node--depth-3{padding-left:calc(var(--spacing-sm) + 48px)}.layer-node--depth-4{padding-left:calc(var(--spacing-sm) + 64px)}.layer-node--depth-5{padding-left:calc(var(--spacing-sm) + 80px)}.layer-node__chevron{width:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.layer-node__expand{background:none;border:none;padding:0;font-size:8px;cursor:pointer;color:var(--c-text-muted);line-height:1}.layer-node__expand:hover{color:var(--c-text)}.layer-node__spacer{width:14px}.layer-node__icon{font-size:var(--font-size-sm);flex-shrink:0;width:16px;text-align:center}.layer-node__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.layer-node__actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.layer-node:hover .layer-node__actions,.layer-node--selected .layer-node__actions{opacity:1}.layer-node__action{background:none;border:none;padding:2px;font-size:12px;cursor:pointer;color:var(--c-text-muted);line-height:1;border-radius:var(--radius-sm)}.layer-node__action:hover{background:var(--c-bg-subtle);color:var(--c-text)}.layer-node__action--active{color:var(--c-primary)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.preview-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c-overlay)}.preview-overlay__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.preview-overlay__header{display:flex;align-items:center;gap:var(--spacing-lg)}.preview-overlay__title{color:#fff;font-size:var(--font-size-lg);font-weight:600}.preview-overlay__close{background:#ffffff26;border:none;color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;font-family:var(--font-sans)}.preview-overlay__close:hover{background:#ffffff40}.preview-overlay__page{flex:1;display:flex;flex-direction:column}.preview-overlay__nav{display:flex;justify-content:space-around;border-top:1px solid var(--m-outline-variant, #cac4d0);padding:var(--spacing-sm) 0;background:var(--m-surface, #fff)}.preview-overlay__nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;font-size:10px;color:var(--m-on-surface-variant, #49454f);cursor:pointer;padding:var(--spacing-xs);font-family:var(--font-sans)}.preview-overlay__nav-item--active{color:var(--m-primary, #6366f1)}.preview-overlay__modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;z-index:10}.preview-overlay__modal{position:absolute;bottom:0;left:0;right:0;max-height:80%;background:var(--m-surface, #fff);border-radius:16px 16px 0 0;z-index:11;display:flex;flex-direction:column;overflow-y:auto;animation:preview-modal-slide-up .3s ease-out}@keyframes preview-modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.preview-overlay__modal-handle{width:36px;height:4px;border-radius:2px;background:var(--m-outline-variant, #cac4d0);margin:8px auto;flex-shrink:0}.preview-overlay__snackbar{position:absolute;bottom:56px;left:16px;right:16px;background:#323232;color:#fff;padding:12px 16px;border-radius:8px;font-size:13px;font-family:var(--font-sans);z-index:20;animation:preview-snackbar-in .2s ease-out;text-align:center}@keyframes preview-snackbar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-transition{flex:1;display:flex;flex-direction:column;will-change:transform,opacity}.mobile-designer{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--c-bg-subtle)}.mobile-designer__body{display:flex;flex:1;min-height:0;overflow:hidden}.mobile-designer__right{display:flex;flex-direction:column;width:560px;flex-shrink:0;border-left:1px solid var(--c-border);background:var(--c-bg);overflow-y:auto}.mobile-designer__right-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.mobile-designer__right-tabs .tabs__list{flex-shrink:0}.mobile-designer__right-tabs .tabs__panel{flex:1;min-height:0;overflow-y:auto}.mobile-designer__right-tabs .tabs__tab{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.mobile-designer__phone-zoom{transform-origin:center center;transition:transform .2s ease}.mobile-designer__drag-ghost{width:350px;opacity:.8;pointer-events:none;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);overflow:hidden;background:#fff}@media (max-width: 1100px){.mobile-designer__right{width:480px}}@media (max-width: 900px){.mobile-designer__body{flex-direction:column}.mobile-designer__right{width:100%;flex-direction:row;border-left:none;border-top:1px solid var(--c-border);overflow-x:auto}}.icon-picker{position:relative;display:inline-flex}.icon-picker__trigger{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm, 4px);background:var(--c-surface, #fff);cursor:pointer;font-size:var(--font-size-sm, .875rem);color:var(--c-text, #1a1a1a);min-width:120px;height:32px}.icon-picker__trigger:hover{border-color:var(--c-border-hover, #999)}.icon-picker__trigger-preview{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.icon-picker__trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-picker__trigger-label--placeholder{color:var(--c-text-muted, #999)}.icon-picker__trigger-clear{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:none;cursor:pointer;color:var(--c-text-muted, #999);padding:0;flex-shrink:0;font-size:var(--font-size-base);line-height:1}.icon-picker__trigger-clear:hover{color:var(--c-text, #1a1a1a)}.icon-picker__popover{position:absolute;top:100%;left:0;z-index:100;margin-top:4px;width:320px;max-height:360px;display:flex;flex-direction:column;background:var(--c-surface, #fff);border:1px solid var(--c-border);border-radius:var(--radius-sm, 4px);box-shadow:0 4px 12px #00000026}.icon-picker__search{padding:var(--spacing-xs);border-bottom:1px solid var(--c-border);flex-shrink:0}.icon-picker__search input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm, .875rem);outline:none;background:var(--c-surface, #fff);color:var(--c-text, #1a1a1a)}.icon-picker__search input:focus{border-color:var(--c-primary, #4a7c23)}.icon-picker__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:var(--spacing-xs);overflow-y:auto;flex:1}.icon-picker__grid-item{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:none;border-radius:var(--radius-sm, 4px);cursor:pointer;color:var(--c-text, #1a1a1a);padding:0}.icon-picker__grid-item:hover{background:var(--c-hover, #f0f0f0)}.icon-picker__grid-item--selected{background:var(--c-primary, #4a7c23);color:#fff}.icon-picker__grid-item--selected:hover{background:var(--c-primary, #4a7c23);opacity:.9}.icon-picker__hint{padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-xs, .75rem);color:var(--c-text-muted, #999)}.col-order-editor{display:flex;gap:12px;flex:1;min-height:0;overflow:hidden}.col-order-editor__panel{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.col-order-editor__panel--available{flex:0 0 35%}.col-order-editor__panel--selected{flex:0 0 calc(65% - 12px)}.col-order-editor__title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-faint);margin-bottom:8px;flex-shrink:0}.col-order-editor__list{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto;min-height:0}.col-order-editor__empty{font-size:var(--font-size-xs);color:var(--c-text-faint);padding:8px;text-align:center}.col-order-editor__item--available{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .1s ease}.col-order-editor__item--available:hover{background:var(--c-bg-subtle)}.col-order-editor__item--available input{width:14px;height:14px;margin:0;accent-color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.col-order-editor__selected-wrapper{position:relative}.col-order-editor__item--selected{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:6px;transition:all .1s ease}.col-order-editor__item--expanded{border-color:var(--c-border)}.col-order-editor__item--dragging{opacity:.5}.col-order-editor__item-row{display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:32px;cursor:grab}.col-order-editor__item-row:active{cursor:grabbing}.col-order-editor__drag-handle{color:var(--c-text-faint);font-size:var(--font-size-xs);-webkit-user-select:none;user-select:none;flex-shrink:0}.col-order-editor__item-checkbox{width:14px;height:14px;margin:0;accent-color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.col-order-editor__item-label{display:flex;align-items:center;gap:6px;flex:1;min-width:0;cursor:pointer}.col-order-editor__item-name{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-order-editor__item-name--clickable{flex:1;display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--c-text-secondary);overflow:hidden}.col-order-editor__item-name--clickable:hover{color:var(--c-text)}.col-order-editor__chevron{display:inline-flex;align-items:center;color:var(--c-text-faint);transition:transform .15s ease;flex-shrink:0}.col-order-editor__chevron--open{transform:rotate(180deg)}.col-order-editor__arrows{display:flex;gap:2px;margin-left:auto;flex-shrink:0}.col-order-editor__arrow-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bg);color:var(--c-text-faint);cursor:pointer;transition:all .1s ease}.col-order-editor__arrow-btn:hover:not(:disabled){background:var(--c-bg-subtle);color:var(--c-text-muted);border-color:var(--c-text-faint)}.col-order-editor__arrow-btn:disabled{opacity:.3;cursor:not-allowed}.col-order-editor__drop-indicator{height:3px;background:var(--c-text-secondary);border-radius:2px;margin:2px 0;pointer-events:none;box-shadow:0 0 0 1px #00000026}@media (prefers-reduced-motion: reduce){.col-order-editor__item--selected,.col-order-editor__item--available,.col-order-editor__chevron,.col-order-editor__arrow-btn{transition:none}}.grid-editor{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-height:0}.grid-editor__view-label{display:flex;align-items:baseline;gap:var(--spacing-sm)}.grid-editor__view-name{font-family:monospace;font-size:var(--font-size-sm);color:var(--c-text-muted)}.grid-editor__field-label{font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.grid-editor__input{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text)}.grid-editor__input:focus{outline:2px solid var(--c-primary);outline-offset:-1px}.grid-editor__input--sm{width:60px;padding:2px var(--spacing-xs);font-size:var(--font-size-xs)}.grid-editor__textarea{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);resize:vertical;min-height:2.4em}.grid-editor__textarea:focus{outline:2px solid var(--c-primary);outline-offset:-1px}.grid-editor__select{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text)}.grid-editor .tabs{width:auto}.grid-editor .tabs__list{overflow:visible}.grid-editor__tab-content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.grid-editor__section-header{margin:0;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary)}.grid-editor__features-layout{display:flex;gap:var(--spacing-lg);align-items:flex-start}.grid-editor__features-panel,.grid-editor__config-panel{display:flex;flex-direction:column;gap:var(--spacing-sm)}.grid-editor__feature-list{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.grid-editor__feature-row{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-md)}.grid-editor__feature-row+.grid-editor__feature-row{border-top:1px solid var(--c-border-light)}.grid-editor__feature-text{display:flex;flex-direction:column;gap:2px}.grid-editor__feature-label{font-size:var(--font-size-sm);font-weight:500;color:var(--c-text)}.grid-editor__feature-subtitle{font-size:var(--font-size-xs);color:var(--c-text-muted)}.grid-editor__config-card{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.grid-editor__config-row{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-md)}.grid-editor__config-row+.grid-editor__config-row{border-top:1px solid var(--c-border-light)}.grid-editor__config-label{font-size:var(--font-size-sm);font-weight:500;color:var(--c-text);flex-shrink:0;min-width:80px}.grid-editor__columns{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.grid-editor__columns-toolbar{display:flex}.grid-editor__column-order-modal{height:400px;display:flex;flex-direction:column}.grid-editor__tab-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.grid-editor__tab-section+.grid-editor__tab-section{margin-top:var(--spacing-md)}.grid-editor__modal-content .spreadsheet-editor{flex:none}.grid-editor__modal-content .spreadsheet-editor__container{flex:none;overflow:visible}.grid-editor__description-section{margin-top:0}.grid-editor__description-summary{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.grid-editor__description-summary:before{content:"▶";display:inline-block;margin-right:var(--spacing-xs);font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.grid-editor__description-section[open]>.grid-editor__description-summary:before{transform:rotate(90deg)}.grid-editor__description-summary::-webkit-details-marker{display:none}.grid-editor__description-summary::marker{display:none}.grid-editor__description-body{padding-top:var(--spacing-xs)}.grid-editor__description-content{font-size:var(--font-size-sm);color:var(--c-text);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);min-height:1.6em}.grid-editor__description-content:hover{background:var(--c-bg)}.grid-editor__description-empty{color:var(--c-text-muted);font-style:italic}.grid-editor__empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--c-text-muted);font-size:var(--font-size-sm);border:1px dashed var(--c-border-light);border-radius:var(--radius-md)}.spreadsheet-schema-editor{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;min-height:0;overflow-y:auto}.spreadsheet-schema-editor__properties{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md)}.spreadsheet-schema-editor__properties-row{display:flex;gap:var(--spacing-md);align-items:flex-end}.spreadsheet-schema-editor__field{display:flex;flex-direction:column;gap:2px;flex:1}.spreadsheet-schema-editor__field--full{flex:1 1 100%}.spreadsheet-schema-editor__field--inline{flex-direction:row;align-items:center;gap:var(--spacing-xs);flex:0 0 auto}.spreadsheet-schema-editor__field-label{font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.spreadsheet-schema-editor__input{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text)}.spreadsheet-schema-editor__input:focus{outline:2px solid var(--c-primary);outline-offset:-1px}.spreadsheet-schema-editor__input--readonly{background:var(--c-bg-subtle);color:var(--c-text-muted);cursor:default}.spreadsheet-schema-editor__input--sm{width:60px;padding:2px var(--spacing-xs);font-size:var(--font-size-xs)}.spreadsheet-schema-editor__textarea{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);resize:vertical;min-height:2.4em}.spreadsheet-schema-editor__textarea:focus{outline:2px solid var(--c-primary);outline-offset:-1px}.spreadsheet-schema-editor__features{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.spreadsheet-schema-editor__features-label,.spreadsheet-schema-editor__config-label{font-size:var(--font-size-xs);color:var(--c-text-secondary);font-weight:600;flex-shrink:0}.spreadsheet-schema-editor__checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--c-text-secondary);cursor:pointer;white-space:nowrap}.spreadsheet-schema-editor__config{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.spreadsheet-schema-editor__columns{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.spreadsheet-schema-editor__columns-title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--c-text)}.spreadsheet-schema-editor__description-section{margin-top:0}.spreadsheet-schema-editor__description-summary{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.spreadsheet-schema-editor__description-summary:before{content:"▶";display:inline-block;margin-right:var(--spacing-xs);font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.spreadsheet-schema-editor__description-section[open]>.spreadsheet-schema-editor__description-summary:before{transform:rotate(90deg)}.spreadsheet-schema-editor__description-summary::-webkit-details-marker{display:none}.spreadsheet-schema-editor__description-summary::marker{display:none}.spreadsheet-schema-editor__description-body{padding-top:var(--spacing-xs)}.spreadsheet-schema-editor__description-content{font-size:var(--font-size-sm);color:var(--c-text);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);min-height:1.6em}.spreadsheet-schema-editor__description-content:hover{background:var(--c-bg)}.spreadsheet-schema-editor__description-empty{color:var(--c-text-muted);font-style:italic}.spreadsheet-schema-editor__empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--c-text-muted);font-size:var(--font-size-sm);border:1px dashed var(--c-border-light);border-radius:var(--radius-md)}.form-section{border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg)}.form-section__header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--c-border)}.form-section--collapsed .form-section__header{border-bottom:none}.form-section--collapsible .form-section__header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.form-section--collapsible .form-section__header:hover{background-color:var(--c-bg-subtle)}.form-section--collapsible .form-section__header:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px;border-radius:var(--radius-md) var(--radius-md) 0 0}.form-section--collapsed.form-section--collapsible .form-section__header:focus-visible{border-radius:var(--radius-md)}.form-section__title-wrapper{flex:1}.form-section__title{font-size:var(--font-size-lg);font-weight:600;color:var(--c-text);margin:0}.form-section__description{font-size:var(--font-size-sm);color:var(--c-text-muted);margin:var(--spacing-xs) 0 0 0}.form-section__chevron{flex-shrink:0;font-size:var(--font-size-xs);color:var(--c-text-muted);margin-left:var(--spacing-sm);transition:transform var(--transition-fast)}.form-section__content{padding:var(--spacing-md)}.form-section__content[hidden]{display:none}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.form-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.select-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.select-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.select-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.textarea-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.textarea-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.textarea-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.checkbox-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.checkbox-field__row{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.checkbox-field__row .label{cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-left:26px}.checkbox-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-left:26px}.switch-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.switch-field__error{font-size:var(--font-size-xs);color:var(--c-error)}.switch-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted)}.radio-group-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-group-field__error{font-size:var(--font-size-xs);color:var(--c-error)}.radio-group-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.date-input__container{display:inline-flex;align-items:stretch;position:relative}.date-input__container--full-width{width:100%}.date-input__container .react-datepicker-wrapper{flex:1;min-width:0}.date-input__container .react-datepicker__input-container{width:100%}.date-input{width:100%;padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);font-family:inherit;border:1px solid var(--c-border);border-radius:var(--radius-md) 0 0 var(--radius-md);background-color:var(--c-bg);color:inherit;cursor:text;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.date-input__container:not(:has(.date-input__icon-button)) .date-input{border-radius:var(--radius-md)}.date-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha);z-index:1}.date-input:disabled{opacity:.5;cursor:not-allowed}.date-input--error{border-color:var(--c-error)}.date-input--error:focus{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.date-input__icon-button{display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-sm);border:1px solid var(--c-border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;background-color:var(--c-bg-subtle);color:var(--c-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.date-input__icon-button:hover{background-color:var(--c-bg);color:var(--c-text)}.date-input__icon-button:disabled{opacity:.5;cursor:not-allowed}.date-input:focus+.date-input__icon-button{border-color:var(--c-primary)}.date-input--error+.date-input__icon-button{border-color:var(--c-error)}.date-input__icon{display:block;width:16px;height:16px}.react-datepicker{font-family:var(--font-sans);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026}.react-datepicker__header{background-color:var(--c-bg-subtle);border-bottom:1px solid var(--c-border);padding-top:var(--spacing-sm)}.react-datepicker__current-month,.react-datepicker-time__header{color:var(--c-text);font-weight:600}.react-datepicker__day-name{color:var(--c-text-secondary)}.react-datepicker__day{color:var(--c-text);border-radius:var(--radius-sm)}.react-datepicker__day:hover{background-color:var(--c-bg-subtle)}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:var(--c-primary);color:#fff}.react-datepicker__day--selected:hover,.react-datepicker__day--keyboard-selected:hover{background-color:var(--c-primary-dark)}.react-datepicker__day--today{font-weight:600}.react-datepicker__day--disabled{color:var(--c-text-muted)}.react-datepicker__navigation-icon:before{border-color:var(--c-text-secondary)}.react-datepicker__navigation:hover *:before{border-color:var(--c-text)}.react-datepicker__time-container{border-left:1px solid var(--c-border)}.react-datepicker__time-list-item{color:var(--c-text)}.react-datepicker__time-list-item:hover{background-color:var(--c-bg-subtle)!important}.react-datepicker__time-list-item--selected{background-color:var(--c-primary)!important;color:#fff!important}.react-datepicker__month-text{color:var(--c-text);padding:var(--spacing-sm)}.react-datepicker__month-text:hover{background-color:var(--c-bg-subtle)}.react-datepicker__month-text--keyboard-selected{background-color:var(--c-primary);color:#fff}.date-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.date-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.date-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.file-input-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.file-input-wrapper:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha)}.file-input-wrapper--error{border-color:var(--c-error)}.file-input-wrapper--error:focus-within{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.file-input-wrapper--full-width{width:100%}.file-input-wrapper--disabled{opacity:.5;cursor:not-allowed}.file-input__native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-input__button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-family:inherit;font-weight:500;color:var(--c-text);background-color:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.file-input__button:hover:not(:disabled){background-color:var(--c-border-light);border-color:var(--c-text-faint)}.file-input__button:disabled{cursor:not-allowed}.file-input__filename{flex:1;font-size:var(--font-size-sm);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:var(--spacing-sm)}.file-input-wrapper--full-width .file-input__filename{min-width:0}.file-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.file-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.multiselect-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.multiselect-field__container{position:relative}.multiselect-field__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);font-family:inherit;text-align:left;border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:var(--c-bg);color:var(--c-text);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.multiselect-field__trigger:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-alpha)}.multiselect-field__trigger--error{border-color:var(--c-error)}.multiselect-field__trigger--error:focus{border-color:var(--c-error);box-shadow:0 0 0 3px var(--c-error-alpha)}.multiselect-field__trigger--disabled{opacity:.5;cursor:not-allowed}.multiselect-field__trigger--open{border-color:var(--c-primary)}.multiselect-field__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-field__trigger:not(:has(.multiselect-field__value:not(:empty))) .multiselect-field__value{color:var(--c-text-faint)}.multiselect-field__arrow{flex-shrink:0;font-size:var(--font-size-2xs);color:var(--c-text-muted)}.multiselect-field__dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);margin-top:4px;padding:var(--spacing-xs) 0;list-style:none;background-color:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto}.multiselect-field__option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-fast)}.multiselect-field__option:hover:not(.multiselect-field__option--disabled){background-color:var(--c-bg-subtle)}.multiselect-field__option--selected{background-color:var(--c-primary-light)}.multiselect-field__option--selected:hover:not(.multiselect-field__option--disabled){background-color:var(--c-primary-light)}.multiselect-field__option--disabled{opacity:.5;cursor:not-allowed}.multiselect-field__checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:var(--font-size-xs);color:var(--c-primary);border:1px solid var(--c-border);border-radius:var(--radius-sm);background-color:var(--c-bg)}.multiselect-field__option--selected .multiselect-field__checkbox{background-color:var(--c-primary);border-color:var(--c-primary);color:#fff}.multiselect-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.multiselect-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.autocomplete-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.autocomplete-field__container{position:relative}.autocomplete-field__dropdown{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);margin-top:4px;padding:var(--spacing-xs) 0;list-style:none;background-color:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto}.autocomplete-field__option{padding:var(--spacing-sm) 12px;font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-fast)}.autocomplete-field__option:hover:not(.autocomplete-field__option--disabled){background-color:var(--c-bg-subtle)}.autocomplete-field__option--highlighted,.autocomplete-field__option--highlighted:hover{background-color:var(--c-primary-light)}.autocomplete-field__option--disabled{opacity:.5;cursor:not-allowed}.autocomplete-field__no-results{position:absolute;top:100%;left:0;right:0;z-index:var(--z-dropdown);margin-top:4px;padding:var(--spacing-sm) 12px;font-size:var(--font-size-sm);color:var(--c-text-muted);background-color:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a}.autocomplete-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.autocomplete-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.map-view__marker-icon{background:transparent;border:none}.map-view__marker-icon img{display:block;transition:transform var(--transition-fast)}.map-view__marker-icon--low img{transform:scale(.7)}.map-view__marker-icon--mid img{transform:scale(.85)}.map-view__marker-icon--high img{transform:scale(1)}.map-view__geojson-popup{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);line-height:1.5}.map-view__geojson-popup strong{color:var(--c-text-secondary)}.map-settings{display:flex;flex-direction:column;gap:var(--spacing-lg)}.map-settings__section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.map-settings__section-title{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted)}.map-settings__hint{margin:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-muted);font-style:italic}.map-settings__layer-list{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--radius-sm);overflow:hidden}.map-settings__layer-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg);border-bottom:1px solid var(--c-border);font-family:var(--font-sans);font-size:var(--font-size-sm)}.map-settings__layer-item:last-child{border-bottom:none}.map-settings__layer-item--inactive{background:var(--c-bg-subtle);opacity:.7}.map-settings__layer-divider{height:0;border-bottom:2px dashed var(--c-border)}.map-settings__drag-handle{display:flex;align-items:center;justify-content:center;width:18px;padding:0;border:none;background:none;color:var(--c-text-muted);cursor:grab;touch-action:none;flex-shrink:0}.map-settings__drag-handle:active{cursor:grabbing}.map-settings__drag-spacer{display:block;width:18px;flex-shrink:0}.map-settings__layer-label{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;cursor:pointer;min-width:0}.map-settings__layer-checkbox{accent-color:var(--c-primary);width:16px;height:16px;margin:0;cursor:pointer;flex-shrink:0}.map-settings__layer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-settings__layer-badge{padding:1px var(--spacing-xs);border-radius:var(--radius-sm);background:var(--c-bg-subtle);color:var(--c-text-muted);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.map-settings__basemap-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.map-settings__group-label{margin:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--c-text)}.map-settings__basemap-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.map-settings__basemap-card{position:relative;display:flex;flex-direction:column;align-items:center;width:100px;padding:0;border:2px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg-subtle);color:var(--c-text);font-family:var(--font-sans);cursor:pointer;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.map-settings__basemap-card:hover{border-color:var(--c-primary)}.map-settings__basemap-card--active{border-color:var(--c-primary);box-shadow:0 0 0 1px var(--c-primary)}.map-settings__basemap-preview{width:100%;height:50px;display:block;object-fit:cover}.map-settings__basemap-preview--fallback{background:var(--c-bg-subtle)}.map-settings__basemap-label{display:block;padding:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:500;text-align:center;word-break:break-word;line-height:1.2;width:100%;background:var(--c-bg)}.map-settings__basemap-check{position:absolute;top:4px;right:4px;color:var(--c-primary);display:flex;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.map-view__settings-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);cursor:pointer;box-shadow:0 1px 4px #00000026;transition:background var(--transition-fast),color var(--transition-fast)}.map-view__settings-btn:hover{background:var(--c-primary);color:var(--c-bg)}.map-view__settings-btn:hover .map-view__settings-layer--2{animation:map-settings-float-2 1.2s ease-in-out infinite}.map-view__settings-btn:hover .map-view__settings-layer--3{animation:map-settings-float-3 1.2s ease-in-out .1s infinite}.map-view__settings-icon{pointer-events:none}@keyframes map-settings-float-2{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes map-settings-float-3{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.map-status-overlay{position:absolute;top:var(--spacing-sm);left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);box-shadow:0 1px 4px #00000026}.map-status-overlay__text{white-space:nowrap}.map-status-overlay__loading{opacity:.7;font-style:italic}.map-status-overlay__btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:var(--c-primary);color:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.map-status-overlay__btn:hover:not(:disabled){background:var(--c-primary-dark)}.map-status-overlay__btn:disabled{opacity:.5;cursor:not-allowed}.map-draw-control{display:flex;gap:var(--spacing-xs);align-items:center}.map-draw-control__tools{display:flex;gap:2px}.map-draw-control__separator{width:1px;height:24px;background:var(--c-border, #ddd);margin:0 2px}.map-draw-control__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:600;line-height:1;cursor:pointer;box-shadow:0 1px 4px #00000026;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.map-draw-control__btn:hover:not(:disabled){background:#0000000d}.map-draw-control__btn:disabled{opacity:.4;cursor:not-allowed}.map-draw-control__btn--active{background:#0000000f;box-shadow:inset 0 0 0 1.5px var(--c-border, #ccc)}.map-draw-control__btn--active:hover:not(:disabled){background:#00000014}.map-draw-control__tool-btn{width:42px;height:42px;border-radius:0;box-shadow:none}.map-draw-control__tool-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.map-draw-control__tool-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.map-draw-control__tools{box-shadow:0 1px 4px #00000026;border-radius:var(--radius-sm)}.map-draw-control__btn svg{width:26px;height:26px}.map-draw-control__tool-btn svg{width:30px;height:30px}.map-draw-control__hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text-muted);font-family:var(--font-sans);font-size:var(--font-size-sm);box-shadow:0 1px 4px #00000026;pointer-events:none;white-space:nowrap}.map-draw-feature-panel{position:absolute;bottom:10px;right:10px;z-index:1000;min-width:220px;max-width:300px;border-radius:var(--radius-md);background:var(--c-bg);box-shadow:0 2px 8px #0003;font-family:var(--font-sans);font-size:var(--font-size-sm);overflow:hidden}.map-draw-feature-panel__toggle{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:var(--c-bg-subtle);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-align:left}.map-draw-feature-panel__toggle:hover{background:var(--c-bg-hover, #f0f0f0)}.map-draw-feature-panel__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--c-primary);color:var(--c-text-inverse);font-size:11px;font-weight:700}.map-draw-feature-panel__chevron{margin-left:auto;font-size:10px;color:var(--c-text-muted);transition:transform var(--transition-fast);transform:rotate(-90deg)}.map-draw-feature-panel__chevron--open{transform:rotate(0)}.map-draw-feature-panel__list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.map-draw-feature-panel__item{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-sm);border-top:1px solid var(--c-border, #eee)}.map-draw-feature-panel__item:hover{background:var(--c-bg-subtle)}.map-draw-feature-panel__icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:var(--c-primary);cursor:pointer;flex-shrink:0}.map-draw-feature-panel__icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-draw-feature-panel__icon-btn:hover{color:var(--c-primary-dark, #3d6a1c)}.map-draw-feature-panel__name{flex:1;min-width:0;padding:2px 4px;border:none;background:none;color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-draw-feature-panel__name:hover{background:var(--c-bg-hover, #f0f0f0);border-radius:var(--radius-sm)}.map-draw-feature-panel__name--placeholder{color:var(--c-text-muted);font-style:italic}.map-draw-feature-panel__name-input{flex:1;min-width:0;padding:2px 4px;border:1px solid var(--c-primary);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);outline:none}.map-draw-feature-panel__delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.map-draw-feature-panel__delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-draw-feature-panel__delete:hover{color:var(--c-danger, #dc3545)}.map-draw-measure-label{background:#ffffffe6!important;border:1px solid var(--c-primary)!important;border-radius:var(--radius-sm)!important;padding:2px 6px!important;font-family:var(--font-sans)!important;font-size:12px!important;font-weight:600!important;color:var(--c-text)!important;box-shadow:0 1px 3px #00000026!important;white-space:nowrap!important}.map-draw-measure-label:before{display:none!important}.map-draw-measure-label--total{background:var(--c-primary)!important;color:var(--c-text-inverse, #fff)!important;border-color:var(--c-primary)!important}.map-draw-measure-label--area{background:#4a7c2326!important;border-color:var(--c-primary)!important;font-style:italic!important}.area-editor__strip-container{position:absolute;top:10px;left:10px;z-index:1000;display:flex;flex-direction:column;gap:0}.area-editor__toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background var(--transition-fast),color var(--transition-fast)}.area-editor__toggle:hover{background:var(--c-bg-subtle)}.area-editor__toggle--active{background:var(--c-bg-subtle, #f0f0f0);color:var(--c-primary);box-shadow:0 2px 8px #00000026,inset 0 0 0 2px var(--c-primary)}.area-editor__strip{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:4px;padding:4px;border-radius:var(--radius-sm);background:var(--c-bg);box-shadow:0 2px 12px #0000002e;width:44px}.area-editor__strip-group{display:flex;flex-direction:column;gap:2px;width:100%}.area-editor__strip-group--relative{position:relative}.area-editor__strip-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.area-editor__strip-btn svg{width:22px;height:22px}.area-editor__strip-btn:hover:not(:disabled){background:#0000000f}.area-editor__strip-btn:disabled{opacity:.3;cursor:not-allowed}.area-editor__strip-btn--active{background:#4a7c231f;color:var(--c-primary)}.area-editor__strip-btn--op svg{width:32px;height:32px}.area-editor__strip-btn--action{color:var(--c-text-muted)}.area-editor__strip-btn--action:hover:not(:disabled){color:var(--c-primary);background:#4a7c2314}.area-editor__strip-btn--cancel{color:var(--c-danger, #dc3545)}.area-editor__strip-btn--cancel:hover{background:#dc354514}.area-editor__strip-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--c-primary);color:#fff;font-family:var(--font-sans);font-size:9px;font-weight:700;line-height:14px;text-align:center}.area-editor__strip-sep{width:24px;height:1px;margin:2px auto;background:var(--c-border, #e0e0e0)}.area-editor__hint-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1001;display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 16px;border-radius:var(--radius-md);background:#000c;color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;box-shadow:0 4px 16px #00000040;white-space:nowrap}.area-editor__hint-cancel{padding:2px 8px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:transparent;color:#fff;font-family:var(--font-sans);font-size:11px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.area-editor__hint-cancel:hover{background:#ffffff26}.area-editor__popover{position:absolute;top:0;left:calc(100% + 8px);z-index:1002;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);border-radius:var(--radius-md);background:var(--c-bg);box-shadow:0 4px 20px #0003;min-width:200px;font-family:var(--font-sans);font-size:var(--font-size-sm)}.area-editor__popover-input{padding:6px 8px;border:1px solid var(--c-border, #ddd);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);width:100%;box-sizing:border-box}.area-editor__popover-input:focus{outline:none;border-color:var(--c-primary)}.area-editor__popover-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);background:var(--c-primary);color:var(--c-text-inverse, #fff);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;white-space:nowrap}.area-editor__popover-btn:hover:not(:disabled){filter:brightness(1.1)}.area-editor__popover-btn:disabled{opacity:.5;cursor:not-allowed}.area-editor__popover--areas{min-width:220px}.area-editor__popover--steps{min-width:240px}.area-editor__popover-title{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-muted);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--c-border, #eee)}.area-editor__popover-empty{color:var(--c-text-muted);font-size:12px;text-align:center;padding:var(--spacing-xs) 0}.area-editor__popover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.area-editor__popover-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px 6px;border-radius:var(--radius-sm)}.area-editor__popover-item:hover{background:var(--c-bg-subtle)}.area-editor__popover-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.area-editor__popover-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--c-text-muted);cursor:pointer;flex-shrink:0}.area-editor__popover-action:hover{background:#0000000d;color:var(--c-primary)}.area-editor__popover-action--delete:hover{color:var(--c-danger, #dc3545)}.area-editor__steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.area-editor__step{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px 6px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.area-editor__step:hover,.area-editor__step--hover{background:#ff980014}.area-editor__step-op{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--c-bg-subtle);font-size:13px;font-weight:700;color:var(--c-text-muted);flex-shrink:0}.area-editor__step-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.area-editor__step-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--c-text-muted);font-size:16px;cursor:pointer;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.area-editor__step:hover .area-editor__step-delete{opacity:1}.area-editor__step-delete:hover{color:var(--c-danger, #dc3545)}.area-editor__step--pending{background:#ff980014;border:1px dashed rgba(255,152,0,.4);padding:6px}.area-editor__step-op--pending{background:#ff980026;color:#ff9800}.area-editor__step-cancel{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--c-text-muted);font-size:16px;cursor:pointer;flex-shrink:0}.area-editor__step-cancel:hover{color:var(--c-danger, #dc3545)}.spatial-filter__container{position:absolute;top:140px;right:10px;z-index:1000;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:8px}.spatial-filter__toggle{width:48px;height:48px;flex-shrink:0;border-radius:8px;background:var(--c-surface, #fff);border:1px solid var(--c-border, #ddd);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001f;color:var(--c-text-secondary, #555);transition:background .15s,color .15s;position:relative}.spatial-filter__toggle:hover{background:var(--c-surface-hover, #f5f5f5)}.spatial-filter__toggle--active{background:var(--c-primary, #4a7c23);color:#fff;border-color:var(--c-primary, #4a7c23)}.spatial-filter__toggle--active:hover{background:var(--c-primary-dark, #3d6a1c)}.spatial-filter__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--c-primary, #4a7c23);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.spatial-filter__toggle--active .spatial-filter__badge{background:#fff;color:var(--c-primary, #4a7c23)}.spatial-filter__panel{width:260px;max-height:360px;background:var(--c-surface, #fff);border:1px solid var(--c-border, #ddd);border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;overflow:hidden}.spatial-filter__panel-header{padding:10px 12px;font-size:13px;font-weight:700;color:var(--c-text, #333);border-bottom:1px solid var(--c-border-light, #eee);display:flex;align-items:center;justify-content:space-between}.spatial-filter__panel-count{font-size:11px;font-weight:400;color:var(--c-text-secondary, #888)}.spatial-filter__panel-body{flex:1;overflow-y:auto;padding:6px 0}.spatial-filter__panel-empty{padding:16px 12px;text-align:center;color:var(--c-text-secondary, #888);font-size:12px}.spatial-filter__group-label{padding:6px 12px 2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-secondary, #888)}.spatial-filter__item{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:12px;color:var(--c-text, #333);transition:background .1s}.spatial-filter__item:hover{background:var(--c-surface-hover, #f5f5f5)}.spatial-filter__item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spatial-filter__item-remove{flex-shrink:0;width:20px;height:20px;border:none;background:none;color:var(--c-text-secondary, #888);font-size:16px;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0}.spatial-filter__item-remove:hover{background:var(--c-danger-bg, #fde8e8);color:var(--c-danger, #d33)}.spatial-filter__actions{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--c-border-light, #eee)}.spatial-filter__btn{flex:1;padding:6px 8px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--c-border, #ddd);background:var(--c-surface, #fff);color:var(--c-text, #333);transition:background .15s}.spatial-filter__btn:hover{background:var(--c-surface-hover, #f5f5f5)}.spatial-filter__btn:disabled{opacity:.4;cursor:default}.spatial-filter__btn--primary{background:var(--c-primary, #4a7c23);color:#fff;border-color:var(--c-primary, #4a7c23)}.spatial-filter__btn--primary:hover{background:var(--c-primary-dark, #3d6a1c)}.spatial-filter__btn--primary:disabled{opacity:.4}.spatial-filter__hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;background:#2196f3e6;color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px #0003}.map-view{position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--c-bg-subtle)}.map-view__container{position:relative;z-index:0;width:100%;height:100%;font-family:var(--font-sans)}.map-view__zoom-control{display:flex;flex-direction:column;gap:var(--spacing-xs)}.map-view__zoom-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;align-self:center;border-radius:50%;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;box-shadow:0 1px 4px #00000026;pointer-events:none;-webkit-user-select:none;user-select:none}.map-view__zoom-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--font-size-xl);font-weight:600;line-height:1;cursor:pointer;box-shadow:0 1px 4px #00000026;transition:background var(--transition-fast),color var(--transition-fast)}.map-view__zoom-btn:hover:not(:disabled){background:var(--c-primary);color:var(--c-bg)}.map-view__zoom-btn:disabled{opacity:.5;cursor:not-allowed}.map-view__settings-control{border-radius:var(--radius-sm)}.map-view .leaflet-popup-content{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);line-height:1.5;margin:var(--spacing-sm) var(--spacing-md)}.map-view .marker-cluster-small{background-color:#6b72804d}.map-view .marker-cluster-small div{background-color:#6b728099;color:var(--c-text-inverse);font-family:var(--font-sans);font-weight:600}.map-view .marker-cluster-medium{background-color:#6b728066}.map-view .marker-cluster-medium div{background-color:#6b7280b3;color:var(--c-text-inverse);font-family:var(--font-sans);font-weight:600}.map-view .marker-cluster-large{background-color:#6b728080}.map-view .marker-cluster-large div{background-color:#6b7280cc;color:var(--c-text-inverse);font-family:var(--font-sans);font-weight:600}.map-view__attribution{position:absolute;bottom:var(--spacing-xs);left:50%;transform:translate(-50%);z-index:800;display:flex;align-items:center;max-width:24px;height:24px;padding:0 var(--spacing-xs);border-radius:var(--radius-sm);background:#ffffffbf;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-muted);cursor:default;overflow:hidden;white-space:nowrap;transition:max-width var(--transition-normal)}.map-view__attribution:hover,.map-view__attribution:focus-within{max-width:600px;background:#ffffffe6}.map-view__attribution-icon{flex-shrink:0;font-weight:700;line-height:24px}.map-view__attribution-content{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-xs);opacity:0;transition:opacity var(--transition-normal)}.map-view__attribution:hover .map-view__attribution-content,.map-view__attribution:focus-within .map-view__attribution-content{opacity:1}.map-view__attribution-content span{white-space:nowrap}.map-view__attribution-content a{color:var(--c-primary);text-decoration:none}.map-view__attribution-content a:hover{text-decoration:underline}.map-view--static .map-view__container{pointer-events:none;cursor:default}.map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--c-bg-subtle);border-radius:var(--radius-md);overflow:hidden}.map-placeholder__svg{width:100%;height:100%}.map-placeholder__pulse{animation:map-placeholder-pulse 2s ease-in-out infinite}@keyframes map-placeholder-pulse{0%,to{r:8;opacity:0}50%{r:18;opacity:.2}}.map-view--wfs-loading:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:1200;background:linear-gradient(90deg,transparent,var(--c-primary),transparent);animation:map-view-wfs-loading 1.5s ease-in-out infinite}@keyframes map-view-wfs-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.location-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.location-field__preview{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:1px solid var(--c-border);transition:border-color var(--transition-fast)}.location-field__preview:hover{border-color:var(--c-primary)}.location-field__preview:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.location-field__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);border:2px dashed var(--c-border);border-radius:var(--radius-md);color:var(--c-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.location-field__placeholder:hover{border-color:var(--c-primary);color:var(--c-primary)}.location-field__placeholder:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.location-field__coord-overlay{position:absolute;top:var(--spacing-xs);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-sm);background:#ffffffe6;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--c-text);pointer-events:none;z-index:1;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #0000001f}.location-field__map-container{height:400px;border-radius:var(--radius-md);overflow:hidden}.location-field__error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.location-field__helper{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.editable-field-slot{position:relative;border-radius:var(--radius-sm);transition:box-shadow var(--transition-fast)}.editable-field-slot__content{pointer-events:none}.editable-field-slot__content :disabled{opacity:1;cursor:default;-webkit-text-fill-color:var(--c-text);color:var(--c-text)}.editable-field-slot__glass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;border:2px solid transparent;border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background var(--transition-fast)}.editable-field-slot__glass:hover{border-color:var(--c-primary-alpha);background:#4a7c230a}.editable-field-slot--selected .editable-field-slot__glass{border-color:var(--c-primary);background:#4a7c230f}.editable-field-slot--conditional .editable-field-slot__glass{border-style:dashed}.editable-field-slot__condition-badge{position:absolute;top:-6px;left:-6px;width:18px;height:18px;border-radius:50%;background:var(--c-warning, #f59e0b);color:#fff;font-size:var(--font-size-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.editable-field-slot__remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-muted);font-size:var(--font-size-xs);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.editable-field-slot__glass:hover .editable-field-slot__remove,.editable-field-slot--selected .editable-field-slot__remove{opacity:1}.editable-field-slot__remove:hover{background:var(--c-error-light, #fef2f2);color:var(--c-error);border-color:var(--c-error)}.editable-field-slot__spacer-preview{display:flex;align-items:center;justify-content:center;min-height:40px;border:2px dashed var(--c-border);border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,0,0,.02) 8px,rgba(0,0,0,.02) 16px)}.editable-field-slot__spacer-label{font-size:var(--font-size-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}.editable-field-slot--dragging{opacity:.4}.editable-field-slot--drag-overlay{box-shadow:0 8px 24px #00000026;border:2px solid var(--c-primary);border-radius:var(--radius-sm);background:var(--c-bg)}.editable-section{position:relative;border:2px solid transparent;border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.editable-section:hover{border-color:var(--c-border-light)}.editable-section--selected{border-color:var(--c-primary)}.editable-section--dragging{opacity:.4;border-style:dashed}.editable-section__header-overlay{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.editable-section:hover .editable-section__header-overlay,.editable-section--selected .editable-section__header-overlay{opacity:1}.editable-section__header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-xs)}.editable-section__drag-handle{cursor:grab;font-size:var(--font-size-md);color:var(--c-text-muted);line-height:1;padding:2px 4px;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}.editable-section__drag-handle:hover{color:var(--c-text);background:var(--c-bg-subtle)}.editable-section__badge{font-size:var(--font-size-xs);color:var(--c-text-muted);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm);border:1px solid var(--c-border-light)}.editable-section__empty{border:2px dashed var(--c-border-light);border-radius:var(--radius-sm);text-align:center;padding:var(--spacing-lg) var(--spacing-md);color:var(--c-text-muted);font-size:var(--font-size-sm)}.editable-section__footer{padding-top:var(--spacing-xs);border-top:1px solid var(--c-border-light);margin-top:var(--spacing-sm)}.editable-section__form-section{border:none;box-shadow:none}.wysiwyg-canvas{flex:1;overflow-y:auto;padding:var(--spacing-md);background:var(--c-bg-subtle);border-radius:var(--radius-md);min-height:0}.wysiwyg-canvas__empty{border:2px dashed var(--c-border-light);border-radius:var(--radius-md);text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--c-text-muted);font-size:var(--font-size-sm)}.wysiwyg-canvas__panel{border:2px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);transition:border-color var(--transition-fast)}.wysiwyg-canvas__panel--selected{border-color:var(--c-primary)}.wysiwyg-canvas__panel--drop-target{background:var(--c-primary-alpha);border-color:var(--c-primary)}.wysiwyg-canvas__panel-header{padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid var(--c-primary-alpha);border-left:3px solid var(--c-primary);border-radius:var(--radius-sm)}.wysiwyg-canvas__panel-label{font-size:var(--font-size-sm);font-weight:700;color:var(--c-text);text-transform:uppercase;letter-spacing:.5px}.field-palette{width:120px;flex-shrink:0;overflow-y:auto;padding:var(--spacing-sm);border:1px solid var(--c-border-light);border-radius:var(--radius-md);background:var(--c-bg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.field-palette__title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--c-text);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--c-border-light)}.field-palette__group{display:flex;flex-direction:column;gap:2px}.field-palette__group-label{font-size:var(--font-size-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-xs) 0 2px 0}.field-palette__item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);color:var(--c-text);transition:background var(--transition-fast)}.field-palette__item:hover{background:var(--c-bg-subtle)}.field-palette__item:active{cursor:grabbing}.field-palette__item--dragging{opacity:.4}.field-palette__item-icon{width:20px;text-align:center;font-size:var(--font-size-xs);color:var(--c-text-muted);flex-shrink:0}.field-palette__item-label{font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-drag-overlay{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--c-bg);border:2px solid var(--c-primary);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000026;min-width:120px}.field-drag-overlay__icon{font-size:var(--font-size-xs);color:var(--c-text-muted)}.field-drag-overlay__label{font-size:var(--font-size-sm);color:var(--c-text)}.form-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;gap:var(--spacing-sm)}.form-editor__body{display:flex;gap:var(--spacing-md);flex:1;min-height:0;overflow:hidden}.form-settings-bar{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);align-items:center}.form-settings-bar__field{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--c-text-secondary)}.section-editor{border:2px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);box-shadow:var(--shadow-md)}.section-editor__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0}.section-editor__title{font-weight:600;font-size:var(--font-size-sm);color:var(--c-text);flex:1}.section-editor__field-count{font-size:var(--font-size-xs);color:var(--c-text-muted)}.section-editor__drag-handle{font-size:var(--font-size-md);color:var(--c-text-muted);line-height:1;padding:2px 4px}.section-editor--overlay{box-shadow:0 8px 24px #00000026;border-color:var(--c-primary);background:var(--c-bg)}.property-panel{width:260px;flex-shrink:0;overflow-y:auto;padding:var(--spacing-sm);border:1px solid var(--c-border-light);border-radius:var(--radius-md);background:var(--c-bg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.property-panel--empty{display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);font-size:var(--font-size-sm);text-align:center}.property-panel__title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--c-text);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--c-border-light)}.form-editor__label{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-xs);color:var(--c-text-secondary)}.form-editor__input{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text)}.form-editor__input.input--error{border-color:var(--c-error)}.form-editor__input:focus{outline:2px solid var(--c-primary);outline-offset:-1px}.form-editor__input:disabled{opacity:.5;cursor:not-allowed}.form-editor__input--sm{padding:2px var(--spacing-xs);font-size:var(--font-size-xs)}.form-editor__select{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text)}.form-editor__checkbox-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.form-editor__checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--c-text-secondary);cursor:pointer}.form-editor__btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);font-size:var(--font-size-sm);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast)}.form-editor__btn:hover:not(:disabled){background:var(--c-bg-subtle)}.form-editor__btn:disabled{opacity:.3;cursor:not-allowed}.form-editor__btn--sm{padding:2px var(--spacing-xs);font-size:var(--font-size-xs)}.form-editor__btn--icon{padding:2px 6px;font-size:var(--font-size-xs);line-height:1;min-width:20px}.form-editor__btn--danger:hover:not(:disabled){background:var(--c-error-light);color:var(--c-error);border-color:var(--c-error)}.form-editor__add-section{align-self:flex-start}.layout-picker{position:relative;display:inline-block}.layout-picker__trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.layout-picker__label{font-size:var(--font-size-sm)}.layout-picker__ascii{margin:0;font-family:monospace;font-size:var(--font-size-xs);line-height:1.15;color:var(--c-text)}.layout-picker__ascii--sm{font-size:var(--font-size-2xs)}.layout-picker__popover{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000026;padding:var(--spacing-sm)}.layout-picker__options{display:flex;gap:var(--spacing-sm)}.layout-picker__option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);border:2px solid var(--c-border-light);border-radius:var(--radius-md);background:var(--c-bg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.layout-picker__option:hover{background:var(--c-bg-subtle);border-color:var(--c-border)}.layout-picker__option--active{border-color:var(--c-primary);background:var(--c-primary-alpha)}.layout-picker__option-label{font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.add-field-dropdown{position:relative;display:inline-block}.add-field-dropdown__menu{position:absolute;top:100%;left:0;z-index:10;min-width:160px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001f;padding:var(--spacing-xs) 0;margin-top:2px}.add-field-dropdown__group{padding:var(--spacing-xs) 0}.add-field-dropdown__group+.add-field-dropdown__group{border-top:1px solid var(--c-border-light)}.add-field-dropdown__group-label{padding:2px var(--spacing-sm);font-size:var(--font-size-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px}.add-field-dropdown__item{display:block;width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:none;text-align:left;font-size:var(--font-size-sm);font-family:var(--font-sans);color:var(--c-text);cursor:pointer}.add-field-dropdown__item:hover{background:var(--c-primary-alpha);color:var(--c-primary-dark)}.options-editor{display:flex;flex-direction:column;gap:var(--spacing-xs)}.options-editor__row{display:flex;gap:var(--spacing-xs);align-items:center}.field-property-editor{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dynamic-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dynamic-form__sections{display:flex;flex-direction:column;gap:var(--spacing-md)}.dynamic-form__grid{display:grid;gap:var(--spacing-md)}.dynamic-form__field{min-width:0}.dynamic-form__spacer{min-height:var(--spacing-md)}.dynamic-form__heading{margin:0;color:var(--c-text)}.dynamic-form__paragraph{margin:0;color:var(--c-text-muted);font-size:var(--font-size-sm);line-height:1.5}.dynamic-form__divider{border:none;border-top:1px solid var(--c-border);margin:var(--spacing-xs) 0}.dynamic-form__alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:1.5}.dynamic-form__alert--info{background:var(--c-info-light, #eff6ff);color:var(--c-info, #2563eb);border-left:3px solid var(--c-info, #2563eb)}.dynamic-form__alert--warning{background:var(--c-warning-light, #fffbeb);color:var(--c-warning, #d97706);border-left:3px solid var(--c-warning, #d97706)}.dynamic-form__alert--success{background:var(--c-success-light, #f0fdf4);color:var(--c-success, #16a34a);border-left:3px solid var(--c-success, #16a34a)}.dynamic-form__alert--error{background:var(--c-error-light, #fef2f2);color:var(--c-error, #dc2626);border-left:3px solid var(--c-error, #dc2626)}.dynamic-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--c-border)}.dynamic-form--label-beside .form-field,.dynamic-form--label-beside .select-field,.dynamic-form--label-beside .textarea-field,.dynamic-form--label-beside .date-field,.dynamic-form--label-beside .file-field,.dynamic-form--label-beside .multiselect-field,.dynamic-form--label-beside .autocomplete-field,.dynamic-form--label-beside .radio-group-field,.dynamic-form--label-beside .switch-field{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-xs) var(--spacing-sm)}.dynamic-form--label-beside .form-field>.label,.dynamic-form--label-beside .select-field>.label,.dynamic-form--label-beside .textarea-field>.label,.dynamic-form--label-beside .date-field>.label,.dynamic-form--label-beside .file-field>.label,.dynamic-form--label-beside .multiselect-field>.label,.dynamic-form--label-beside .autocomplete-field>.label,.dynamic-form--label-beside .radio-group-field>.label,.dynamic-form--label-beside .switch-field>.label{margin-bottom:0;width:var(--label-width, 8rem);flex-shrink:0;min-width:0}.dynamic-form--label-beside .form-field>:nth-child(2),.dynamic-form--label-beside .select-field>:nth-child(2),.dynamic-form--label-beside .textarea-field>:nth-child(2),.dynamic-form--label-beside .date-field>:nth-child(2),.dynamic-form--label-beside .file-field>:nth-child(2),.dynamic-form--label-beside .multiselect-field>:nth-child(2),.dynamic-form--label-beside .autocomplete-field>:nth-child(2),.dynamic-form--label-beside .radio-group-field>:nth-child(2),.dynamic-form--label-beside .switch-field>:nth-child(2){flex:1;min-width:0}.dynamic-form--label-beside .form-field__error,.dynamic-form--label-beside .form-field__helper,.dynamic-form--label-beside .select-field__error,.dynamic-form--label-beside .select-field__helper,.dynamic-form--label-beside .textarea-field__error,.dynamic-form--label-beside .textarea-field__helper,.dynamic-form--label-beside .date-field__error,.dynamic-form--label-beside .date-field__helper,.dynamic-form--label-beside .file-field__error,.dynamic-form--label-beside .file-field__helper,.dynamic-form--label-beside .multiselect-field__error,.dynamic-form--label-beside .multiselect-field__helper,.dynamic-form--label-beside .autocomplete-field__error,.dynamic-form--label-beside .autocomplete-field__helper,.dynamic-form--label-beside .radio-group-field__error,.dynamic-form--label-beside .radio-group-field__helper,.dynamic-form--label-beside .switch-field__error,.dynamic-form--label-beside .switch-field__helper{flex-basis:100%}.dynamic-form__panels--two-column{display:grid;grid-template-areas:"a b";grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.dynamic-form__panels--two-over-one{display:grid;grid-template-areas:"a b" "c c";grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.dynamic-form__panel--a{grid-area:a}.dynamic-form__panel--b{grid-area:b}.dynamic-form__panel--c{grid-area:c}.dynamic-form__panel-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}@media (max-width: 640px){.dynamic-form__grid{grid-template-columns:1fr!important}.dynamic-form__field{grid-column:span 1!important}.dynamic-form__panels--two-column,.dynamic-form__panels--two-over-one{grid-template-areas:"a" "b" "c";grid-template-columns:1fr}.dynamic-form__actions{flex-direction:column-reverse}.dynamic-form__actions button{width:100%}.dynamic-form--label-beside .form-field,.dynamic-form--label-beside .select-field,.dynamic-form--label-beside .textarea-field,.dynamic-form--label-beside .date-field,.dynamic-form--label-beside .file-field,.dynamic-form--label-beside .multiselect-field,.dynamic-form--label-beside .autocomplete-field,.dynamic-form--label-beside .radio-group-field,.dynamic-form--label-beside .switch-field{flex-direction:column;align-items:stretch}.dynamic-form--label-beside .form-field>.label,.dynamic-form--label-beside .select-field>.label,.dynamic-form--label-beside .textarea-field>.label,.dynamic-form--label-beside .date-field>.label,.dynamic-form--label-beside .file-field>.label,.dynamic-form--label-beside .multiselect-field>.label,.dynamic-form--label-beside .autocomplete-field>.label,.dynamic-form--label-beside .radio-group-field>.label,.dynamic-form--label-beside .switch-field>.label{margin-bottom:6px;min-width:unset}}.form-generate__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-generate__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-generate__field label{font-weight:600;font-size:var(--font-size-sm)}.form-generate__template-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.5}.form-generate__model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.form-generate__model-row label{font-weight:600;font-size:var(--font-size-sm);white-space:nowrap}.form-generate__variables{margin-top:var(--spacing-xs)}.form-generate__variables summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer}.form-generate__var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.form-generate__var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:2px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.form-generate__result{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.form-generate__result-header{font-weight:600;font-size:var(--font-size-sm)}.form-generate__json-preview{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-mono);font-size:var(--font-size-xs);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.form-generate__error{color:var(--c-danger);font-size:var(--font-size-sm)}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border);background:var(--c-bg);flex-shrink:0}.pdf-toolbar__left,.pdf-toolbar__right{display:flex;align-items:center;gap:var(--spacing-sm)}.pdf-toolbar__mode-toggle{display:flex;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.pdf-toolbar__mode-btn{padding:var(--spacing-xs) var(--spacing-md);border:none;background:var(--c-bg);color:var(--c-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.pdf-toolbar__mode-btn:not(:last-child){border-right:1px solid var(--c-border)}.pdf-toolbar__mode-btn--active{background:var(--c-primary);color:var(--c-text-inverse)}.pdf-toolbar__mode-btn:hover:not(:disabled):not(.pdf-toolbar__mode-btn--active){background:var(--c-bg-subtle)}.pdf-toolbar__mode-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-toolbar__save-btn{padding:var(--spacing-xs) var(--spacing-lg);border:none;border-radius:var(--radius-md);background:var(--c-primary);color:var(--c-text-inverse);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.pdf-toolbar__save-btn:hover:not(:disabled){background:var(--c-primary-dark)}.pdf-toolbar__save-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-template-editor{display:flex;flex-direction:column;height:100%;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;background:var(--c-bg)}.pdf-template-editor__error{padding:var(--spacing-sm) var(--spacing-md);background:var(--c-error-light);color:var(--c-error);font-size:var(--font-size-sm);border-bottom:1px solid var(--c-error-border)}.pdf-template-editor__empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--c-text-muted);font-size:var(--font-size-md)}.pdf-template-editor__canvas{flex:1;min-height:0;overflow:hidden}.prompt-dialog__body{display:flex;flex-direction:column;gap:var(--spacing-md)}.prompt-dialog__loading{color:var(--c-text-secondary);text-align:center;padding:var(--spacing-lg) 0}.prompt-dialog__error{color:var(--c-error);background:var(--c-error-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.prompt-dialog__error-details{margin-top:var(--spacing-sm)}.prompt-dialog__error-details summary{cursor:pointer;font-size:var(--font-size-xs);color:var(--c-text-secondary);-webkit-user-select:none;user-select:none}.prompt-dialog__error-details summary:hover{color:var(--c-text)}.prompt-dialog__error-raw{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-xs);color:var(--c-text);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.prompt-dialog__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.prompt-dialog__label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text)}.prompt-dialog__required{color:var(--c-error);margin-left:2px}.prompt-dialog__footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.prompt-dialog__templates{margin-top:var(--spacing-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-md)}.prompt-dialog__templates summary{font-size:var(--font-size-sm);color:var(--c-text-muted);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);-webkit-user-select:none;user-select:none}.prompt-dialog__templates summary:hover{color:var(--c-text)}.prompt-dialog__templates-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-sm) var(--spacing-sm)}.prompt-dialog__tpl-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.prompt-dialog__tpl-field label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary)}.prompt-dialog__tpl-textarea{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5}.prompt-dialog__tpl-var-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.prompt-dialog__tpl-var-badge{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:1px var(--spacing-xs);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--c-text-muted)}.prompt-dialog__tpl-options-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.prompt-dialog__tpl-model-row{display:flex;align-items:center;gap:var(--spacing-sm)}.prompt-dialog__tpl-model-row label{font-weight:600;font-size:var(--font-size-xs);color:var(--c-text-secondary);white-space:nowrap}.prompt-dialog__trail{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--c-border-light);margin-bottom:var(--spacing-xs)}.prompt-dialog__trail-entry{display:flex;flex-direction:column;gap:2px}.prompt-dialog__trail-question{font-size:var(--font-size-xs);color:var(--c-text-secondary);margin:0;font-style:italic}.prompt-dialog__trail-answer{font-size:var(--font-size-xs);color:var(--c-text);margin:0;padding-left:var(--spacing-sm)}.prompt-dialog__question-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.prompt-dialog__question{font-size:var(--font-size-md);font-weight:600;color:var(--c-text);margin:0;line-height:1.5}.prompt-dialog__result{display:flex;flex-direction:column;gap:var(--spacing-sm)}.prompt-dialog__result-header{font-weight:700;font-size:var(--font-size-md);color:var(--c-primary-dark)}.prompt-dialog__result-field{display:flex;gap:var(--spacing-sm);align-items:baseline}.prompt-dialog__result-label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary);min-width:100px}.prompt-dialog__result-value{font-size:var(--font-size-sm);color:var(--c-text)}.prompt-dialog__result-sql{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:var(--font-size-xs);font-family:monospace;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre;line-height:1.5}.prompt-dialog__result-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.prompt-dialog__result-table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.prompt-dialog__result-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);font-size:var(--font-size-sm)}.prompt-dialog__result-table td code{font-family:monospace;font-size:var(--font-size-xs);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.prompt-dialog__result-table tr:last-child td{border-bottom:none}.color-picker{display:flex;flex-direction:column;gap:2px}.color-picker__label{font-size:var(--font-size-xs);color:var(--c-text-muted);font-weight:600}.color-picker__controls{display:flex;align-items:center;gap:var(--spacing-xs)}.color-picker__native{width:28px;height:28px;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:2px;cursor:pointer;background:none;flex-shrink:0}.color-picker__native::-webkit-color-swatch-wrapper{padding:0}.color-picker__native::-webkit-color-swatch{border:none;border-radius:2px}.color-picker__native::-moz-color-swatch{border:none;border-radius:2px}.color-picker__hex{font-family:monospace;font-size:var(--font-size-xs);color:var(--c-text-secondary);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:4px 6px;width:80px;background:var(--c-bg)}.color-picker__hex:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-alpha)}.maplayer-detail__style-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.maplayer-detail__refresh-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.maplayer-detail__class-entries{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:var(--spacing-sm) 0}.maplayer-detail__class-row{display:flex;align-items:center;gap:var(--spacing-sm)}.maplayer-detail__class-row .input{flex:1;min-width:0}.maplayer-detail__scan-row{display:flex;align-items:center;gap:var(--spacing-sm)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:var(--c-bg-subtle);border-radius:8px;min-height:200px}.error-boundary__icon{color:var(--c-text-faint);margin-bottom:16px}.error-boundary__title{margin:0 0 8px;font-size:var(--font-size-xl);font-weight:600;color:var(--c-text-secondary)}.error-boundary__message{margin:0 0 24px;font-size:var(--font-size-base);color:var(--c-text-muted);max-width:400px}.error-boundary__retry{padding:10px 20px;border:none;border-radius:6px;background:var(--c-primary);color:#fff;font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .1s ease}.error-boundary__retry:hover{background:var(--c-primary-dark)}.flowchart-canvas{display:flex;width:100%;height:100%;min-height:500px;position:relative}.flowchart-canvas__flow{flex:1;display:flex;flex-direction:column;position:relative}.flowchart-palette{width:140px;min-width:140px;border-right:1px solid var(--c-border, #e0e0e0);background:var(--c-surface, #fafafa);padding:var(--spacing-sm, 8px);display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);overflow-y:auto}.flowchart-palette__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted, #888);padding:var(--spacing-xs, 4px) 0}.flowchart-palette__items{display:flex;flex-direction:column;gap:2px}.flowchart-palette__item{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:6px 8px;border-radius:4px;cursor:grab;font-size:.8rem;color:var(--c-text, #333);transition:background .15s ease;-webkit-user-select:none;user-select:none}.flowchart-palette__item:hover{background:var(--c-hover, #eee)}.flowchart-palette__item:active{cursor:grabbing;background:var(--c-active, #ddd)}.flowchart-palette__icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.flowchart-palette__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flowchart-toolbar{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-bottom:1px solid var(--c-border, #e0e0e0);background:var(--c-surface, #fafafa);flex-shrink:0}.flowchart-toolbar__group{display:flex;align-items:center;gap:2px}.flowchart-toolbar__divider{width:1px;height:20px;background:var(--c-border, #e0e0e0);margin:0 4px}.flowchart-toolbar__spacer{flex:1}.flowchart-toolbar__select{font-size:.8rem;padding:2px 4px;min-width:100px}.flowchart-toolbar__file-input{display:none}.flowchart-node{position:relative;width:160px;height:100px;display:flex;align-items:center;justify-content:center;font-family:var(--font-family, "Nunito", sans-serif);font-size:.85rem;color:var(--c-text, #333);cursor:pointer;transition:box-shadow .15s ease,filter .15s ease}.flowchart-node--selected{box-shadow:0 0 0 2.5px #10b981;filter:brightness(1.03)}.react-flow__node.selected>.flowchart-node{box-shadow:0 0 0 2.5px #10b981}.flowchart-node__content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 16px;text-align:center;gap:2px;width:100%;position:relative;z-index:1}.flowchart-node__content--centered{align-items:center}.flowchart-node__label{font-weight:600;line-height:1.3;white-space:pre-wrap;word-break:break-word}.flowchart-node__description{font-size:.75rem;color:var(--c-text-muted, #888);line-height:1.2}.flowchart-node__label-input{font-family:inherit;font-size:inherit;font-weight:600;text-align:center;border:1px solid var(--c-primary, #4a7c23);border-radius:3px;padding:1px 4px;outline:none;background:#fff;min-width:60px;width:100%;resize:none;overflow:hidden;line-height:1.3;field-sizing:content}.flowchart-node--process{background:var(--c-surface, #fff);border:2.5px solid #64748b;border-radius:8px}.flowchart-node--decision{background:transparent}.flowchart-node__diamond-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__diamond-shape{fill:var(--c-surface, #fff);stroke:#64748b;stroke-width:2.5}.flowchart-node--decision .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 24px}.flowchart-node--start{height:64px;background:#f1f5f9;border:2.5px solid #64748b;border-radius:999px;padding:8px 0}.flowchart-node--end{height:64px;background:#e2e8f0;border:2.5px solid #64748b;border-radius:999px;padding:8px 0}.flowchart-node--io{background:transparent}.flowchart-node__io-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__io-shape{fill:var(--c-surface, #fff);stroke:#64748b;stroke-width:2.5}.flowchart-node--io .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 24px}.flowchart-node--predefined{background:var(--c-surface, #fff);border:2.5px solid #64748b;border-radius:4px;position:relative}.flowchart-node--predefined:before,.flowchart-node--predefined:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:#64748b}.flowchart-node--predefined:before{left:8px}.flowchart-node--predefined:after{right:8px}.flowchart-node--predefined .flowchart-node__content{padding:8px 24px}.flowchart-node--api{background:transparent}.flowchart-node__api-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__api-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node--api .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 32px}.flowchart-node--email{background:transparent}.flowchart-node__email-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__email-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node__email-flap{fill:none;stroke:#d97706;stroke-width:2}.flowchart-node--email .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:36px 24px 8px}.flowchart-node--push{background:transparent}.flowchart-node__push-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__push-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node__push-screen{fill:var(--c-surface, #fff);stroke:none;opacity:.5}.flowchart-node__push-indicator{stroke:#d97706;stroke-width:2;stroke-linecap:round;opacity:.4}.flowchart-node__push-badge{fill:#ef4444;stroke:var(--c-surface, #fff);stroke-width:2}.flowchart-node--push .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 16px}.flowchart-node--database{background:transparent}.flowchart-node__database-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__database-shape,.flowchart-node__database-cap{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node--database .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:24px 16px 8px}.flowchart-node--webpage{background:transparent}.flowchart-node__webpage-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__webpage-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node__webpage-bar{stroke:#d97706;stroke-width:1.5}.flowchart-node__webpage-dot{fill:#d97706;opacity:.4}.flowchart-node--webpage .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:28px 16px 8px}.flowchart-node--cron{background:transparent}.flowchart-node__cron-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__cron-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node__cron-clock{fill:none;stroke:#d97706;stroke-width:1.5}.flowchart-node__cron-hand{stroke:#d97706;stroke-width:1.5;stroke-linecap:round}.flowchart-node__cron-tick{stroke:#d97706;stroke-width:1;opacity:.5}.flowchart-node--cron .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 16px}.flowchart-node--report{background:transparent}.flowchart-node__report-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flowchart-node__report-shape{fill:var(--c-surface, #fff);stroke:#d97706;stroke-width:2.5}.flowchart-node__report-fold{fill:none;stroke:#d97706;stroke-width:2}.flowchart-node--report .flowchart-node__content{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px 16px}.flowchart-group-node{width:100%;height:100%;border-radius:8px;border:1px solid rgb(0 0 0 / .2);background-color:var(--group-color)}.flowchart-node--annotation{background:color-mix(in srgb,#94a3b8 10%,transparent);border:1px dashed #94a3b8;border-radius:4px;width:100%;height:100%;min-width:160px;min-height:32px;padding:8px 12px}.flowchart-node--annotation.flowchart-node--selected{border-color:#10b981}.flowchart-node__annotation-text{font-size:.8rem;color:var(--c-text-muted, #666);line-height:1.4;white-space:pre-wrap;word-break:break-word}.flowchart-node__annotation-input{font-family:inherit;font-size:.8rem;border:1px solid var(--c-primary, #4a7c23);border-radius:3px;padding:2px 4px;outline:none;background:#fff;resize:none;min-width:100px;min-height:28px;width:100%;height:100%}.flowchart-node__resize-line{border-color:var(--c-primary, #4a7c23)!important}.flowchart-node__resize-handle{width:8px!important;height:8px!important;background:var(--c-primary, #4a7c23)!important;border-radius:2px!important}.flowchart-edge__label-container{cursor:pointer}.flowchart-edge__label{background:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:var(--c-text, #333);border:1px solid var(--c-border, #ddd);white-space:nowrap;pointer-events:all}.flowchart-edge__label-hitbox{display:block;width:24px;height:24px;pointer-events:all;cursor:pointer}.flowchart-edge__label-input{font-family:inherit;font-size:.75rem;font-weight:600;text-align:center;border:1px solid var(--c-primary, #4a7c23);border-radius:4px;padding:2px 6px;outline:none;background:#fff;min-width:40px}.flowchart-page{width:100%;height:100%;min-height:600px}.flowchart-page__schema-preview{font-size:.7rem;line-height:1.3;max-height:400px;overflow:auto;background:var(--c-surface, #f5f5f5);padding:var(--spacing-sm, 8px);border-radius:4px;white-space:pre-wrap;word-break:break-all}.theme-editor{display:grid;grid-template-columns:340px 1fr;gap:0;height:100%;overflow:hidden}.theme-editor__editor{display:flex;flex-direction:column;border-right:1px solid var(--c-border);overflow-y:auto}.theme-editor__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border-light);position:sticky;top:0;background:var(--c-bg);z-index:1}.theme-editor__title{font-size:var(--font-size-lg);font-weight:700;color:var(--c-text);margin:0}.theme-editor__status{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.theme-editor__status--saving{color:var(--c-warning-dark);background:var(--c-warning-light)}.theme-editor__status--saved{color:var(--c-success-dark);background:var(--c-success-light)}.theme-editor__status--error{color:var(--c-error-dark);background:var(--c-error-light)}.theme-editor__sections{padding:var(--spacing-sm);flex:1}.theme-editor__token-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);padding:var(--spacing-xs) 0}.theme-editor__reset-btn{margin-top:var(--spacing-xs);font-size:var(--font-size-xs)!important;width:100%}.theme-editor__numeric-row{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.theme-editor__numeric-label{font-size:var(--font-size-xs);color:var(--c-text-muted);font-weight:600;min-width:30px}.theme-editor__numeric-input{display:flex;align-items:center;gap:4px}.theme-editor__input{width:64px;font-size:var(--font-size-xs);font-family:monospace;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:4px 6px;background:var(--c-bg);color:var(--c-text)}.theme-editor__input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-alpha)}.theme-editor__unit{font-size:var(--font-size-xs);color:var(--c-text-faint)}.theme-editor__preview{overflow-y:auto;padding:var(--spacing-md);background:var(--c-bg)}.tp{font-family:var(--font-sans, "Nunito", system-ui, sans-serif);color:var(--c-text);max-width:520px}.tp__heading{font-size:var(--font-size-xl);font-weight:800;margin-bottom:var(--spacing-md);color:var(--c-text)}.tp__section{margin-bottom:var(--spacing-lg)}.tp__subheading{font-size:var(--font-size-sm);font-weight:700;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.tp__text{font-size:var(--font-size-base);line-height:1.5;color:var(--c-text);margin-bottom:4px}.tp__text--secondary{color:var(--c-text-secondary)}.tp__text--muted{color:var(--c-text-muted)}.tp__row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.tp__btn{font-family:inherit;font-size:var(--font-size-sm);font-weight:600;padding:6px 16px;border-radius:var(--radius-md);cursor:default;transition:none}.tp__btn--primary{background:var(--c-primary);color:#fff;border:1px solid var(--c-primary)}.tp__btn--outline{background:transparent;color:var(--c-primary);border:1px solid var(--c-primary)}.tp__btn--ghost{background:transparent;color:var(--c-text-secondary);border:1px solid transparent}.tp__form{display:flex;flex-direction:column;gap:6px}.tp__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary)}.tp__input{font-family:inherit;font-size:var(--font-size-sm);padding:8px 10px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);color:var(--c-text)}.tp__card{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-bg);padding:var(--spacing-md)}.tp__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.tp__card-title{font-weight:700;font-size:var(--font-size-base);color:var(--c-text)}.tp__badge{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full);background:var(--c-primary-alpha, rgba(74, 124, 35, .15));color:var(--c-primary)}.tp__card-body{font-size:var(--font-size-sm);color:var(--c-text-secondary)}.tp__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tp__table th{text-align:left;font-weight:700;color:var(--c-text-secondary);padding:6px 10px;border-bottom:2px solid var(--c-border);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.3px}.tp__table td{padding:8px 10px;border-bottom:1px solid var(--c-border-light);color:var(--c-text)}.tp__table tbody tr:nth-child(2n){background:var(--c-bg-subtle)}.tp__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.tp__dot--success{background:var(--c-success)}.tp__dot--warning{background:var(--c-warning)}.tp__dot--error{background:var(--c-error)}.tp__alert{padding:8px 12px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;margin-bottom:6px}.tp__alert--success{background:var(--c-success-light);color:var(--c-success-dark);border:1px solid var(--c-success-border)}.tp__alert--warning{background:var(--c-warning-light);color:var(--c-warning-dark);border:1px solid var(--c-warning-border)}.tp__alert--error{background:var(--c-error-light);color:var(--c-error-dark);border:1px solid var(--c-error-border)}.tp__radius-box{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);background:var(--c-bg-elevated);border:1px solid var(--c-border)}.tp__radius-box--sm{border-radius:var(--radius-sm)}.tp__radius-box--md{border-radius:var(--radius-md)}.tp__radius-box--lg{border-radius:var(--radius-lg)}.tp__radius-box--xl{border-radius:var(--radius-xl)}.tp__radius-box--full{border-radius:var(--radius-full)}.backend-theme-editor{display:grid;grid-template-columns:340px 1fr;gap:0;height:100%;overflow:hidden}.backend-theme-editor__editor{display:flex;flex-direction:column;border-right:1px solid var(--c-border);overflow-y:auto}.backend-theme-editor__desc{font-size:var(--font-size-xs);color:var(--c-text-muted);padding:0 var(--spacing-md) var(--spacing-sm);line-height:1.5}.backend-theme-editor__preview{overflow-y:auto;padding:var(--spacing-md);background:var(--c-bg)}.btp{font-family:var(--font-sans, "Nunito", system-ui, sans-serif);color:var(--c-text);max-width:420px}.btp__heading{font-size:var(--font-size-xl);font-weight:800;margin-bottom:var(--spacing-md);color:var(--c-text)}.btp__section{margin-bottom:var(--spacing-lg)}.btp__subheading{font-size:var(--font-size-xs);font-weight:700;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.btp__row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.btp__btn{font-family:inherit;font-size:var(--font-size-sm);font-weight:600;padding:6px 16px;border-radius:var(--radius-md);cursor:default;transition:none}.btp__btn--primary{background:var(--c-primary);color:#fff;border:1px solid var(--c-primary)}.btp__btn--outline{background:transparent;color:var(--c-primary);border:1px solid var(--c-primary)}.btp__btn--ghost{background:transparent;color:var(--c-text-secondary);border:1px solid transparent}.btp__card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--c-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);background:var(--c-bg)}.btp__card--selected{border-color:var(--c-primary);background:var(--c-primary-light)}.btp__card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text)}.btp__badge{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-full);background:var(--c-primary-alpha, rgba(99, 102, 241, .15));color:var(--c-primary)}.btp__tabs{display:flex;gap:0;border-bottom:2px solid var(--c-border)}.btp__tab{font-size:var(--font-size-sm);font-weight:600;padding:6px 14px;color:var(--c-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;cursor:default}.btp__tab--active{color:var(--c-primary);border-bottom-color:var(--c-primary)}.user-editor{padding:var(--spacing-md) var(--spacing-lg)}.user-editor__field--inline{flex-direction:row;align-items:center;gap:var(--spacing-md)}.user-editor__success{color:var(--c-success, #22c55e);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.import-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);padding:var(--spacing-sm) 0}.import-panel__tile{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-md);border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s}.import-panel__tile:hover{border-color:var(--c-primary, #4a7c23);box-shadow:0 2px 8px #00000014}.import-panel__tile-icon{font-size:2rem;line-height:1}.import-panel__tile-title{font-weight:600;font-size:.95rem;color:var(--c-text)}.import-panel__tile-desc{font-size:.8rem;color:var(--c-text-muted);text-align:center}.import-panel__upload{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-panel__instruction{color:var(--c-text-secondary);margin:0}.import-panel__error{color:var(--c-danger, #dc2626);font-size:.85rem;margin:0}.import-panel__preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-panel__summary{display:flex;gap:var(--spacing-md);font-size:.85rem;color:var(--c-text-secondary)}.import-panel__warning{color:var(--c-warning, #f59e0b)}.import-panel__entity-select{display:flex;align-items:center;gap:var(--spacing-sm)}.import-panel__entity-label{font-size:.85rem;font-weight:600;color:var(--c-text-secondary);white-space:nowrap}.import-panel__table-wrap{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--c-border);border-radius:6px}.import-panel__table{font-size:.8rem;white-space:nowrap}.import-panel__table thead tr:first-child th{position:sticky;top:0;background:var(--c-bg-subtle);z-index:2}.import-panel__mapping-row th{position:sticky;top:29px;background:var(--c-bg-subtle);z-index:2}.import-panel__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.import-panel__th--sortable:hover{color:var(--c-primary, #4a7c23)}.import-panel__th--empty{color:var(--c-danger, #dc2626)}.import-panel__sort-indicator{font-size:.7em;margin-left:2px}.import-panel__mapping-row{background:var(--c-bg-subtle)}.import-panel__mapping-cell{padding:4px;font-weight:400}.import-panel__mapping-cell select{font-size:.75rem;max-width:160px}.import-panel__actions{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.import-panel__importing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl) 0;color:var(--c-text-secondary)}.import-panel__spinner{width:28px;height:28px}.import-panel__result{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--c-primary, #4a7c23);border-radius:8px;background:color-mix(in srgb,var(--c-primary, #4a7c23) 6%,transparent)}.import-panel__result-title{margin:0;font-size:1rem;font-weight:600;color:var(--c-primary, #4a7c23)}.import-panel__result-table{border-collapse:collapse;font-size:.85rem;width:auto}.import-panel__result-table td{padding:4px 16px 4px 0}.import-panel__result-table td:first-child{font-weight:600;color:var(--c-text-secondary)}.import-panel__result-table td:last-child{font-variant-numeric:tabular-nums}.news-lens-page{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.news-lens-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.news-lens-page__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--c-text)}.news-lens-page__error{background:var(--c-error-light);border:1px solid var(--c-error-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--c-error-dark);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.news-lens-page__loading{color:var(--c-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-lg);text-align:center}.news-lens-page__toolbar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.news-lens-page__sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.news-lens-page__source-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:box-shadow var(--transition-fast)}.news-lens-page__source-card:hover{box-shadow:0 2px 8px #00000014}.news-lens-page__source-card-header{display:flex;align-items:center;gap:var(--spacing-sm)}.news-lens-page__source-status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.news-lens-page__source-status-dot--active{background:var(--c-success)}.news-lens-page__source-status-dot--inactive{background:var(--c-text-muted)}.news-lens-page__source-name{font-size:var(--font-size-lg);font-weight:600;color:var(--c-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-lens-page__source-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.news-lens-page__source-type-badge--rss{background:var(--c-primary-alpha);color:var(--c-primary-dark)}.news-lens-page__source-type-badge--html{background:var(--c-warning-alpha);color:var(--c-warning-dark)}.news-lens-page__source-url{font-size:var(--font-size-xs);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-lens-page__source-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--c-text-muted)}.news-lens-page__source-meta-item{display:flex;align-items:center;gap:var(--spacing-xs)}.news-lens-page__source-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);border-top:1px solid var(--c-border-light);padding-top:var(--spacing-sm)}.news-lens-page__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.news-lens-page__form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.news-lens-page__form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.news-lens-page__form-row{display:flex;gap:var(--spacing-md);align-items:flex-end}.news-lens-page__form-row>.news-lens-page__form-field{flex:1}.news-lens-page__validate-result{background:var(--c-bg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--c-text-secondary)}.news-lens-page__validate-result--success{border-color:var(--c-success-border);background:var(--c-success-light);color:var(--c-success-dark)}.news-lens-page__validate-result--error{border-color:var(--c-error-border);background:var(--c-error-light);color:var(--c-error-dark)}.news-lens-page__filters{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap}.news-lens-page__filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.news-lens-page__filter-label{font-size:var(--font-size-sm);color:var(--c-text-secondary);white-space:nowrap}.news-lens-page__items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.news-lens-page__item-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.news-lens-page__item-title{font-size:var(--font-size-base);font-weight:600;color:var(--c-text);line-height:1.4}.news-lens-page__item-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--c-text-muted)}.news-lens-page__relevance-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.news-lens-page__relevance-badge--high{background:var(--c-success-light);color:var(--c-success-dark)}.news-lens-page__relevance-badge--medium{background:var(--c-warning-light);color:var(--c-warning-dark)}.news-lens-page__relevance-badge--low{background:var(--c-error-light);color:var(--c-error-dark)}.news-lens-page__load-more{display:flex;justify-content:center;margin-top:var(--spacing-md)}.news-lens-page__items-empty{text-align:center;color:var(--c-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xl)}.news-lens-page__stats-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.news-lens-page__stat-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.news-lens-page__stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--c-text);line-height:1.2}.news-lens-page__stat-label{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.news-lens-page__scheduler-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.news-lens-page__scheduler-badge--running{background:var(--c-success-light);color:var(--c-success-dark)}.news-lens-page__scheduler-badge--stopped{background:var(--c-error-light);color:var(--c-error-dark)}.news-lens-page__section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--c-text);margin-bottom:var(--spacing-md)}.news-lens-page__stats-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.news-lens-page__stats-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.news-lens-page__stats-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border-light);color:var(--c-text)}.news-lens-page__stats-table tr:hover td{background:var(--c-bg-subtle)}.news-lens-page__stats-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.artifact-compare{display:flex;flex-direction:column;height:100%;overflow:hidden}.artifact-compare__toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-shrink:0}.artifact-compare__toolbar-spacer{flex:1}.artifact-compare__toolbar-error{color:var(--c-danger, #f44336);font-size:var(--font-sm)}.artifact-compare__dump-result{color:var(--c-success, #4a7c23);font-size:var(--font-sm);white-space:nowrap}.artifact-compare__status-filters{display:flex;gap:2px}.artifact-compare__filter-toggle{min-width:32px;font-weight:600}.artifact-compare__filter-toggle--active{background:var(--c-primary);color:var(--c-on-primary, #fff);border-color:var(--c-primary)}.artifact-compare__filter-toggle--active:hover{background:color-mix(in srgb,var(--c-primary) 85%,#000)}.artifact-compare__body{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative}.artifact-compare__lists{display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.artifact-compare__list-header{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);font-weight:600;color:var(--c-text-muted);border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-shrink:0}.artifact-compare__list-header-dev{padding-left:3px}.artifact-compare__list-header-arrow{text-align:center}.artifact-compare__list-header-test{text-align:right}.artifact-compare__list{overflow-y:auto;flex:1}.artifact-compare__row{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;border-bottom:1px solid var(--c-border-light, var(--c-border));border-left:3px solid transparent;font-size:var(--font-sm);transition:background .1s}.artifact-compare__row:hover{background:var(--c-hover)}.artifact-compare__row--selected{background:var(--c-selected, color-mix(in srgb, var(--c-primary) 12%, transparent))}.artifact-compare__row--status-equal{border-left-color:var(--c-success, #4caf50)}.artifact-compare__row--status-dev-only{border-left-color:var(--c-info, #2196f3)}.artifact-compare__row--status-test-only{border-left-color:var(--c-warning, #ff9800)}.artifact-compare__row--status-different{border-left-color:color-mix(in srgb,var(--c-warning, #ff9800) 70%,var(--c-danger, #f44336))}.artifact-compare__row--sync-push{background:color-mix(in srgb,var(--c-info, #2196f3) 6%,transparent)}.artifact-compare__row--sync-pull{background:color-mix(in srgb,var(--c-warning, #ff9800) 6%,transparent)}.artifact-compare__row--sync-delete{background:color-mix(in srgb,var(--c-danger, #f44336) 6%,transparent)}.artifact-compare__row--sync-push.artifact-compare__row--selected,.artifact-compare__row--sync-pull.artifact-compare__row--selected,.artifact-compare__row--sync-delete.artifact-compare__row--selected{background:var(--c-selected, color-mix(in srgb, var(--c-primary) 12%, transparent))}.artifact-compare__row-dev{display:flex;align-items:center;gap:var(--spacing-xs);overflow:hidden}.artifact-compare__row-dev--missing{opacity:.4;font-style:italic}.artifact-compare__row-test{display:flex;align-items:center;gap:var(--spacing-xs);justify-content:flex-end;overflow:hidden}.artifact-compare__row-test--missing{opacity:.4;font-style:italic}.artifact-compare__row-arrow{display:flex;align-items:center;justify-content:center}.artifact-compare__arrow-btn{display:flex;align-items:center;justify-content:center;width:26px;height:22px;border:1px solid var(--c-border);border-radius:var(--radius-sm, 3px);background:var(--c-surface);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--c-text-muted);transition:all .15s;line-height:1}.artifact-compare__arrow-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.artifact-compare__arrow-btn--push{background:var(--c-info, #2196f3);border-color:var(--c-info, #2196f3);color:#fff}.artifact-compare__arrow-btn--push:hover{background:color-mix(in srgb,var(--c-info, #2196f3) 85%,#000);border-color:color-mix(in srgb,var(--c-info, #2196f3) 85%,#000);color:#fff}.artifact-compare__arrow-btn--pull{background:var(--c-warning, #ff9800);border-color:var(--c-warning, #ff9800);color:#fff}.artifact-compare__arrow-btn--pull:hover{background:color-mix(in srgb,var(--c-warning, #ff9800) 85%,#000);border-color:color-mix(in srgb,var(--c-warning, #ff9800) 85%,#000);color:#fff}.artifact-compare__arrow-btn--delete{background:var(--c-danger, #f44336);border-color:var(--c-danger, #f44336);color:#fff}.artifact-compare__arrow-btn--delete:hover{background:color-mix(in srgb,var(--c-danger, #f44336) 85%,#000);border-color:color-mix(in srgb,var(--c-danger, #f44336) 85%,#000);color:#fff}.artifact-compare__arrow-neutral{color:var(--c-text-muted);font-size:.85rem;opacity:.4}.artifact-compare__item-type{font-size:.7rem;padding:1px 5px;border-radius:var(--radius-sm, 3px);background:var(--c-badge-bg, color-mix(in srgb, var(--c-primary) 15%, transparent));color:var(--c-badge-text, var(--c-primary));white-space:nowrap;flex-shrink:0}.artifact-compare__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.artifact-compare__row-dev .artifact-compare__item-name{flex:1}.artifact-compare__row-test .artifact-compare__item-name{flex:1;text-align:right}.artifact-compare__item-version{font-size:.7rem;opacity:.6;flex-shrink:0}.artifact-compare__item-version--dominant{opacity:1;font-weight:700;color:var(--c-primary)}.artifact-compare__row-missing-label{color:var(--c-text-muted);opacity:.5}.artifact-compare__diff{overflow:hidden;display:flex;flex-direction:column;border-top:1px solid var(--c-border)}.artifact-compare__diff-message{display:flex;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted);font-size:var(--font-sm)}.split-pane__divider{flex-shrink:0;position:relative;z-index:2}.split-pane__divider--vertical{width:2px;cursor:col-resize;background:var(--c-border)}.split-pane__divider--vertical:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.split-pane__divider--horizontal{height:2px;cursor:row-resize;background:var(--c-border)}.split-pane__divider--horizontal:before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}.split-pane__divider:hover,.split-pane__divider:active{background:var(--c-primary)}.artifact-compare__loading,.artifact-compare__error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted);font-size:var(--font-sm);padding:var(--spacing-lg)}.artifact-compare__error{color:var(--c-danger, #f44336)}.artifact-compare__token-section{display:flex;align-items:center;gap:var(--spacing-xs)}.artifact-compare__token-status{width:8px;height:8px;border-radius:var(--radius-full, 50%);background:var(--c-text-muted);flex-shrink:0}.artifact-compare__token-status--connected{background:var(--c-success, #4caf50)}.artifact-compare__login-fields{display:flex;align-items:center;gap:var(--spacing-xs)}.artifact-compare__login-input{width:160px}.artifact-compare__login-error{color:var(--c-danger, #f44336);font-size:var(--font-sm)}.artifact-compare__sync-section-title{font-weight:600;font-size:var(--font-sm);margin:var(--spacing-sm) 0 var(--spacing-xs)}.artifact-compare__sync-section-title:first-child{margin-top:0}.artifact-compare__sync-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.artifact-compare__sync-list li{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--c-border);font-size:var(--font-sm)}.artifact-compare__sync-list li:last-child{border-bottom:none}.artifact-compare__sync-section-title--delete{color:var(--c-danger, #f44336)}.artifact-compare__sync-list--delete{border-left:2px solid var(--c-danger, #f44336);padding-left:var(--spacing-sm)}.artifact-compare__sync-version{font-size:.7rem;opacity:.6}.file-breadcrumb{display:flex;align-items:center;gap:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--c-text-secondary);min-height:32px;overflow-x:auto;white-space:nowrap}.file-breadcrumb__segment{font:inherit}.file-breadcrumb__segment--link{background:none;border:none;padding:2px 4px;border-radius:var(--radius-sm);color:var(--c-primary);cursor:pointer}.file-breadcrumb__segment--link:hover{background:var(--c-surface-hover);text-decoration:underline}.file-breadcrumb__segment--current{color:var(--c-text-primary);font-weight:600}.file-breadcrumb__separator{margin:0 2px;color:var(--c-border)}.file-toolbar{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border)}.monaco-wrapper{flex:1;min-height:300px;overflow:hidden;border:1px solid var(--c-border);border-radius:var(--radius-sm)}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-preview{display:flex;flex-direction:column;flex:1;overflow:hidden}.pdf-preview__toolbar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-shrink:0}.pdf-preview__page-info{font-size:var(--font-size-sm);color:var(--c-text-secondary);min-width:60px;text-align:center;-webkit-user-select:none;user-select:none}.pdf-preview__content{flex:1;overflow:auto;background:var(--c-bg);display:flex;justify-content:center;padding:var(--spacing-md)}.pdf-preview__content canvas{box-shadow:0 1px 4px #0000001f;border-radius:var(--radius-sm)}.pdf-preview__loading,.pdf-preview__error{display:flex;align-items:center;justify-content:center;flex:1;color:var(--c-text-secondary);font-style:italic;min-height:200px}.pdf-preview__error{color:var(--c-danger, #dc3545)}.file-preview{flex:1;overflow:auto;padding:var(--spacing-md)}.file-preview--loading,.file-preview--empty,.file-preview--unsupported{display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary);font-style:italic;min-height:200px}.file-preview--image{display:flex;align-items:flex-start;justify-content:center}.file-preview__image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm)}.file-preview__pre{margin:0;padding:var(--spacing-sm);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-mono, "Fira Code", "Consolas", monospace);font-size:var(--font-size-sm);line-height:1.5;overflow-x:auto;white-space:pre;-moz-tab-size:2;tab-size:2}.file-preview--code{display:flex;flex-direction:column;padding:0}.file-preview--markdown{max-width:80ch}.file-preview--pdf{display:flex;flex:1;padding:0;overflow:hidden}.file-preview--directory{padding:var(--spacing-md)}.file-preview__dir-header{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md);color:var(--c-text)}.file-preview__dir-empty{color:var(--c-text-secondary);font-style:italic;padding:var(--spacing-lg) 0}.file-preview__dir-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.file-preview__dir-th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;white-space:nowrap}.file-preview__dir-th--size{text-align:right}.file-preview__dir-row{cursor:pointer;transition:background-color .1s ease}.file-preview__dir-row:hover{background-color:var(--c-surface-hover, var(--c-surface))}.file-preview__dir-row:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}.file-preview__dir-td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border);color:var(--c-text-secondary);white-space:nowrap}.file-preview__dir-td--name{color:var(--c-text);font-weight:500}.file-preview__dir-td--size{text-align:right}.file-preview__dir-icon{margin-right:var(--spacing-xs)}.file-editor{flex:1;display:flex;flex-direction:column;padding:var(--spacing-sm);overflow:hidden}.file-editor__textarea{flex:1;width:100%;resize:none;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-family:var(--font-mono, "Fira Code", "Consolas", monospace);font-size:var(--font-size-sm);line-height:1.5;background:var(--c-surface);color:var(--c-text-primary);-moz-tab-size:2;tab-size:2;outline:none}.file-editor__textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(74, 124, 35, .2))}.file-md-editor{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm);overflow:hidden;min-height:0}.file-md-editor__pane{min-height:0;overflow:hidden;display:flex;flex-direction:column}.file-md-editor__pane--edit{display:flex}.file-md-editor__textarea{flex:1;width:100%;resize:none;border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-family:var(--font-mono, "Fira Code", "Consolas", monospace);font-size:var(--font-size-sm);line-height:1.5;background:var(--c-surface);color:var(--c-text-primary);-moz-tab-size:2;tab-size:2;outline:none}.file-md-editor__textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light, rgba(74, 124, 35, .2))}.file-md-editor__pane--preview{overflow-y:auto;padding:var(--spacing-sm);background:var(--c-bg-subtle, var(--c-surface));border:1px solid var(--c-border-light, var(--c-border));border-radius:var(--radius-sm)}.file-md-editor__placeholder{color:var(--c-text-muted, var(--c-text-secondary));font-style:italic}.file-handler{display:flex;height:100%;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;background:var(--c-bg)}.file-handler__tree-pane{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--c-border);flex-shrink:0}.file-handler__tree-header{padding:var(--spacing-sm) var(--spacing-md);font-weight:700;font-size:var(--font-size-sm);color:var(--c-text-primary);border-bottom:1px solid var(--c-border);background:var(--c-surface);text-transform:uppercase;letter-spacing:.05em}.file-handler__tree{flex:1;overflow:auto}.file-handler__resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;flex-shrink:0}.file-handler__resize-handle:hover,.file-handler__resize-handle--active{background:var(--c-primary)}.file-handler__preview-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.file-handler__node{display:flex;align-items:center;gap:var(--spacing-xs)}.file-handler__node-icon{display:flex;flex-shrink:0}.file-icon{color:var(--c-text-secondary);flex-shrink:0}.file-handler__node-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-handler__loading,.file-handler__empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);color:var(--c-text-secondary);font-style:italic;flex:1}.file-handler__error{padding:var(--spacing-sm) var(--spacing-md);color:var(--c-danger, #dc3545);background:var(--c-danger-bg, #fff5f5);font-size:var(--font-size-sm)}.page-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-shell__header{display:flex;align-items:center;gap:var(--spacing-md);height:36px;padding:0 var(--spacing-md);border-bottom:1px solid var(--c-border-light);background:var(--c-bg-subtle);flex-shrink:0}.page-shell__title{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-shell__header-actions{display:flex;align-items:center;min-width:0}.page-shell__body{display:flex;flex:1;overflow:hidden}.page-shell__content{flex:1;overflow:auto;min-width:0}.page-shell__inspector{flex-shrink:0;border-left:1px solid var(--c-border);background:var(--c-bg);display:flex;flex-direction:column;transition:width var(--transition-base) ease;overflow:hidden}.page-shell__inspector--expanded{width:280px}.page-shell__inspector--collapsed{width:36px}.page-shell__inspector-toggle{display:flex;align-items:center;justify-content:center;width:100%;height:36px;border:none;border-bottom:1px solid var(--c-border-light);background:var(--c-bg-subtle);color:var(--c-text-muted);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.page-shell__inspector-toggle:hover{background:var(--c-border-light);color:var(--c-text)}.page-shell__inspector-panels{display:flex;flex-direction:column;flex:1;overflow:hidden}.page-shell__inspector-body{overflow-y:auto;overflow-x:hidden;flex-shrink:1;min-height:0}.page-shell__output{flex-shrink:0;border-top:1px solid var(--c-border-light);display:flex;flex-direction:column;min-height:0}.page-shell__output--open{flex:1;min-height:80px}.page-shell__output-header{flex-shrink:0}.page-shell__output-content{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.page-shell__output-toolbar{display:flex;justify-content:flex-end;padding:var(--spacing-xs) var(--spacing-sm);flex-shrink:0}.page-shell__output-log{flex:1;margin:0 var(--spacing-sm) var(--spacing-sm);padding:var(--spacing-sm);font-family:monospace;font-size:var(--font-size-xs);color:var(--c-text-secondary);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);resize:none;min-height:0}.page-shell__output-log:focus{outline:none;border-color:var(--c-primary)}.page-shell__output-log::placeholder{color:var(--c-text-faint)}.page-shell__empty{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--c-text-faint);font-style:italic}.page-shell__method-icon{margin-right:var(--spacing-xs);display:inline-flex;align-items:center}.page-shell__inspector .dynamic-form__grid{grid-template-columns:1fr!important}.page-shell__inspector .dynamic-form__field{grid-column:span 1!important}.page-shell__demo-content{max-width:480px}.page-shell__demo-content--wide{max-width:800px}.page-shell__demo-section{margin-top:var(--spacing-lg)}.page-shell__demo-section-body{margin-top:var(--spacing-sm)}.file-handler-page{height:calc(100vh - 80px);padding:var(--spacing-md)}.form-dialog__error{margin:var(--spacing-sm) 0 0;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--c-error);background:var(--c-error-bg, rgba(220, 38, 38, .08));border-radius:var(--radius-sm)}.create-mobile-design__name{margin-bottom:var(--spacing-md)}.create-mobile-design__section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:var(--spacing-md) 0 var(--spacing-xs)}.create-mobile-design__section-title:first-child{margin-top:0}.create-mobile-design__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);padding:var(--spacing-sm) 0}.create-mobile-design__card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg) var(--spacing-md);border:2px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-sans);text-align:center}.create-mobile-design__card:hover{border-color:var(--c-primary);background:var(--c-bg-subtle);box-shadow:0 2px 8px #00000014}.create-mobile-design__card--selected{border-color:var(--c-primary);background:var(--c-bg-subtle);box-shadow:0 0 0 2px var(--c-primary)}.create-mobile-design__card--import{border-style:dashed}.create-mobile-design__icon{font-size:32px;line-height:1}.create-mobile-design__card-name{font-size:var(--font-size-base);font-weight:600;color:var(--c-text)}.create-mobile-design__desc{font-size:var(--font-size-sm);color:var(--c-text-muted);line-height:1.4}.create-mobile-design__meta{font-size:var(--font-size-xs);color:var(--c-text-muted);margin-top:var(--spacing-xs)}.create-mobile-design__badge{font-size:var(--font-size-xs);padding:1px 6px;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.create-mobile-design__badge--builtin{background:var(--c-bg-subtle);color:var(--c-text-muted)}.create-mobile-design__badge--custom{background:var(--c-primary-subtle, #e8f5e9);color:var(--c-primary)}.create-mobile-design__loading{font-size:var(--font-size-sm);color:var(--c-text-muted);text-align:center;padding:var(--spacing-md)}.create-mobile-design__file-input{display:none}.create-mobile-design__card-wrapper{position:relative}.create-mobile-design__card-wrapper .create-mobile-design__card{width:100%}.create-mobile-design__delete{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:24px;height:24px;border:none;border-radius:50%;background:var(--c-bg-subtle);color:var(--c-text-muted);font-size:var(--font-size-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.create-mobile-design__card-wrapper:hover .create-mobile-design__delete{opacity:1}.create-mobile-design__delete:hover{background:var(--c-danger, #ef4444);color:#fff}.arch-dialog__error{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--c-error)}.faceted-filter{display:flex;flex-direction:column;width:100%;background:var(--c-bg);overflow-y:auto;font-family:var(--font-sans)}.faceted-filter--disabled{opacity:.5;pointer-events:none}.faceted-filter__disabled-notice{font-size:var(--font-size-xs);color:var(--c-text-faint);font-style:italic}.faceted-filter__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light)}.faceted-filter__title{display:flex;align-items:center;gap:var(--spacing-xs);margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--c-text)}.faceted-filter__active-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-primary);color:#fff;font-size:var(--font-size-xs);font-weight:700;line-height:1}.faceted-filter__section-title{display:flex;align-items:center;gap:var(--spacing-xs)}.faceted-filter__section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--c-primary);color:#fff;font-size:var(--font-size-2xs);font-weight:700;line-height:1}.faceted-filter__section-content{display:flex;flex-direction:column}.faceted-filter__clear-category{align-self:flex-start;margin-top:var(--spacing-xs)}.faceted-filter__category{display:flex;flex-direction:column}.faceted-filter__option-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.faceted-filter__option{display:flex}.faceted-filter__option--empty{opacity:.5}.faceted-filter__option-label{display:flex;align-items:center;gap:6px;width:100%;padding:1px 0;cursor:pointer;font-size:var(--font-size-sm);color:var(--c-text)}.faceted-filter__option-label:hover{color:var(--c-primary)}.faceted-filter__option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faceted-filter__option-count{flex-shrink:0;font-size:var(--font-size-2xs);color:var(--c-text-faint);font-variant-numeric:tabular-nums}.faceted-filter__toggle-more{align-self:flex-start;margin-top:var(--spacing-xs)}.faceted-filter__footer{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--c-border-light)}.faceted-filter__result-count{font-size:var(--font-size-xs);color:var(--c-text-faint)}.pc-datagrid-with-facets{display:flex;height:100%;min-height:0}.pc-datagrid-with-facets__sidebar{flex:0 0 auto;min-height:0;overflow-y:auto;border-right:1px solid var(--c-border-light)}.pc-datagrid-with-facets__divider{flex:0 0 4px;cursor:col-resize;background:transparent;transition:background var(--transition-fast)}.pc-datagrid-with-facets__divider:hover,.pc-datagrid-with-facets__divider--active{background:var(--c-primary);opacity:.3}.pc-datagrid-with-facets__divider--active{opacity:.5}.pc-datagrid-with-facets__grid{flex:1;min-width:0;min-height:0}.pc-map-block{width:100%;height:100%;min-height:200px;isolation:isolate}.map-view-block__marker-id{font-size:.85em;opacity:.7}.pc-sidebyside{display:flex;gap:var(--spacing-md, 16px);flex:1;min-height:0}.pc-sidebyside__side{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.chart-panel{display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}.chart-panel--empty{padding:var(--spacing-xl);text-align:center;color:var(--c-text-muted)}.chart-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border);gap:var(--spacing-md)}.chart-panel__controls{display:flex;align-items:center;gap:var(--spacing-sm)}.chart-panel__field-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--c-text);cursor:pointer;min-width:120px}.chart-panel__field-select:hover{border-color:var(--c-text-faint)}.chart-panel__field-select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-alpha)}.chart-panel__type-toggle{display:flex;border:1px solid var(--c-border);border-radius:var(--radius-sm);overflow:hidden}.chart-panel__type-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:none;background:var(--c-bg);color:var(--c-text-muted);cursor:pointer;transition:all var(--transition-fast)}.chart-panel__type-btn:not(:last-child){border-right:1px solid var(--c-border)}.chart-panel__type-btn:hover{background:var(--c-bg-subtle);color:var(--c-text)}.chart-panel__type-btn--active{background:var(--c-primary);color:var(--c-text-inverse)}.chart-panel__type-btn--active:hover{background:var(--c-primary-dark);color:var(--c-text-inverse)}.chart-panel__count{font-size:var(--font-size-sm);color:var(--c-text-muted)}.chart-panel__chart-area{flex:1;padding:var(--spacing-md);min-height:200px}.chart-panel__empty-state{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--c-text-muted);font-size:var(--font-size-sm)}.recharts-tooltip-wrapper{z-index:var(--z-tooltip)}.recharts-legend-wrapper{padding-top:var(--spacing-sm)!important}.pc-chart-block{width:100%;height:100%;min-height:200px}.debug-block{position:fixed;z-index:1000;display:flex;flex-direction:column;width:560px;height:420px;min-width:280px;min-height:48px;resize:both;overflow:hidden;background:var(--c-bg, #fff);border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-md, 6px);box-shadow:0 4px 24px #00000026,0 1px 4px #0000001a;font-family:var(--font-family, "Nunito", sans-serif)}.debug-block--collapsed{height:auto!important;min-height:0;resize:none}.debug-block--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.debug-block__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-bottom:1px solid var(--c-border, #e0e0e0);background:var(--c-bg-muted, #fafafa);flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.debug-block--dragging .debug-block__header{cursor:grabbing}.debug-block--collapsed .debug-block__header{border-bottom:none}.debug-block__title{font-size:.8rem;font-weight:600;color:var(--c-text-muted, #666);display:flex;align-items:center;gap:var(--spacing-xs, 4px);pointer-events:none}.debug-block__count{font-weight:400;font-size:.7rem;color:var(--c-text-muted, #999)}.debug-block__actions{display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.debug-block__action-btn{background:none;border:1px solid var(--c-border, #e0e0e0);border-radius:var(--radius-sm, 4px);padding:2px 8px;font-size:.7rem;color:var(--c-text-muted, #666);cursor:pointer;pointer-events:auto}.debug-block__action-btn:hover{background:var(--c-bg-hover, #f5f5f5);color:var(--c-text, #333)}.debug-block__log{flex:1;overflow-y:auto;min-height:0;padding:var(--spacing-xs, 4px) 0}.debug-block__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted, #999);font-size:.8rem;font-style:italic}.debug-block__entry{display:flex;gap:var(--spacing-sm, 8px);padding:3px var(--spacing-sm, 8px);border-bottom:1px solid var(--c-border-light, #f0f0f0);font-size:.75rem;line-height:1.4}.debug-block__entry:hover{background:var(--c-bg-hover, #f8f8f8)}.debug-block__timestamp{flex-shrink:0;font-family:Fira Code,Cascadia Code,monospace;font-size:.7rem;color:var(--c-text-muted, #999);white-space:nowrap}.debug-block__port{flex-shrink:0;min-width:80px;font-weight:600;font-size:.7rem}.debug-block__badge{display:inline-block;padding:0 4px;border-radius:var(--radius-sm, 3px);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-left:4px;vertical-align:middle}.debug-block__badge--stream{background:#e3f2fd;color:#1565c0}.debug-block__badge--trigger{background:#fff3e0;color:#e65100}.debug-block__value{flex:1;min-width:0;font-family:Fira Code,Cascadia Code,monospace;font-size:.7rem;color:var(--c-text, #333);white-space:pre-wrap;word-break:break-all}.rpl{display:flex;flex:1;min-height:0;overflow:hidden;padding:var(--spacing-md, 16px);gap:0}.rpl--single{flex-direction:column}.rpl--two-column{flex-direction:row}.rpl--two-over-one{flex-direction:column}.rpl__row{display:flex;flex-direction:row;height:var(--rpl-row);min-height:0;flex-shrink:0}.rpl__pane{overflow:auto;min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.rpl--two-column>.rpl__pane:first-child,.rpl__row>.rpl__pane:first-child{width:var(--rpl-col);flex-shrink:0}.rpl__pane--flex{flex:1}.rpl__divider{flex-shrink:0;position:relative;z-index:2;border-radius:3px;transition:background .2s ease,box-shadow .2s ease,width .15s ease,height .15s ease}.rpl__divider:focus-visible{outline:2px solid var(--c-primary, #4a7c23);outline-offset:-1px}.rpl__divider--vertical{width:6px;cursor:col-resize;background:linear-gradient(to right,var(--c-border, #e2e8f0),color-mix(in srgb,var(--c-border, #e2e8f0) 70%,#000),var(--c-border, #e2e8f0))}.rpl__divider--vertical:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:36px;transform:translate(-50%,-50%);border-radius:6px;background-color:color-mix(in srgb,var(--c-border, #e2e8f0) 85%,#000);background-image:radial-gradient(circle,color-mix(in srgb,var(--c-border, #e2e8f0) 30%,#000) 1.2px,transparent 1.2px);background-size:4px 6px;background-repeat:repeat-y;background-position:center;box-shadow:inset 0 1px #fff6,0 1px 3px #0000001f;transition:background-color .2s ease,background-image .2s ease,box-shadow .2s ease,transform .15s ease;pointer-events:none}.rpl__divider--horizontal{height:6px;cursor:row-resize;background:linear-gradient(to bottom,var(--c-border, #e2e8f0),color-mix(in srgb,var(--c-border, #e2e8f0) 70%,#000),var(--c-border, #e2e8f0))}.rpl__divider--horizontal:after{content:"";position:absolute;top:50%;left:50%;width:36px;height:12px;transform:translate(-50%,-50%);border-radius:6px;background-color:color-mix(in srgb,var(--c-border, #e2e8f0) 85%,#000);background-image:radial-gradient(circle,color-mix(in srgb,var(--c-border, #e2e8f0) 30%,#000) 1.2px,transparent 1.2px);background-size:6px 4px;background-repeat:repeat-x;background-position:center;box-shadow:inset 0 1px #fff6,0 1px 3px #0000001f;transition:background-color .2s ease,background-image .2s ease,box-shadow .2s ease,transform .15s ease;pointer-events:none}.rpl__divider--vertical:before{content:"";position:absolute;top:0;bottom:0;left:-6px;right:-6px}.rpl__divider--horizontal:before{content:"";position:absolute;left:0;right:0;top:-6px;bottom:-6px}.rpl__divider--vertical:hover{background:linear-gradient(to right,color-mix(in srgb,var(--c-primary, #4a7c23) 30%,var(--c-border, #e2e8f0)),color-mix(in srgb,var(--c-primary, #4a7c23) 50%,var(--c-border, #e2e8f0)),color-mix(in srgb,var(--c-primary, #4a7c23) 30%,var(--c-border, #e2e8f0)));box-shadow:0 0 8px #4a7c234d}.rpl__divider--horizontal:hover{background:linear-gradient(to bottom,color-mix(in srgb,var(--c-primary, #4a7c23) 30%,var(--c-border, #e2e8f0)),color-mix(in srgb,var(--c-primary, #4a7c23) 50%,var(--c-border, #e2e8f0)),color-mix(in srgb,var(--c-primary, #4a7c23) 30%,var(--c-border, #e2e8f0)));box-shadow:0 0 8px #4a7c234d}.rpl__divider--vertical:hover:after{background-color:color-mix(in srgb,var(--c-primary, #4a7c23) 25%,var(--c-border, #e2e8f0));background-image:radial-gradient(circle,rgba(74,124,35,.7) 1.2px,transparent 1.2px);box-shadow:inset 0 1px #ffffff80,0 1px 4px #4a7c2333}.rpl__divider--horizontal:hover:after{background-color:color-mix(in srgb,var(--c-primary, #4a7c23) 25%,var(--c-border, #e2e8f0));background-image:radial-gradient(circle,rgba(74,124,35,.7) 1.2px,transparent 1.2px);box-shadow:inset 0 1px #ffffff80,0 1px 4px #4a7c2333}.rpl__divider--vertical:active{width:8px;background:var(--c-primary, #4a7c23);box-shadow:0 0 12px #4a7c2380}.rpl__divider--horizontal:active{height:8px;background:var(--c-primary, #4a7c23);box-shadow:0 0 12px #4a7c2380}.rpl__divider--vertical:active:after{background-color:var(--c-primary, #4a7c23);background-image:radial-gradient(circle,rgba(255,255,255,.6) 1.2px,transparent 1.2px);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #4a7c234d;transform:translate(-50%,-50%) scale(1.1)}.rpl__divider--horizontal:active:after{background-color:var(--c-primary, #4a7c23);background-image:radial-gradient(circle,rgba(255,255,255,.6) 1.2px,transparent 1.2px);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #4a7c234d;transform:translate(-50%,-50%) scale(1.1)}@media (max-width: 768px){.rpl--two-column,.rpl--two-over-one{flex-direction:column}.rpl__row{flex-direction:column;height:auto}.rpl__divider{display:none}.rpl--two-column>.rpl__pane:first-child,.rpl__row>.rpl__pane:first-child{width:auto;flex-shrink:initial}.rpl__pane{flex:1}}.stage-runner{width:100%;height:100%;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--c-surface, #f8f9fa);overflow:hidden}.stage-runner--loading,.stage-runner--error{display:flex;align-items:center;justify-content:center}.stage-runner__header{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-bottom:1px solid var(--c-border, #e2e8f0);background:var(--c-surface, #fff);flex-shrink:0}.stage-runner__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--c-text, #1a202c)}.stage-runner__panel{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);overflow:auto;min-height:0;flex:1}.stage-runner__block-slot{min-width:0;min-height:0;display:flex;flex-direction:column;flex:1}.stage-runner__button-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px);align-items:flex-start}.stage-runner__loading{color:var(--c-text-muted, #718096);font-size:var(--font-size-base)}.stage-runner__error-container{text-align:center;color:var(--c-danger, #e53e3e)}.stage-runner__error-container h2{margin:0 0 var(--spacing-xs, 4px);font-size:var(--font-size-xl)}.stage-runner__error-container p{margin:0;color:var(--c-text-muted, #718096)}.stage-runner__error{padding:var(--spacing-sm, 8px);color:var(--c-danger, #e53e3e);font-size:var(--font-size-xs);border:1px dashed var(--c-danger, #e53e3e);border-radius:var(--radius-sm, 4px)}.stage-tabs-block{display:flex;flex-direction:column;height:100%}.stage-tabs-block__panel{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);flex:1;min-height:0;overflow:auto}.stage-edit-dialog__fields{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.stage-edit-dialog__field{display:flex;flex-direction:column;gap:var(--spacing-xxs, 2px)}.stage-edit-dialog__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted, #718096);text-transform:capitalize}.stage-edit-dialog__readonly-fieldset{border:none;padding:0;margin:0}.stage-edit-dialog--inline{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}.stage-edit-dialog__placeholder{color:var(--c-text-muted, #718096);font-size:var(--font-size-base);text-align:center;padding:var(--spacing-xl, 32px) var(--spacing-md, 16px);margin:0}.stage-edit-dialog__inline-header{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-bottom:1px solid var(--c-border, #e2e8f0);flex-shrink:0}.stage-edit-dialog__inline-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--c-text, #1a202c)}.stage-edit-dialog__inline-actions{display:flex;gap:var(--spacing-sm, 8px);justify-content:flex-end;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-top:1px solid var(--c-border, #e2e8f0);flex-shrink:0}.stage-toast__container{position:fixed;bottom:var(--spacing-md, 16px);right:var(--spacing-md, 16px);display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);z-index:9999;pointer-events:none}.stage-toast__item{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-base);cursor:pointer;pointer-events:auto;animation:stage-toast-in .2s ease-out;box-shadow:0 2px 8px #00000026}.stage-toast__item--info{background:var(--c-primary, #4a7c23);color:#fff}.stage-toast__item--error{background:var(--c-danger, #e53e3e);color:#fff}@keyframes stage-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-runner{height:100%;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-runner__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-shrink:0}.page-runner__title{font-size:var(--font-size-lg);font-weight:600;margin:0;color:var(--c-text-primary)}.page-runner__layout{flex:1;min-height:0;overflow:hidden}.page-runner__layout--single{display:flex;flex-direction:column}.page-runner__layout--two-column{display:grid;grid-template-columns:1fr 1fr}.page-runner__layout--two-over-one{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.page-runner__slot{flex:1;min-height:0;overflow:auto}.page-runner__layout--two-over-one .page-runner__slot--bottom{grid-column:1 / -1}.page-runner--loading,.page-runner--error{flex:1;display:flex;align-items:center;justify-content:center}.page-runner__error-container{text-align:center;color:var(--c-text-secondary)}.page-runner__error-container h2{margin-bottom:var(--spacing-sm);color:var(--c-text-primary)}.page-runner__loading{color:var(--c-text-secondary)}.app-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-shell__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border-light);flex-shrink:0;background:var(--c-bg)}.app-shell__header--env-dev{background-color:#e8f0fe}.app-shell__header--env-test{background-color:#fff3e0}.app-shell__logo{height:32px;flex-shrink:0}.app-shell__branding{display:flex;align-items:baseline;gap:var(--spacing-sm);flex:1;min-width:0}.app-shell__title{font-size:var(--font-size-xl);font-weight:800;color:var(--c-text);white-space:nowrap}.app-shell__subtitle{font-size:var(--font-size-base);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell__avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:700;font-size:13px;border:none;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.app-shell__avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.app-shell__avatar:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.app-shell__body{flex:1;display:flex;min-height:0;overflow:hidden}.app-shell__sidebar{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;background:var(--c-bg-dark)}.app-shell__sidebar--collapsed{width:48px}.app-shell__sidebar-toggle{display:flex;align-items:center;gap:var(--spacing-xs);height:32px;padding:0 var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffff73;font-size:var(--font-size-sm);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.app-shell__sidebar-toggle:hover{color:#ffffffde;background:#ffffff14}.app-shell__sidebar-toggle-icon{flex-shrink:0}.app-shell__sidebar-toggle-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell__sidebar--collapsed .app-shell__sidebar-toggle{justify-content:center;padding:0}.app-shell__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-xs) 0}.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__label,.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__section-label,.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__fold,.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__fold-spacer{display:none}.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__row{justify-content:center;padding-left:0;border-left:none}.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__sublist,.app-shell__sidebar--collapsed .app-shell__nav .nav-menu__section-header{display:none}.app-shell__divider{width:1px;flex-shrink:0;background:#ffffff1a;cursor:col-resize;position:relative}.app-shell__divider:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.app-shell__divider:hover,.app-shell__divider--active{background:var(--c-primary)}.app-shell__content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-shell__loading,.app-shell__error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted);font-size:var(--font-size-base)}.app-shell__error{color:var(--c-error)}.app-shell__not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-sm);color:var(--c-text-muted)}.app-shell__not-found h2{font-size:var(--font-size-xl);font-weight:700;color:var(--c-text)}.login-form{display:flex;flex-direction:column;gap:20px;max-width:320px;width:100%}.login-form__error{padding:12px var(--spacing-md);background-color:var(--c-error-light);border:1px solid var(--c-error);border-radius:var(--radius-md);color:var(--c-error);font-size:var(--font-size-sm)}.login-form__submit{margin-top:var(--spacing-sm);width:100%}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--c-bg-subtle)}.login-page__card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl);background:var(--c-bg);border:1px solid var(--c-border-light);border-radius:var(--radius-lg);box-shadow:0 4px 24px #00000014;max-width:400px;width:100%}.login-page__logo{height:48px}.login-page__title{margin:0;font-size:var(--font-size-xl);color:var(--c-text);font-weight:700}.arch-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.arch-page__toolbar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border-light);flex-shrink:0}.arch-page__title{font-size:var(--font-size-lg);font-weight:700;margin:0;white-space:nowrap}.arch-page__toggle{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.arch-page__toggle-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:none;background:var(--c-bg);color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.arch-page__toggle-btn--active{background:var(--c-primary);color:#fff}.arch-page__search{margin-left:auto;max-width:260px;flex-shrink:1}.arch-page__body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 var(--spacing-md) var(--spacing-md)}.arch-page__tabs{display:flex;flex-direction:column;flex:1;min-height:0}.arch-page__tabs .tabs__panel{flex:1;min-height:0;padding:var(--spacing-sm) 0 0}.arch-page__explorer{display:grid;grid-template-columns:320px 1fr;height:100%;gap:var(--spacing-sm)}.arch-page__erd-container{height:100%;border:1px solid var(--c-border-light);border-radius:var(--radius-md);overflow:hidden}.arch-page__sidebar{display:flex;flex-direction:column;overflow-y:auto;border:1px solid var(--c-border-light);border-radius:var(--radius-md);background:var(--c-bg)}.arch-page__detail{overflow-y:auto;padding:var(--spacing-md);border:1px solid var(--c-border-light);border-radius:var(--radius-md);background:var(--c-bg)}.arch-page__detail--editor{overflow:hidden;display:flex;flex-direction:column}.arch-detail__conductor-panel,.arch-detail__editor-panel{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.arch-detail__editor-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border);flex-shrink:0}.arch-detail__editor-toolbar-actions{display:flex;gap:var(--spacing-xs)}.arch-detail__editor-toolbar-preview{display:flex;gap:var(--spacing-xxs);margin-left:var(--spacing-sm)}.arch-detail__save-status{font-size:var(--font-size-sm);color:var(--c-text-muted)}.arch-detail__save-status--error{color:var(--c-danger, var(--c-error))}.arch-detail__preview-btn{align-self:flex-start}.arch-detail__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--c-text-muted);font-size:var(--font-size-md)}.arch-detail__artifact-header{background:#fff;padding:var(--spacing-md)}.arch-detail__header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.arch-detail__header-primary{display:flex;align-items:baseline;gap:var(--spacing-sm);flex-wrap:wrap}.arch-detail__type-badge{display:inline-block;padding:2px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--c-primary-alpha);color:var(--c-primary-dark);border-radius:var(--radius-sm);white-space:nowrap}.arch-detail__title{font-size:var(--font-size-xl);font-weight:700;margin:0}.arch-detail__source{font-size:var(--font-size-xs);color:var(--c-text-muted);font-family:monospace;word-break:break-all}.arch-detail__inline-id{font-size:var(--font-size-sm);font-family:monospace;color:var(--c-text-muted);white-space:nowrap}.arch-detail__slug-subtitle{display:block;padding:0 var(--spacing-md);margin-top:calc(-1 * var(--spacing-sm));font-size:var(--font-size-xs);font-family:monospace;color:var(--c-text-muted)}.arch-detail__section{margin-top:var(--spacing-lg)}.arch-detail__section-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary);margin:0 0 var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.arch-detail__section-title::marker{display:none}.arch-detail__section-title::-webkit-details-marker{display:none}.arch-detail__section-title:before{content:"▶";display:inline-block;margin-right:var(--spacing-xs);font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.arch-detail__section[open]>.arch-detail__section-title:before{transform:rotate(90deg)}.arch-detail__code{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);line-height:1.5;overflow-x:auto;white-space:pre;margin:0}.arch-detail__property{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.arch-detail__property-label{min-width:140px;flex-shrink:0;color:var(--c-text-secondary);font-weight:600}.arch-detail__property-value{flex:1;min-width:0;color:var(--c-text);word-break:break-word}.arch-detail__purpose-badge{display:inline-block;padding:2px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm)}.arch-detail__status-badge{display:inline-block;padding:2px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm)}.arch-detail__status-badge--implemented{background:var(--c-success-light);color:var(--c-success-dark)}.arch-detail__status-badge--not-yet{background:#f1f5f9;color:#64748b}.arch-detail__tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.arch-detail__tag{display:inline-block;padding:2px var(--spacing-xs);font-size:var(--font-size-xs);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);font-family:monospace}.arch-detail__link{color:var(--c-primary);text-decoration:none;font-size:var(--font-size-sm)}.arch-detail__link:hover{text-decoration:underline}.arch-detail__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.arch-detail__table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.arch-detail__table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);font-family:monospace;font-size:var(--font-size-sm)}.arch-detail__table tr:last-child td{border-bottom:none}.arch-detail__col--quarter{width:25%}.arch-detail__col--half{width:50%}.arch-detail__layer-desc{font-size:var(--font-size-md);color:var(--c-text-secondary);margin:0 0 var(--spacing-md);line-height:1.5}.arch-detail__classifications{display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-detail__sync-badge{display:inline-block;padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-sm);white-space:nowrap;line-height:1.4}.arch-detail__sync-badge--ok{color:var(--c-success-dark);background:var(--c-success-light)}.arch-detail__sync-badge--stale{color:var(--c-warning-dark);background:var(--c-warning-light)}.arch-detail__sync-badge--error{color:var(--c-error-dark);background:var(--c-error-light)}.arch-detail__sync-badge--unmanaged{color:var(--c-primary-dark);background:var(--c-primary-alpha)}.arch-detail__sync-checking-label{font-size:var(--font-size-xs);color:var(--c-text-muted)}.arch-detail__cell--ok{background:#dcfce720}.arch-detail__cell--mismatch{background:var(--c-error-light);color:var(--c-error-dark)}.arch-detail__row--extra-db{opacity:.6}.arch-detail__row--unmanaged{opacity:.5}.arch-detail__unmanaged-badge{display:inline-block;margin-left:var(--spacing-xs);padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-sans);color:var(--c-text-muted);background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);vertical-align:middle}.arch-detail__field-desc{display:block;font-size:var(--font-size-xs);font-family:var(--font-sans);color:var(--c-text-muted);font-weight:400;line-height:1.4;margin-top:2px}.arch-detail__unit-badge{display:inline-block;margin-left:var(--spacing-xs);padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-sans);color:var(--c-primary-dark);background:var(--c-primary-alpha);border-radius:var(--radius-sm);vertical-align:middle}.arch-detail__enum-label{font-family:var(--font-sans);color:var(--c-text-muted);font-weight:400}.arch-page__loading,.arch-page__error{display:flex;align-items:center;justify-content:center;flex:1;font-size:var(--font-size-md);color:var(--c-text-muted)}.arch-page__error{color:var(--c-error)}.arch-detail__view-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--c-border-light);flex-wrap:wrap}.arch-detail__meta-pill{display:inline-flex;align-items:center;gap:4px;padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);background:var(--c-bg-subtle);color:var(--c-text-secondary);white-space:nowrap;line-height:1.6}.arch-detail__meta-pill--sync-ok{background:var(--c-success-light);color:var(--c-success-dark)}.arch-detail__meta-pill--sync-drift{background:var(--c-warning-light);color:var(--c-warning-dark)}.arch-detail__meta-pill--sync-missing,.arch-detail__meta-pill--sync-error{background:var(--c-error-light);color:var(--c-error-dark)}.arch-detail__meta-pill--sync-checking{background:var(--c-bg-subtle);color:var(--c-text-muted)}.arch-detail__meta-pill--capability{background:transparent;border:1px solid var(--c-border);color:var(--c-text-secondary)}.arch-detail__meta-pill--disabled{background:var(--c-warning-light);border-color:var(--c-warning-border);color:var(--c-warning-dark);text-decoration:line-through}.arch-detail__sync-dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--c-text-muted);flex-shrink:0}.arch-detail__sync-dot--ok{background:var(--c-success)}.arch-detail__sync-dot--drift{background:var(--c-warning)}.arch-detail__sync-dot--missing,.arch-detail__sync-dot--error{background:var(--c-error)}.arch-detail__copy-name{display:inline-flex;align-items:center;background:none;border:none;padding:2px;margin:0;color:var(--c-text-faint);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.arch-detail__copy-name:hover{color:var(--c-text-secondary);background:var(--c-bg-subtle)}.arch-detail__copy-name--copied,.arch-detail__copy-name--copied:hover{color:var(--c-success)}.arch-detail__meta-separator{color:var(--c-text-faint);font-size:var(--font-size-xs);-webkit-user-select:none;user-select:none}.arch-detail__meta-timestamp{font-size:var(--font-size-xs);color:var(--c-text-faint);white-space:nowrap}.arch-detail__description{margin-bottom:var(--spacing-md)}.arch-detail__description-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.arch-detail__description-label{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.arch-detail__description-text{font-size:var(--font-size-sm);color:var(--c-text);line-height:1.6;margin:0}.arch-detail__description-text h1{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--spacing-sm)}.arch-detail__description-text h2{font-size:var(--font-size-lg);font-weight:700;margin:var(--spacing-md) 0 var(--spacing-xs)}.arch-detail__description-text h3,.arch-detail__description-text h4{font-size:var(--font-size-md);font-weight:700;margin:var(--spacing-sm) 0 var(--spacing-xs)}.arch-detail__description-text p{margin:0 0 var(--spacing-sm)}.arch-detail__description-text ul,.arch-detail__description-text ol{padding-left:var(--spacing-lg);margin:0 0 var(--spacing-sm)}.arch-detail__description-text li{margin-bottom:var(--spacing-xs)}.arch-detail__description-text hr{border:none;border-top:1px solid var(--c-border-light);margin:var(--spacing-md) 0}.arch-detail__description-text--empty{color:var(--c-text-muted);font-style:italic}.arch-detail__namespace-row{display:flex;align-items:center;gap:var(--spacing-sm)}.arch-detail__namespace-input{font-family:var(--font-mono, monospace);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);width:200px}.arch-detail__namespace-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-light)}.arch-detail__history-list{font-size:var(--font-size-sm);color:var(--c-text);line-height:1.6;margin:0;padding-left:var(--spacing-lg)}.arch-detail__history-list li{margin-bottom:var(--spacing-xs)}.arch-detail__describe-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:var(--radius-full);animation:arch-spin .6s linear infinite}@keyframes arch-spin{to{transform:rotate(360deg)}}.arch-detail__describe-error{font-size:var(--font-size-xs);color:var(--c-error);margin-top:var(--spacing-xs)}.arch-detail__apply-result{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md);background:var(--c-bg-subtle);border:1px solid var(--c-border-light)}.arch-detail__apply-result--success{background:var(--c-success-light);border-color:var(--c-success-border);color:var(--c-success-dark)}.arch-detail__apply-result p{margin:0 0 var(--spacing-xs);font-weight:600}.arch-detail__apply-result details{margin-top:var(--spacing-xs)}.arch-detail__apply-result summary{cursor:pointer;font-size:var(--font-size-xs);color:inherit;opacity:.8}.arch-detail__apply-skipped{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md);background:var(--c-warning-light);border:1px solid var(--c-warning-border);color:var(--c-warning-dark)}.arch-detail__apply-skipped p{margin:0 0 var(--spacing-xs);font-weight:600}.arch-detail__apply-skipped summary{cursor:pointer;font-size:var(--font-size-xs);color:inherit;opacity:.8}.arch-detail__apply-skipped ul{margin:var(--spacing-xs) 0 0;padding-left:var(--spacing-md);font-size:var(--font-size-xs);font-family:monospace}.arch-prompt{display:flex;flex-direction:column;gap:var(--spacing-md)}.arch-prompt__loading{text-align:center;color:var(--c-text-muted);padding:var(--spacing-lg)}.arch-prompt__meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--c-text-muted)}.arch-prompt__meta-item code{font-size:var(--font-size-xs);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.arch-prompt__section{border-radius:var(--radius-md);overflow:hidden}.arch-prompt__section-label{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.arch-prompt__section--system{border:1.5px solid #c084fc}.arch-prompt__section--system .arch-prompt__section-label{background:#f3e8ff;color:#7c3aed}.arch-prompt__section--user{border:1.5px solid #60a5fa}.arch-prompt__section--user .arch-prompt__section-label{background:#eff6ff;color:#2563eb}.arch-prompt__section-body{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);line-height:1.6;color:var(--c-text)}.arch-prompt__section--system .arch-prompt__section-body{font-family:var(--font-sans);background:#faf5ff}.arch-detail__markdown-textarea{width:100%;min-height:300px;font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);line-height:1.5;padding:var(--spacing-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg-subtle);color:var(--c-text);resize:vertical}.arch-page__workspace-select{display:flex;align-items:center;gap:var(--spacing-xs)}.arch-page__add-workspace-btn{width:28px;height:28px;padding:0;flex-shrink:0}.arch-page__add-workspace-btn--active{background-color:var(--c-surface-raised, rgba(0, 0, 0, .06))}.arch-page__node-with-action{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.arch-page__add-entity-btn{width:20px;height:20px;padding:0;opacity:0;transition:opacity var(--transition-fast)}.tree-view__row:hover .arch-page__add-entity-btn{opacity:1}.arch-page__rename-btn{width:20px;height:20px;padding:0;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.tree-view__row:hover .arch-page__rename-btn{opacity:1}.arch-page__favorite-btn{width:20px;height:20px;padding:0;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.tree-view__row:hover .arch-page__favorite-btn,.arch-page__favorite-btn--active{opacity:1}.arch-page__rename-row{display:inline-flex;align-items:center;gap:var(--spacing-xxs);flex:1;min-width:0}.arch-page__rename-input{flex:1;min-width:60px;height:22px;padding:0 var(--spacing-xs);font-size:var(--font-size-sm);font-family:inherit;border:1px solid var(--c-primary);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text);outline:none;box-shadow:0 0 0 2px var(--c-primary-alpha)}.arch-page__rename-confirm,.arch-page__rename-cancel{width:20px;height:20px;padding:0;flex-shrink:0}.arch-detail__method-badge{display:inline-block;padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-sans);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;line-height:1.4;white-space:nowrap}.arch-detail__method-badge--get{color:#166534;background:#dcfce7}.arch-detail__method-badge--post{color:#1e40af;background:#dbeafe}.arch-detail__method-badge--put{color:#92400e;background:#fef3c7}.arch-detail__method-badge--delete{color:#991b1b;background:#fee2e2}.arch-detail__test-loading{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--c-text-muted);font-size:var(--font-size-sm)}.arch-detail__test-json{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:0;max-height:60vh;overflow-y:auto}.arch-detail__param-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-detail__source-toggle{display:flex;gap:var(--spacing-xs)}.arch-detail__entity-badge{display:inline-block;margin:var(--spacing-xs) 0 var(--spacing-sm) var(--spacing-md);padding:2px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--c-primary-alpha);color:var(--c-primary-dark)}.arch-detail__param-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.arch-detail__param-label{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.arch-detail__param-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-xs)}.arch-prompt__section-body--code{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;background:#f8fafc;margin:0;max-height:400px;overflow-y:auto}.arch-detail__data-preview{display:flex;flex-direction:column;height:400px;border:1px solid var(--c-border-light);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--spacing-sm)}.arch-detail__rename-table{table-layout:fixed;width:100%}.arch-detail__rename-table th:nth-child(1),.arch-detail__rename-table td:nth-child(1){width:60%}.arch-detail__rename-table th:nth-child(2),.arch-detail__rename-table td:nth-child(2){width:10%}.arch-detail__rename-table th:nth-child(3),.arch-detail__rename-table td:nth-child(3){width:30%}.arch-detail__rename-summary{font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.arch-detail__rename-warnings{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--c-warning)}.arch-detail__rename-warnings ul{margin:var(--spacing-xs) 0 0 var(--spacing-md);padding:0}.arch-detail__rename-warnings li{margin-bottom:var(--spacing-xs)}.arch-detail__lineage--empty{color:var(--c-text-faint)}.arch-detail__lineage--literal{color:var(--c-text-muted);font-style:italic;font-size:var(--font-size-sm)}.arch-detail__lineage--direct,.arch-detail__lineage--aggregate,.arch-detail__lineage--computed{font-size:var(--font-size-sm);line-height:1.4}.arch-detail__lineage-link{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--c-primary);cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.arch-detail__lineage-link:hover{color:var(--c-primary-dark);text-decoration-style:solid}.arch-detail__lineage-badge{display:inline-block;padding:0 4px;border-radius:var(--radius-sm);background:var(--c-primary-alpha);color:var(--c-primary-dark);font-size:var(--font-size-xs);font-weight:700;line-height:1.6;vertical-align:middle}.arch-detail__impact-empty{color:var(--c-text-muted);font-size:var(--font-size-sm);font-style:italic}.arch-detail__impact-field-group{margin-bottom:var(--spacing-sm)}.arch-detail__impact-field-label{font-weight:600;font-size:var(--font-size-sm);color:var(--c-text);margin-bottom:var(--spacing-xs)}.arch-detail__impact-kind-badge{display:inline-block;padding:0 4px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;line-height:1.6;vertical-align:middle}.arch-detail__impact-kind-badge--direct{background:#e0f2e9;color:#166534}.arch-detail__impact-kind-badge--aggregate{background:var(--c-primary-alpha);color:var(--c-primary-dark)}.arch-detail__impact-kind-badge--computed{background:var(--c-warning-light);color:var(--c-warning-dark)}.arch-detail__impact-kind-badge--literal{background:var(--c-bg-subtle);color:var(--c-text-muted)}.arch-detail__file-upload{display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-detail__file-upload-row{display:flex;align-items:center;gap:var(--spacing-sm)}.arch-detail__impact-warning{display:flex;gap:var(--spacing-sm);align-items:flex-start;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--c-warning-light);border:1px solid var(--c-warning);margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--c-warning-dark)}.arch-detail__impact-warning-icon{flex-shrink:0;font-size:var(--font-size-md)}.arch-detail__impact-warning-list{margin:var(--spacing-xs) 0 0;padding:0 0 0 var(--spacing-md)}.arch-detail__impact-warning-list li{margin-bottom:2px}.arch-detail__edit-toolbar{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.arch-detail__edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.arch-detail__edit-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.arch-detail__edit-field--full{grid-column:1 / -1}.arch-detail__edit-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.05em}.arch-detail__template-textarea{width:100%;min-height:200px;font-family:Fira Code,Cascadia Code,monospace;font-size:var(--font-size-sm);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg-subtle);color:var(--c-text);resize:vertical}.arch-detail__template-textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-alpha)}.arch-detail__var-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.arch-detail__var-table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.arch-detail__var-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);vertical-align:top}.arch-detail__var-table td input,.arch-detail__var-table td select{width:100%;font-size:var(--font-size-sm);padding:2px var(--spacing-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);background:var(--c-bg)}.arch-detail__var-table td input:focus,.arch-detail__var-table td select:focus{outline:none;border-color:var(--c-primary)}.arch-detail__var-delete-btn{background:none;border:none;cursor:pointer;color:var(--c-text-faint);padding:2px;border-radius:var(--radius-sm);line-height:1}.arch-detail__var-delete-btn:hover{color:var(--c-error);background:var(--c-error-light)}.arch-detail__var-ui-row{background:var(--c-bg-subtle)}.arch-detail__var-ui-row td{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);font-size:var(--font-size-xs)}.arch-detail__var-ui-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-xs) var(--spacing-sm)}.arch-detail__var-ui-field{display:flex;flex-direction:column;gap:2px}.arch-detail__var-ui-field label{font-size:var(--font-size-xs);color:var(--c-text-muted)}.arch-detail__var-ui-field input,.arch-detail__var-ui-field select{font-size:var(--font-size-xs);padding:2px var(--spacing-xs);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);background:var(--c-bg)}.arch-detail__add-var-btn{margin-top:var(--spacing-sm)}.arch-detail__save-error{color:var(--c-error);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.arch-dialog__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.arch-dialog__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.arch-page__restore-warning{background:var(--c-warning-bg, #fff3cd);border:1px solid var(--c-warning-border, #ffc107);border-radius:var(--radius-sm, 4px);padding:var(--spacing-sm);color:var(--c-warning-text, #856404);font-size:var(--font-size-sm);font-weight:600;line-height:1.5}.arch-page__restore-error{color:var(--c-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.arch-detail__audit-list{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.arch-detail__audit-list th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--c-border);color:var(--c-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.arch-detail__audit-list td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--c-border-light);font-size:var(--font-size-sm)}.arch-detail__audit-row{cursor:pointer;transition:background var(--transition-fast)}.arch-detail__audit-row:hover{background:var(--c-bg-subtle)}.arch-detail__audit-status{display:inline-block;padding:1px var(--spacing-xs);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-sm)}.arch-detail__audit-status--success{color:var(--c-success-dark);background:var(--c-success-light)}.arch-detail__audit-status--error{color:var(--c-error-dark);background:var(--c-error-light)}.arch-detail__audit-empty{font-size:var(--font-size-sm);color:var(--c-text-muted);font-style:italic;margin:0}.arch-detail__audit-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--c-text-muted);margin-bottom:var(--spacing-md)}.arch-detail__audit-meta-item code{font-size:var(--font-size-xs);background:var(--c-bg-subtle);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.arch-detail__audit-modal-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.arch-detail__audit-error{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--c-error-dark);background:var(--c-error-light);border-radius:var(--radius-sm)}.arch-detail__audit-validation{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-sm)}.arch-detail__audit-validation-error{font-size:var(--font-size-xs);color:var(--c-error);font-family:monospace}.arch-detail__audit-section-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-secondary)}.arch-detail__audit-conversation{display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-detail__audit-round{border-left:3px solid var(--c-primary);padding-left:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.arch-detail__audit-round-q,.arch-detail__audit-round-a{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm);line-height:1.5}.arch-detail__audit-round-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--c-text-muted)}.arch-detail__audit-round-options{font-size:var(--font-size-xs);color:var(--c-text-muted);font-style:italic}.arch-detail__nav-editor{display:flex;gap:var(--spacing-md);min-height:200px}.arch-detail__nav-tree{flex:0 0 40%;min-width:0}.arch-detail__nav-detail{flex:1;border-left:1px solid var(--c-border, #e5e7eb);padding-left:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.arch-detail__nav-detail-empty{color:var(--c-text-muted, #888);font-style:italic;margin:0;padding-top:var(--spacing-sm)}.arch-detail__nav-props{display:flex;flex-direction:column;gap:var(--spacing-md)}.arch-detail__nav-props-title{font-size:var(--font-size-md);font-weight:700;margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--c-border-light)}.arch-detail__nav-prop{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.arch-detail__nav-prop-label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em}.arch-detail__nav-prop-slug-input{font-family:Fira Code,Cascadia Code,monospace}.arch-detail__nav-prop-collision{font-size:var(--font-size-xs);color:var(--c-error);font-weight:600}.arch-detail__nav-prop-hint{font-size:var(--font-size-xs);color:var(--c-text-faint)}.arch-detail__action-btn{margin-top:var(--spacing-sm)}.arch-detail__arrow-cell{text-align:center;opacity:.5}.arch-detail__warning-text{color:var(--c-warning-dark)}.arch-prompt__expand-btn{background:none;border:none;cursor:pointer;font-family:monospace;font-size:inherit;padding:0}.arch-prompt__center-cell{text-align:center}.arch-prompt__template-area{min-height:60px}.arch-prompt__col-action{width:30px}.arch-page__recipe-desc{margin:0;font-size:var(--font-size-sm);color:var(--c-text-muted);line-height:1.5}.arch-page__error-text{margin:0;font-size:var(--font-size-sm);color:var(--c-error)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-primary: #4a7c23;--c-primary-dark: #3a6019;--c-primary-light: #f0f7e8;--c-primary-alpha: rgba(74, 124, 35, .15);--c-text: #1a1a1a;--c-text-secondary: #374151;--c-text-muted: #6b7280;--c-text-faint: #737373;--c-text-inverse: rgba(255, 255, 255, .87);--c-bg: #ffffff;--c-bg-subtle: #f9fafb;--c-bg-elevated: #f0f1f3;--c-bg-dark: #1f2937;--c-border: #e5e7eb;--c-border-light: #f3f4f6;--c-border-dark: #4b5563;--c-error: #ef4444;--c-error-dark: #dc2626;--c-error-light: #fef2f2;--c-error-border: #fecaca;--c-error-alpha: rgba(239, 68, 68, .15);--c-success: #22c55e;--c-success-dark: #166534;--c-success-light: #dcfce7;--c-success-border: #bbf7d0;--c-success-alpha: rgba(34, 197, 94, .15);--c-warning: #f59e0b;--c-warning-dark: #b45309;--c-warning-light: #fef3c7;--c-warning-border: #fde68a;--c-warning-alpha: rgba(245, 158, 11, .1);--c-danger: #dc2626;--c-danger-light: #fef2f2;--c-danger-border: #fecaca;--c-danger-alpha: rgba(220, 38, 38, .15);--c-surface: #f8f9fa;--c-bg-hover: #f5f5f5;--c-bg-alt: #f5f5f5;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: "Nunito", system-ui, sans-serif;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-hero: 2.25rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--z-sticky: 10;--z-dropdown: 100;--z-modal: 200;--z-tooltip: 300;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--c-stripe-a: #ffffff;--c-stripe-b: #f4f5f7;--c-stripe-weekend: #f0f0f2;--c-month-stripe-a: #ffffff;--c-month-stripe-b: #f5f0e8;--c-week-stripe-a: #ffffff;--c-week-stripe-b: #eaf1f8;--c-tl-divider-year: var(--c-text);--c-tl-divider-month: var(--c-text-secondary);--c-tl-divider-week: var(--c-text-faint);--c-tl-divider-day: var(--c-border);--c-tl-daylight-line: #d97706;--c-tl-daylight-fill: rgba(217, 119, 6, .15);--c-tl-daylight-grid: var(--c-text-faint);--c-tl-moon-full: #f5f5dc;--c-tl-moon-new: #1e293b;--c-tl-moon-quarter: #cbd5e1;--c-tl-moon-lit: #e8e4d4;--c-tl-moon-glow: rgba(245, 245, 220, .4);--c-tl-moon-sine: var(--c-text-faint);--c-tl-data-grid: var(--c-text-faint);--c-tl-period-label: #ffffff;--c-tl-period-lane-sep: var(--c-border);--c-erd-view: #6366f1;--c-erd-view-dark: #4f46e5;--c-erd-view-alpha: rgba(99, 102, 241, .12);--c-erd-file: #d97706;--c-erd-file-dark: #b45309;--c-erd-file-alpha: rgba(217, 119, 6, .12);--c-overlay: rgba(0, 0, 0, .5)}.arch-scope{--c-primary: #6366f1;--c-primary-dark: #4f46e5;--c-primary-light: #eef2ff;--c-primary-alpha: rgba(99, 102, 241, .15)}html{font-size:16px}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--c-text);background:var(--c-bg-subtle)}.app{height:100%;display:flex;flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-md);overflow:hidden}.app-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;flex-shrink:0}.app-header--env-dev{background-color:#e8f0fe}.app-header--env-test{background-color:#fff3e0}.app-header-text{display:flex;align-items:baseline;gap:var(--spacing-sm);flex:1}.app-header h1{font-size:var(--font-size-xl);font-weight:800;color:var(--c-text)}.app-header p{font-size:var(--font-size-base);color:var(--c-text-muted)}.app-header__version{font-size:var(--font-size-sm);color:var(--c-text-muted);opacity:.6}.app-logo{height:40px}.app-body{flex:1;display:flex;min-height:0;overflow:hidden}.app-body__inner{display:flex;flex:1;min-height:0;overflow:hidden}.app-sidebar-nav{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.app-sidebar-nav--collapsed{width:48px}.app-sidebar__toggle{display:flex;align-items:center;gap:var(--spacing-xs);height:32px;padding:0 var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-muted);font-size:var(--font-size-sm);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.app-sidebar__toggle:hover{color:var(--c-text);background:var(--c-bg-subtle)}.app-sidebar__toggle-icon{flex-shrink:0}.app-sidebar__toggle-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-nav--collapsed .app-sidebar__toggle{justify-content:center;padding:0}.app-body__divider{width:2px;flex-shrink:0;background:var(--c-border);cursor:col-resize;position:relative}.app-body__divider:before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.app-body__divider:hover,.app-body__divider--active{background:var(--c-primary)}.app-sidebar__links{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs);overflow-y:auto;flex:1}.app-sidebar__tree{border:none;border-radius:0;background:transparent;padding:0}.app-sidebar-nav--collapsed .app-sidebar__tree .tree-view__label,.app-sidebar-nav--collapsed .app-sidebar__tree .tree-view__chevron{display:none}.app-sidebar-nav--collapsed .app-sidebar__tree .tree-view__row{justify-content:center;padding-left:0;padding-right:0}.app-sidebar-nav--collapsed .app-sidebar__tree .tree-view__children{display:none}.app-sidebar__tree .tree-view__icon{filter:grayscale(1);opacity:.6}.app-header__mode-toggle{display:flex;gap:0;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.app-sidebar__arch-toolbar{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xs);border-bottom:1px solid var(--c-border-light);flex-shrink:0}.app-sidebar__arch-workspace{display:flex;align-items:center;gap:var(--spacing-xs)}.app-sidebar-nav--collapsed .app-sidebar__arch-toolbar{display:none}.app-content--backend{overflow:hidden}.app-content--backend .arch-page__detail{border:none;border-radius:0;padding:var(--spacing-md);flex:1;min-height:0}.app-content--backend .arch-page__loading,.app-content--backend .arch-page__error{flex:1}.app-content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.app-content__loading{padding:var(--spacing-lg);color:var(--c-text-muted)}.app-header__avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.app-header__avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.app-header__avatar:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.app-layout{flex:1;display:flex;gap:var(--spacing-md);min-height:0;overflow:hidden}.app-sidebar{flex:1 1 0;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow-y:auto}.app-main{flex:9 1 0;display:flex;flex-direction:column;min-height:0;min-width:0;gap:var(--spacing-md);overflow:hidden}.app-main__split{display:flex;gap:var(--spacing-md);flex:1;min-height:0}.app-main__form{flex:2 1 0;display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}.app-main__form .demo-section__title{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);font-weight:700;color:var(--c-text-secondary);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border);margin:0}.app-main__form .dynamic-form{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.app-main__grid{flex:7 1 0;display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;min-width:0}.app-main__grid .demo-section__title{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);font-weight:700;color:var(--c-text-secondary);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border);margin:0}.app-main__grid-with-facets{display:flex;flex:1;min-height:0}.app-main__grid-with-facets .data-grid,.app-main__grid .data-grid{flex:1;min-height:0}@media (max-width: 1400px){.app-main__split{flex-direction:column}.app-main__form,.app-main__grid{flex:none}.app-main__form{max-height:50vh}.app-main__grid{flex:1;min-height:400px}}.demo-section{flex:1;display:flex;flex-direction:column;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;overflow:hidden;min-height:0}.demo-section h2{padding:var(--spacing-md) 20px;font-size:var(--font-size-lg);font-weight:700;color:var(--c-text-secondary);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border)}.demo-section__title--hero{font-size:var(--font-size-hero);font-weight:800;letter-spacing:-.02em;margin-bottom:var(--spacing-sm)}.chart-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);flex-shrink:0}@media (max-width: 1200px){.chart-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 800px){.chart-row{grid-template-columns:1fr}}.text-primary{color:var(--c-primary)}.text-muted{color:var(--c-text-muted)}.text-faint{color:var(--c-text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--c-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:5px;border:2px solid var(--c-bg-subtle)}::-webkit-scrollbar-thumb:hover{background:var(--c-text-faint)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.test-controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:var(--spacing-sm)}@media (max-width: 1200px){.test-controls{grid-template-columns:1fr 1fr}}@media (max-width: 800px){.test-controls{grid-template-columns:1fr}}.props-panel{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.props-panel--compact{padding:var(--spacing-sm)}.props-panel__inline-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.props-panel__lang-select--small{width:auto;padding:var(--spacing-xs) var(--spacing-sm)}.props-panel__table{width:100%;font-size:var(--font-size-xs);border-collapse:collapse}.props-panel__table td{padding:var(--spacing-xs) var(--spacing-xs);color:var(--c-text-muted)}.props-panel__table td:nth-child(odd){white-space:nowrap}.props-panel__table input,.props-panel__table select{width:100%;padding:2px var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);background:var(--c-bg);color:var(--c-text)}.props-panel__table input[type=number]{width:60px}.props-panel__table-info{font-size:var(--font-size-xs);color:var(--c-text-faint)}.props-panel__table-row--readonly td{font-family:monospace;font-size:var(--font-size-2xs);color:var(--c-text-faint)}.props-panel__filter-types{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.props-panel__filter-type{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--c-text-muted)}.props-panel__filter-type select{padding:2px 4px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-2xs);background:var(--c-bg);color:var(--c-text)}.props-panel__title{font-size:var(--font-size-lg);font-weight:700;color:var(--c-text);margin-bottom:var(--spacing-md)}.props-panel__group{margin-bottom:var(--spacing-md)}.props-panel--compact .props-panel__group{margin-bottom:var(--spacing-xs)}.props-panel__group:last-child{margin-bottom:0}.props-panel__group h4{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.props-panel--compact .props-panel__group h4{font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.props-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}.props-panel__toggles{display:flex;flex-direction:column;gap:var(--spacing-xs)}.props-panel__toggles--2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs) var(--spacing-md)}.props-panel__lang-select{width:100%;padding:var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);background:var(--c-bg);color:var(--c-text);cursor:pointer}.props-panel__row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.props-panel__row--readonly{gap:var(--spacing-lg);color:var(--c-text-muted);font-size:var(--font-size-sm);font-family:monospace}.props-panel__checkbox{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-sm);color:var(--c-text-secondary)}.props-panel--compact .props-panel__checkbox{font-size:var(--font-size-xs)}.props-panel__checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--c-primary);cursor:pointer}.props-panel__input,.props-panel__select{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--c-text-secondary)}.props-panel__input input,.props-panel__select select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);background:var(--c-bg);color:var(--c-text)}.props-panel__input input[type=number]{width:80px}.props-panel__input input[type=text]{width:140px}.props-panel__info{font-size:var(--font-size-sm);color:var(--c-text-muted)}.event-log{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.event-log__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--c-bg-subtle);border-bottom:1px solid var(--c-border)}.event-log__header h3{font-size:var(--font-size-sm);font-weight:600;color:var(--c-text-secondary)}.event-log__header button{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-muted);cursor:pointer;transition:all var(--transition-fast)}.event-log__header button:hover{background:var(--c-bg-subtle);border-color:var(--c-text-faint)}.event-log__textarea{flex:1;width:100%;min-height:120px;padding:var(--spacing-sm) var(--spacing-md);border:none;resize:none;font-family:monospace;font-size:var(--font-size-xs);line-height:1.6;color:var(--c-text-secondary);background:var(--c-bg)}.event-log--compact .event-log__textarea{min-height:80px}.event-log--compact .event-log__header{padding:var(--spacing-xs) var(--spacing-sm)}.event-log--compact .event-log__header span{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted)}.event-log__textarea:focus{outline:2px solid var(--c-primary);outline-offset:-2px}.event-log__textarea::placeholder{color:var(--c-text-faint)}.sidebar-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar-section__group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-section__label{font-size:var(--font-size-xs);font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.sidebar-section__toggles{display:flex;flex-direction:column;gap:2px}.sidebar-section__checkbox{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-xs);color:var(--c-text-secondary);padding:2px 0}.sidebar-section__checkbox input[type=checkbox]{width:12px;height:12px;accent-color:var(--c-primary);cursor:pointer}.sidebar-section__field{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--c-text-secondary)}.sidebar-section__field input,.sidebar-section__field select{flex:1;max-width:100px;padding:2px var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);background:var(--c-bg);color:var(--c-text)}.sidebar-section__field input[type=number]{max-width:60px}.sidebar-section__select{padding:2px var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);background:var(--c-bg);color:var(--c-text)}.sidebar-section__info{display:flex;flex-direction:column;gap:2px;font-family:monospace;font-size:var(--font-size-2xs);color:var(--c-text-faint)}.sidebar-section__info--muted{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-muted);font-style:italic}.sidebar-section__filter-types{display:flex;flex-direction:column;gap:2px}.sidebar-section__filter-type{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--c-text-muted)}.sidebar-section__filter-type select{padding:2px 4px;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:var(--font-size-2xs);background:var(--c-bg);color:var(--c-text)}.sidebar-section__log-header{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-xs)}.sidebar-section__clear-btn{padding:2px var(--spacing-sm);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--c-text-muted);cursor:pointer;transition:all var(--transition-fast)}.sidebar-section__clear-btn:hover{background:var(--c-bg-subtle);border-color:var(--c-text-faint)}.sidebar-section__log{width:100%;min-height:100px;max-height:200px;padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);resize:none;font-family:monospace;font-size:var(--font-size-2xs);line-height:1.4;color:var(--c-text-secondary);background:var(--c-bg-subtle)}.sidebar-section__log:focus{outline:2px solid var(--c-primary);outline-offset:-2px}.sidebar-section__log::placeholder{color:var(--c-text-faint)}.sidebar-section__schema{width:100%;min-height:150px;max-height:300px;padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);resize:vertical;font-family:monospace;font-size:var(--font-size-2xs);line-height:1.4;color:var(--c-text-secondary);background:var(--c-bg-subtle)}.sidebar-section__schema:focus{outline:2px solid var(--c-primary);outline-offset:-2px}.sidebar-section__status{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);color:var(--c-text-muted);padding:var(--spacing-xs);background:var(--c-bg-subtle);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.sidebar-section__btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.sidebar-section__btn{padding:var(--spacing-xs);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);color:var(--c-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-2xs);cursor:pointer;transition:all var(--transition-fast)}.sidebar-section__btn:hover{background:var(--c-bg-subtle);border-color:var(--c-primary);color:var(--c-text)}.sidebar-section__query-result{background:var(--c-bg-subtle);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-family:monospace;font-size:var(--font-size-2xs);color:var(--c-text-secondary);margin-top:var(--spacing-sm);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.app-header :focus-visible,[class*=--dark] :focus-visible{outline-color:var(--c-primary-light)}button:focus-visible,[role=button]:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--c-primary-alpha)}.throbber-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;background:var(--c-success-light);padding:4px 12px;border:2px solid var(--c-success);border-radius:var(--radius-sm);max-width:90%;pointer-events:none;z-index:1;box-shadow:0 2px 6px #0000001f}.throbber-label__name{font-size:var(--font-size-base);font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.throbber-label__id{font-size:var(--font-size-xs);color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
