.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:#f1f5f9;color:#0f172a}.app-content{display:flex;flex:1;overflow:hidden}.app-header{--app-header-bg: #0f172a;--app-header-fg: #e2e8f0;--app-header-muted: #cbd5f5;--app-header-border: #1e293b;--app-header-input-bg: rgba(15, 23, 42, .6);--app-header-input-border: rgba(226, 232, 240, .3);--app-header-input-placeholder: rgba(248, 250, 252, .6);--app-header-button-bg: rgba(99, 102, 241, .15);--app-header-button-hover: rgba(129, 140, 248, .35);--app-header-focus: rgba(165, 180, 252, .4);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;padding:.5rem 1rem;background-color:var(--app-header-bg);color:var(--app-header-fg);border-bottom:1px solid var(--app-header-border);gap:1rem;position:relative;z-index:220}.app-header__main{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-header__right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-header__brand{display:flex;align-items:center;gap:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.app-header__brand img{height:18px;width:auto;border-radius:0;background:transparent;padding:0;box-shadow:none}.app-header__project,.app-header__client{display:flex;align-items:center;gap:.5rem;color:var(--app-header-muted);font-size:.8rem}.app-header__client-row{display:flex;align-items:center;gap:.4rem}.app-header__loading{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .6rem;border-radius:999px;background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);color:var(--app-header-muted);font-size:.72rem;white-space:nowrap}.app-header__spinner{width:12px;height:12px;border-radius:999px;border:2px solid rgba(148,163,184,.6);border-top-color:var(--app-header-fg);animation:appHeaderSpin .9s linear infinite}.app-header__env-badge{--env-dot-size: .42rem;position:relative;display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .9rem .1rem calc(.45rem + var(--env-dot-size));background:var(--app-header-input-bg);color:var(--app-header-fg);border:1px solid var(--app-header-input-border)}.app-header__env-badge:before{content:"";position:absolute;left:.45rem;top:50%;width:var(--env-dot-size);height:var(--env-dot-size);border-radius:999px;background:var(--env-badge-bg, #38bdf8);transform:translateY(-50%)}.app-header__env-badge:after{content:"";position:absolute;right:.45rem;top:50%;width:.28rem;height:.28rem;border-right:2px solid var(--app-header-muted);border-bottom:2px solid var(--app-header-muted);transform:translateY(-60%) rotate(45deg);pointer-events:none;opacity:.7}.app-header__env-badge:focus-within{box-shadow:0 0 0 2px var(--app-header-focus)}.app-header__env-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:inherit;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;padding:0}.app-header__model{display:flex;align-items:center;gap:.5rem;color:var(--app-header-muted);font-size:.8rem}.app-header__model-label{font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.app-header__model-value{color:var(--app-header-fg);font-weight:600;font-size:.9rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__model-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap}.app-header__model-button{background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);color:var(--app-header-fg);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.app-header__model-button--ghost{background:transparent}.app-header__project input{background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);border-radius:4px;padding:.25rem .45rem;color:var(--app-header-fg);min-width:170px;font-size:.9rem}.app-header__client select,.app-header__model select{background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);border-radius:4px;padding:.25rem .45rem;color:var(--app-header-fg);min-width:170px;font-size:.85rem}.app-header__project input::placeholder{color:var(--app-header-input-placeholder)}.app-header__project input:focus{outline:none;border-color:var(--app-header-focus);box-shadow:0 0 0 1px var(--app-header-focus)}.app-header__client select:focus{outline:none;border-color:var(--app-header-focus);box-shadow:0 0 0 1px var(--app-header-focus)}.app-header__model select:focus{outline:none;border-color:var(--app-header-focus);box-shadow:0 0 0 1px var(--app-header-focus)}.app-header__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.app-header .icon-button{width:32px;height:32px;font-size:1rem}.app-header__account{position:relative}.app-header__account-button{display:inline-flex;align-items:center;gap:.35rem;background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;color:var(--app-header-muted);max-width:220px;cursor:pointer}.app-header__account-button.is-open,.app-header__account-button:hover{border-color:var(--app-header-focus);box-shadow:0 0 0 1px var(--app-header-focus)}.app-header__account-button:focus-visible{outline:none;border-color:var(--app-header-focus);box-shadow:0 0 0 1px var(--app-header-focus)}.app-header__account-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__account-menu{right:0;left:auto;min-width:220px;z-index:260}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 .35rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.02em}.app-menu-bar{display:flex;align-items:center;gap:.75rem;padding:.25rem 1rem;background:var(--app-menu-bg, var(--app-header-bg));color:var(--app-menu-fg, var(--app-header-fg));border-bottom:1px solid var(--app-menu-border, var(--app-header-border));border-top:1px solid var(--app-menu-border, var(--app-header-border));position:relative;z-index:200}.menu-bar__items{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.menu-bar__spacer{flex:1}.menu-bar__item{position:relative;overflow:visible}.menu-bar__submenu{position:relative}.menu-bar__submenu-label{display:block}.menu-bar__submenu-list{position:absolute;top:0;left:calc(100% + .35rem);display:none;min-width:200px}.menu-bar__submenu:hover>.menu-bar__submenu-list,.menu-bar__submenu:focus-within>.menu-bar__submenu-list{display:flex}.menu-bar__submenu--disabled .export-menu__item--submenu{pointer-events:none}.menu-bar__submenu--disabled:hover>.menu-bar__submenu-list,.menu-bar__submenu--disabled:focus-within>.menu-bar__submenu-list{display:none}.export-menu__item--submenu{display:flex;align-items:center;justify-content:space-between;width:100%}.menu-bar__trigger{background:none;border:none;color:var(--app-menu-fg, var(--app-header-fg));font-size:.8rem;padding:.2rem .55rem;border-radius:4px;cursor:pointer}.menu-bar__trigger:hover,.menu-bar__trigger.is-active{background:var(--app-header-button-bg)}.menu-bar__list{left:0;right:auto}.menu-bar__list--right{left:auto;right:0}.menu-bar__list--disabled{pointer-events:none;opacity:.6}.menu-bar__control{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;color:var(--app-menu-fg, var(--app-header-fg))}.menu-bar__control span{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--app-header-muted)}.menu-bar__control .language-toggle{padding:.15rem .45rem}.menu-bar__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 .35rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.55rem;font-weight:700;margin-left:auto}.language-toggle{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.language-toggle__label{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0cc}.language-toggle--dark{background:#0f172a99;border:1px solid rgba(226,232,240,.3);color:#e2e8f0}.app-header .language-toggle--dark{background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);color:var(--app-header-fg)}.app-header .language-toggle__label{color:var(--app-header-muted)}.language-toggle select{border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.language-toggle select:focus{outline:none}.app-header__quick-tag{display:inline-flex;align-items:center;gap:.35rem;background:var(--app-header-input-bg);border:1px solid var(--app-header-input-border);border-radius:999px;padding:.2rem .4rem}.app-header__quick-tag input{border:none;background:transparent;color:var(--app-header-fg);min-width:130px;font-size:.85rem}.app-header__quick-tag input::placeholder{color:var(--app-header-input-placeholder)}.app-header__quick-tag input:focus{outline:none}.app-header__autosave-meta{font-size:.8rem;color:var(--app-header-muted);margin-left:.5rem;white-space:nowrap}.app-header__autosave-lock{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#fbbf24;margin-left:.5rem;white-space:nowrap}.app-header__autosave-lock i{font-size:.9rem}.icon-button{border:none;background:#6366f126;color:#e2e8f0;border-radius:50%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:background .2s ease}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button:not(:disabled):hover{background:#818cf859}.icon-button.is-namespace-active{background:#dc2626;color:#fff}.icon-button.is-namespace-active:not(:disabled):hover{background:#b91c1c}.app-header .icon-button{background:var(--app-header-button-bg);color:var(--app-header-fg)}.app-header .icon-button:not(:disabled):hover{background:var(--app-header-button-hover)}.app-header .icon-button.is-namespace-active{background:#dc2626;color:#fff}.app-header .icon-button.is-namespace-active:not(:disabled):hover{background:#b91c1c}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-banner{display:flex;justify-content:space-between;align-items:center;margin:0;padding:.65rem 1rem;font-size:.9rem;border-bottom:1px solid #cbd5f5}.app-banner__links{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:1rem}.app-banner__links a{color:inherit;text-decoration:underline}.app-banner__action{margin-left:1rem;background:#0f172a;color:#fff;border:0;border-radius:999px;padding:.2rem .75rem;font-size:.75rem;cursor:pointer}.app-banner__action:hover{background:#1e293b}.app-banner button{border:none;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer}.app-banner--success{background:#ecfdf5;color:#065f46}.app-banner--error{background:#fef2f2;color:#b91c1c}.app-banner--warning{background:#fffbeb;color:#92400e}.export-menu{position:relative}.export-menu__list{position:absolute;right:0;top:calc(100% + .35rem);background:#1e293b;border:1px solid rgba(226,232,240,.2);border-radius:6px;min-width:180px;box-shadow:0 10px 25px #0f172a4d;z-index:120;display:flex;flex-direction:column;padding:.25rem 0;overflow:visible}.app-menu-bar .export-menu__list{left:0;right:auto;top:calc(100% + .25rem)}.app-menu-bar .menu-bar__submenu-list{left:calc(100% + .35rem);right:auto;top:0}.app-menu-bar .menu-bar__submenu .menu-bar__submenu-list{display:none}.app-menu-bar .menu-bar__submenu:hover>.menu-bar__submenu-list,.app-menu-bar .menu-bar__submenu:focus-within>.menu-bar__submenu-list{display:flex}.app-menu-bar .menu-bar__list--right{left:auto;right:0}.export-menu__item{background:none;border:none;color:#e2e8f0;text-align:left;padding:.5rem .85rem;cursor:pointer;font-size:.9rem}.export-menu__item--link{display:block;text-decoration:none}.export-menu__item--action{font-weight:600;border-bottom:1px solid rgba(226,232,240,.2)}.export-menu__item:hover{background:#6366f140}.export-menu__item:disabled{opacity:.5;cursor:not-allowed}.export-menu__item:disabled:hover{background:transparent}.export-menu__list--links{min-width:200px}.export-menu__meta{padding:.35rem .85rem;font-size:.75rem;color:#a5b4fc;border-bottom:1px solid rgba(226,232,240,.2)}.editor-panel{flex:0 0 auto;width:min(35vw,420px);border-right:1px solid #cbd5f5;background-color:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;height:100%}.editor-panel--light{background:#f8fafc;color:#0f172a}.editor-panel.is-collapsed{width:0!important;min-width:0;border-right:none}.editor-panel.is-collapsed .dsl-editor{display:none}.side-panel-container{display:flex;flex:0 0 auto;height:100%;background:#e2e8f0;border-right:1px solid #cbd5f5}.side-tabs{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem .4rem;background:#e2e8f0;border-right:1px solid #cbd5f5;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box}.side-tab-button{writing-mode:vertical-rl;transform:rotate(180deg);border:1px solid transparent;border-radius:999px;background:#0f172a14;color:#0f172a;padding:.4rem .35rem;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;min-height:120px}.side-tab-button span{display:inline-block}.side-tab-button:hover{background:#6366f133;border-color:#6366f166}.side-tab-button.is-active{background:#0f172a;color:#f8fafc;border-color:#0f172a;box-shadow:0 0 0 1px #0f172a33}.canvas-panel{flex:1;min-width:0;background-color:#e2e8f0}.canvas-panel__inner{display:flex;height:100%;position:relative}.canvas-filter{width:100%;background:#f8fafc;border-right:none;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;height:100%}.tags-panel{flex:1;height:100%;overflow:hidden;background:#f8fafc;display:flex;flex-direction:column;min-height:0}.tags-panel__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.tags-panel__section{display:flex;flex-direction:column;gap:1rem}.tags-panel__section--workflow{padding:0 1.25rem}.designer-panel__toolbar{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.25rem 0;font-size:.85rem;color:#0f172a}.designer-panel__toolbar-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.designer-panel__button{border:1px solid #0f172a;background:#0f172a;color:#fff;border-radius:999px;padding:.2rem .85rem;font-size:.75rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.designer-panel__button[aria-pressed=true]{background:#475569;border-color:#475569}.designer-panel__status{font-size:.75rem;color:#475569}.tags-panel__toolbar{display:flex;justify-content:flex-end;padding:.5rem 1.25rem 0;gap:.35rem}.tags-panel__toolbar-button{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(99,102,241,.4);background:#6366f11a;color:#312e81;border-radius:999px;padding:.2rem .75rem;font-size:.8rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tags-panel__toolbar-button:hover{background:#6366f12e;border-color:#4f46e599}.tags-panel__toolbar-button i{font-size:1rem}.tags-panel .canvas-filter{height:auto;overflow:visible}.block-template-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.9rem;box-shadow:0 8px 16px #0f172a0d;display:flex;flex-direction:column;gap:.65rem}.block-template-panel h4{margin:0;font-size:1rem;color:#0f172a}.block-template-panel__hint{margin:0;font-size:.85rem;color:#475569}.block-template-panel input[type=text],.block-template-panel textarea{border:1px solid #cbd5f5;border-radius:6px;padding:.4rem .55rem;font-size:.9rem;font-family:inherit}.block-template-panel textarea{resize:vertical}.block-template-panel__feedback{margin:0;font-size:.8rem;color:#047857}.block-template-panel__actions{display:flex;gap:.5rem;flex-wrap:wrap}.block-template-panel__actions button{border:1px solid #312e81;background:#312e81;color:#fff;border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-weight:600}.block-template-panel__actions button:hover{background:#4338ca;border-color:#4338ca}.block-template-panel__actions button:nth-child(2){background:transparent;color:#312e81;border-color:#312e8180}.block-template-panel__actions button:nth-child(2):hover{background:#312e8114}.block-template-panel__reset{margin-left:auto;background:transparent!important;color:#b45309!important;border-color:#b4530966!important}.block-template-panel__reset:hover{background:#fbbf241f!important}.block-template-panel__empty{margin:0;font-size:.9rem;color:#64748b}.block-template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.block-template-card{border:1px solid #e2e8f0;border-radius:8px;padding:.6rem .7rem;background:#f8fafc}.block-template-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.block-template-card__label{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:#0f172a}.block-template-card__swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(15,23,42,.15);display:inline-block}.block-template-card__actions button{border:1px solid transparent;background:transparent;color:#312e81;border-radius:4px;padding:.2rem .45rem;cursor:pointer;font-size:.8rem}.block-template-card__actions button:hover{background:#312e8114}.block-template-card__actions button:last-child{color:#b91c1c}.block-template-card__groups{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.3rem}.block-template-card__groups span{border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .55rem;font-size:.8rem;background:#fff;color:#0f172a}.block-template-card__empty{margin:.35rem 0 0;font-size:.85rem;color:#94a3b8}.workflow-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem;background:#f8fafc;height:100%;overflow-y:auto}.workflow-panel__section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.9rem;box-shadow:0 6px 16px #0f172a0a}.workflow-panel__section h3,.workflow-panel__section h4{margin:0 0 .6rem;font-size:1rem;color:#0f172a}.workflow-panel__grid{display:flex;flex-direction:column;gap:.65rem}.workflow-panel__grid--compact{flex-direction:row;flex-wrap:wrap;gap:.5rem}.workflow-panel__hint{margin:.6rem 0 0;font-size:.85rem;color:#475569}.workflow-panel__button{border:1px solid #e2e8f0;border-radius:12px;padding:.65rem .75rem;display:flex;gap:.7rem;align-items:flex-start;background:#fff;text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.workflow-panel__button.is-active{border-color:#4c1d9580;box-shadow:0 8px 18px #0f172a14}.workflow-panel__button i{font-size:1rem;color:#4c1d95;margin-top:.1rem}.workflow-panel__button span{font-weight:600;color:#111827;display:block}.workflow-panel__button p{margin:.15rem 0 0;font-size:.82rem;color:#475569}.workflow-panel__pill{border:1px solid #cbd5f5;border-radius:999px;padding:.35rem .8rem;display:inline-flex;align-items:center;gap:.4rem;background:#fff;cursor:pointer;font-size:.85rem;color:#0f172a;transition:border-color .2s ease,background .2s ease}.workflow-panel__pill:disabled{opacity:.5;cursor:not-allowed}.workflow-panel__pill:not(:disabled):hover{border-color:#4c1d95;background:#4c1d9514}.template-panel{display:flex;flex-direction:column;height:100%;padding:1rem 1.25rem;gap:1rem;overflow-y:auto;background:#f8fafc}.canvas-modal--wide .template-panel{flex:1;height:100%;min-height:0;overflow:visible}.canvas-modal--wide .template-panel__form,.canvas-modal--wide .template-panel__library{overflow:visible;min-height:auto}.canvas-modal--wide .template-panel__form,.canvas-modal--wide .template-panel__library{flex:0 0 auto}.template-panel__intro{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.template-panel__intro h3{margin:0 0 .25rem;font-size:1.1rem;color:#0f172a}.template-panel__refresh{border:1px solid #cbd5f5;border-radius:6px;background:#fff;color:#0f172a;padding:.35rem .75rem;font-size:.85rem;cursor:pointer}.template-panel__refresh:disabled{cursor:not-allowed;opacity:.6}.template-panel__intro p{margin:0;color:#475569;font-size:.9rem}.lookup-modal__body{padding:0}.lookup-modal__grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,1.1fr);gap:1rem;padding:1rem 1.25rem 1.5rem;background:#f8fafc}.lookup-modal__panel{display:flex;flex-direction:column;gap:.75rem;background:#fff;border:1px solid #d4d4f5;border-radius:10px;padding:.9rem;min-height:0;box-shadow:0 8px 18px #0f172a0d}.lookup-modal__panel button{min-height:32px;padding:.34rem .7rem;border-radius:8px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#3b82f6,#2f69e2);color:#fff;font-weight:600;font-size:.84rem;line-height:1;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.lookup-modal__panel button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #2563eb40}.lookup-modal__panel button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.lookup-modal__panel--scan{grid-column:1 / -1}.lookup-modal__panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.lookup-modal__panel-actions{display:flex;gap:.4rem;flex-wrap:wrap}.lookup-modal__panel-actions button{min-height:30px;padding:.28rem .62rem;font-size:.8rem;border-radius:999px}.lookup-modal__panel-actions select{min-height:36px;padding:.45rem .6rem;border-radius:10px;border:1px solid #cbd5f5;background:#fff;color:#0f172a;font-size:.86rem}.lookup-modal__inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;align-items:end}.lookup-modal__inline--add{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto}.lookup-modal__list,.lookup-modal__scan-list{border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .6rem;max-height:220px;overflow-y:auto;background:#f8fafc}.lookup-modal__scan-list{background:#fff;max-height:min(54vh,640px)}.lookup-modal__scan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem .75rem;align-items:end;margin:.4rem 0 .8rem}.lookup-generator__panel{border-color:#dbeafe}.lookup-generator__scan-grid{display:grid;gap:.75rem}.lookup-generator__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;align-items:end}.lookup-generator__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;align-items:end}.lookup-generator__field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#0f172a}.lookup-generator__field input,.lookup-generator__field select,.lookup-generator__row input,.lookup-generator__row select,.lookup-generator__row button{min-height:36px;padding:.45rem .6rem;border-radius:10px;border:1px solid #cbd5f5;background:#fff;color:#0f172a;font-size:.9rem;box-shadow:0 1px 2px #0f172a0f;transition:border-color .15s ease,box-shadow .15s ease;line-height:1.2;height:38px;box-sizing:border-box}.lookup-generator__row input,.lookup-generator__row select,.lookup-generator__row button{width:100%}.lookup-generator__field input:focus,.lookup-generator__field select:focus,.lookup-generator__row input:focus,.lookup-generator__row select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.lookup-generator__row button,.lookup-generator__actions button{background:#2563eb;color:#fff;border:none;cursor:pointer;padding:.42rem .78rem;border-radius:10px;font-weight:600;width:auto;min-width:120px}.lookup-generator__row button:disabled,.lookup-generator__actions button:disabled{opacity:.55;cursor:not-allowed}.lookup-generator__field--toggle input[type=checkbox]{width:16px;height:16px}.lookup-generator__field--toggle{flex-direction:row;align-items:center;gap:.5rem}.lookup-generator__actions{display:flex;gap:.6rem;justify-content:flex-start;flex-wrap:wrap}.lookup-generator__actions button{min-height:31px;padding:.3rem .72rem;font-size:.82rem;border-radius:9px}.lookup-generator__actions button,.lookup-modal__panel-actions button,.lookup-modal__group-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.lookup-generator__filter-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center}.lookup-generator__filter-expand{min-width:38px!important;width:38px!important;height:38px!important;padding:0!important;border-radius:10px!important;background:#eef4ff!important;color:#1d4ed8!important;border:1px solid #cbd5f5!important}.lookup-generator__filter-expand i{font-size:.9rem}.lookup-generator__btn-spinner{width:.82rem;height:.82rem;border-radius:999px;border:2px solid rgba(30,58,138,.22);border-top-color:#1e3a8a;animation:lookup-generator-spin .75s linear infinite;flex:0 0 auto}@keyframes lookup-generator-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lookup-generator__spec-shell{display:grid;gap:.72rem;margin-bottom:1.15rem;padding:.84rem;border:1px solid #dbeafe;border-radius:12px;background:#f8fafc}.lookup-generator__subhead{margin:.25rem 0 .55rem}.lookup-generator__subhead--toggle{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.lookup-generator__subhead h5{margin:0;font-size:.98rem;font-weight:700;color:#0f172a;letter-spacing:.01em}.lookup-generator__subhead p{margin:.22rem 0 0;font-size:.82rem;color:#64748b}.lookup-generator__subhead-toggle{border:1px solid #cbd5f5;background:#f8fafc;color:#1e3a8a;border-radius:999px;padding:.2rem .65rem;font-size:.76rem;font-weight:600;cursor:pointer}.lookup-generator__subhead-toggle:hover{background:#eaf0ff}.lookup-generator__section-hint{margin:-.2rem 0 .65rem;font-size:.84rem;color:#64748b}.lookup-generator__row--spec{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end}.lookup-generator__actions--compact{justify-content:flex-end;align-items:end}.lookup-generator__actions--compact button{min-width:108px}.lookup-generator__actions--stack{display:grid;grid-template-columns:repeat(3,minmax(96px,auto));gap:.44rem}.lookup-generator__actions--stack button{width:100%}.lookup-generator__diagram-actions{gap:.5rem}.lookup-generator__source-toolbar{display:flex;align-items:center;gap:.75rem;margin:.15rem 0 .45rem;flex-wrap:wrap}.lookup-generator__source-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-height:412px;overflow:auto;padding-right:.35rem;align-content:start}.lookup-generator__source-group{display:flex;flex-direction:column;border:1px solid #dbe4f7;background:#f8fbff;border-radius:11px;min-width:0;overflow:hidden}.lookup-generator__source-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .62rem;border-bottom:1px solid #e2e8f0;background:#eef4ff}.lookup-generator__source-group-title{font-size:.86rem;font-weight:700;color:#1e293b;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-generator__source-group-meta{font-size:.75rem;color:#475569;background:#dbeafe;border-radius:999px;padding:.06rem .44rem;font-weight:600}.lookup-generator__source-group-toolbar{display:flex;flex-wrap:wrap;gap:.34rem;padding:.42rem .6rem;border-bottom:1px solid #e2e8f0}.lookup-generator__tiny-btn{border-radius:999px;border:1px solid #c8d9f8;background:#fff;color:#1d4ed8;font-size:.72rem;font-weight:600;padding:.2rem .45rem;min-height:24px;line-height:1}.lookup-generator__tiny-btn:disabled{color:#94a3b8;border-color:#e2e8f0;background:#f8fafc}.lookup-generator__source-group-columns{display:flex;flex-direction:column;gap:.28rem;padding:.45rem .55rem .55rem;max-height:214px;overflow:auto}.lookup-generator__source-column-row{display:grid;grid-template-columns:minmax(110px,1fr);gap:.36rem;padding:.3rem .35rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.lookup-generator__source-column-name{display:block;min-width:0;font-size:.8rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-generator__source-column-controls{display:flex;flex-direction:column;align-items:stretch;gap:.34rem}.lookup-generator__columns-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.35rem}.lookup-generator__column-item{border:1px solid #dbe4f7;border-radius:10px;background:#fff;padding:.45rem .55rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lookup-generator__column-main{min-width:0;display:flex;flex-direction:column;gap:.15rem}.lookup-generator__column-meta{font-size:.72rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-generator__rack-board{margin-top:.85rem;display:flex;flex-direction:column;gap:.6rem}.lookup-generator__rack{border:1px solid #dbe4f7;border-radius:11px;background:#f8fbff;overflow:hidden}.lookup-generator__rack-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-bottom:1px solid #e2e8f0;background:#eef4ff}.lookup-generator__rack-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.55rem}.lookup-generator__rack-lane{border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:.45rem;min-height:64px}.lookup-generator__rack-lane-title{margin:0 0 .35rem;font-size:.76rem;font-weight:700;color:#334155}.lookup-generator__rack-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.lookup-generator__rack-chip{border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-size:.74rem;font-weight:600;padding:.22rem .5rem}.lookup-generator__rack-excluded{border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc;padding:.5rem .6rem}.lookup-generator__rack-excluded-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.lookup-generator__rack-chip--excluded{border-style:dashed;background:#fff;color:#334155}.lookup-generator__preview-controls{margin-bottom:.55rem}.lookup-generator__auto-seeded-link{justify-self:start;border:1px solid #cbd5f5;background:#f8fafc;color:#334155;border-radius:999px;font-size:.86rem;padding:.28rem .62rem;cursor:pointer}.lookup-generator__auto-seeded-list{display:flex;flex-direction:column;gap:.35rem;max-height:min(48vh,420px);overflow:auto;border:1px solid #e2e8f0;border-radius:10px;padding:.45rem;background:#fff}.lookup-generator__auto-seeded-item{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto auto;align-items:center;gap:.45rem;padding:.2rem .1rem}.lookup-generator__auto-seeded-row{display:flex;flex-direction:column;gap:.35rem}.lookup-generator__auto-seeded-group{display:flex;flex-direction:column;gap:.25rem}.lookup-generator__auto-seeded-group-title{font-size:.82rem;font-weight:700;color:#334155;padding:.2rem .1rem}.lookup-generator__auto-seeded-name{font-weight:600;color:#1e293b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookup-generator__auto-seeded-source{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookup-generator__auto-seeded-actions{display:inline-flex;align-items:center;gap:.35rem}.lookup-generator__auto-seeded-actions .lookup-modal__icon-button{min-height:28px;min-width:28px;width:28px;height:28px;padding:0;border-radius:8px;border:1px solid #cbd5f5;background:#f8fafc;color:#1e3a8a;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transform:none}.lookup-generator__auto-seeded-actions .lookup-modal__icon-button:hover:not(:disabled){background:#eaf0ff;border-color:#a5b4fc}.lookup-generator__auto-seeded-item .lookup-modal__scan-meta:last-child{justify-self:end;min-width:74px;text-align:right}.lookup-generator__auto-seeded-columns{margin-left:1.7rem;display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem .2rem .15rem;border-top:1px dashed #e2e8f0}.lookup-generator__auto-seeded-chip{display:inline-flex;align-items:center;border:1px solid #dbeafe;border-radius:999px;background:#f8fafc;color:#334155;font-size:.76rem;padding:.12rem .45rem}.lookup-generator__mode-group{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}.lookup-generator__mode-toggle{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #dbeafe;border-radius:999px;background:#f8fafc;padding:.16rem .5rem;font-size:.76rem;color:#334155}.lookup-generator__mode-toggle input[type=checkbox]{width:14px;height:14px}.lookup-generator__mode-wide{display:inline-flex;align-items:center;gap:.42rem}.lookup-generator__long-rename,.lookup-generator__wide-rename{min-height:30px;height:30px;min-width:150px;max-width:220px;padding:.28rem .5rem;border-radius:8px;border:1px solid #cbd5f5;font-size:.78rem;box-shadow:none}.lookup-generator__order-input{width:64px;min-height:30px;height:30px;padding:.2rem .4rem;border-radius:8px;border:1px solid #cbd5f5;font-size:.78rem;box-shadow:none}.lookup-generator__wide-cart{display:flex;flex-direction:column;gap:.65rem;max-height:360px;overflow:auto;padding-right:.25rem}.lookup-generator__wide-lane{border:1px solid #dbe4f7;background:#f8fbff;border-radius:11px;overflow:hidden}.lookup-generator__wide-lane-header{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-bottom:1px solid #e2e8f0;background:#eef4ff}.lookup-generator__wide-lane-handle{color:#64748b;cursor:move;-webkit-user-select:none;user-select:none}.lookup-generator__wide-lane-name{flex:1;min-width:220px;height:30px;padding:.3rem .55rem;border:1px solid #cbd5f5;border-radius:8px}.lookup-generator__group-actions{display:inline-flex;align-items:center;gap:.3rem}.lookup-generator__wide-lane-body{display:flex;flex-direction:column;gap:.45rem;padding:.5rem}.lookup-generator__wide-lane-table{border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.lookup-generator__wide-lane-table-title{font-size:.76rem;font-weight:700;color:#334155;padding:.35rem .5rem;border-bottom:1px solid #eef2ff;background:#f8fafc}.lookup-generator__wide-lane-table-rows{display:flex;flex-direction:column;gap:.3rem;padding:.4rem}.lookup-generator__wide-lane-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.lookup-generator__wide-lane-row .lookup-generator__mode-toggle{min-width:0}@media(max-width:1080px){.lookup-generator__columns-list,.lookup-generator__rack-lanes,.lookup-generator__row--spec{grid-template-columns:1fr}.lookup-generator__actions--compact{justify-content:flex-start}.lookup-generator__actions--stack{grid-template-columns:repeat(2,minmax(96px,auto))}.lookup-generator__mode-group{width:100%;justify-content:flex-start;flex-wrap:wrap}.lookup-generator__long-rename,.lookup-generator__wide-rename{min-width:150px;max-width:100%}.lookup-generator__order-input{width:72px}}@media(max-width:1400px){.lookup-generator__source-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.lookup-generator__source-groups{grid-template-columns:1fr}}.lookup-generator__chips{flex-direction:row;flex-wrap:wrap}.lookup-generator__mismatch{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:.5rem .75rem;font-size:.85rem;color:#92400e}.lookup-generator__badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:#f59e0b;color:#fff7ed;font-weight:600}.lookup-generator__badge--used{align-self:end;background:#0ea5e9;color:#e0f2fe}.lookup-generator__badge--merged{background:#f59e0b;color:#fff7ed;font-size:.72rem;line-height:1.1}.lookup-generator__mismatch-list{color:#92400e;flex:1;min-width:200px}.lookup-generator__mismatch button{background:#f59e0b;color:#fff7ed;border:none;padding:.35rem .6rem;border-radius:8px;font-weight:600;cursor:pointer}.lookup-generator__main{padding:1.5rem 2rem 2.5rem;max-width:1480px;margin:0 auto}.lookup-generator__loading{padding:2rem}.lookup-generator__workspace-grid{max-width:520px}.lookup-generator__body-offset,.lookup-generator__panel-spaced{margin-top:1.5rem}.lookup-generator__scan-table-toolbar{margin-bottom:.35rem}.lookup-generator__scan-table-count{margin-left:auto;white-space:nowrap}.lookup-generator__diagram-toolbar{margin-top:1rem}.lookup-generator__validation-list{margin:0;padding-left:1.15rem}.lookup-generator__file-input{display:none}.lookup-generator__modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:40}.lookup-generator__modal{width:min(1100px,92vw);max-height:90vh;background:#fff;border-radius:16px;border:1px solid #dbeafe;box-shadow:0 24px 60px #0f172a40;display:flex;flex-direction:column;overflow:hidden}.lookup-generator__modal--preview{width:min(1200px,94vw);max-height:86vh}.lookup-generator__modal--diagram{width:min(1280px,96vw);max-height:90vh}.lookup-generator__modal--filter{width:min(860px,96vw);max-height:86vh}.lookup-generator__modal--designer{width:min(1340px,97vw)}.lookup-generator__modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.lookup-generator__modal-header button{border:none;background:#e2e8f0;color:#0f172a;border-radius:10px;padding:.3rem .6rem;cursor:pointer}.lookup-generator__modal-body{padding:1rem 1.25rem 1.5rem;overflow:auto}.lookup-generator__modal-grid{padding:0}.lookup-modal__scan-tables{display:flex;flex-direction:column;gap:.6rem;max-height:min(52vh,580px);overflow-y:auto;padding-right:.25rem}.lookup-modal__scan-table{border:1px solid #e2e8f0;border-radius:10px;padding:.6rem;background:#f8fafc}.lookup-modal__scan-table-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.lookup-modal__scan-table-label{display:inline-flex;align-items:center;gap:.45rem;min-width:0;color:#0f172a;font-weight:600}.lookup-modal__scan-table-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-modal__scan-table-icons{display:inline-flex;align-items:center;gap:.35rem}.lookup-modal__scan-table .lookup-modal__icon-button{min-height:28px;min-width:28px;width:28px;height:28px;padding:0;border-radius:8px;border:1px solid #cbd5f5;background:#f8fafc;color:#1e3a8a;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transform:none}.lookup-modal__scan-table .lookup-modal__icon-button:hover:not(:disabled){background:#eaf0ff;border-color:#a5b4fc;box-shadow:none;transform:none}.lookup-modal__scan-table .lookup-modal__icon-button:disabled{opacity:.45;background:#f1f5f9}.lookup-modal__panel-actions .lookup-modal__icon-button{min-height:30px;min-width:30px;width:30px;height:30px;padding:0;border-radius:8px;border:1px solid #cbd5f5;background:#f8fafc;color:#1e3a8a;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transform:none}.lookup-modal__panel-actions .lookup-modal__icon-button:hover:not(:disabled){background:#eaf0ff;border-color:#a5b4fc}.lookup-modal__scan-columns{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.lookup-modal__scan-columns .lookup-modal__panel-actions button{min-height:28px;padding:.2rem .55rem;font-size:.76rem}.lookup-modal__scan-columns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem .6rem}.lookup-modal__scan-columns-grid label{display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;color:#334155}.lookup-modal__scan-meta{font-size:.75rem;color:#64748b}.lookup-modal__scan-meta--inline{margin:0;align-self:end}.lookup-modal__similar-review{border-top:1px dashed #cbd5e1;padding-top:.45rem;display:flex;flex-direction:column;gap:.4rem}.lookup-modal__similar-review-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lookup-preview__table-wrap{width:100%;max-height:58vh;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.lookup-preview__table{width:100%;border-collapse:collapse;font-size:.86rem}.lookup-preview__table th,.lookup-preview__table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #f1f5f9;padding:.4rem .5rem;text-align:left;vertical-align:top;white-space:nowrap}.lookup-preview__table th:last-child,.lookup-preview__table td:last-child{border-right:none}.lookup-preview__table thead th{position:sticky;top:0;background:#f8fafc;z-index:1;color:#334155}.lookup-modal__scan-meta--sources{padding:.1rem .45rem;border-radius:999px;border:1px solid #cbd5f5;background:#eef2ff;color:#312e81}.lookup-modal__group-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.lookup-modal__group{border:1px solid #e2e8f0;border-radius:12px;padding:.6rem;background:#fff}.lookup-modal__group-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.lookup-modal__group-header input{flex:1;padding:.35rem .5rem;border-radius:8px;border:1px solid #cbd5f5}.lookup-modal__group-actions{display:flex;gap:.4rem}.lookup-modal__confidence-summary{display:flex;flex-wrap:wrap;gap:.4rem;min-height:34px;align-items:center}.lookup-modal__confidence{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.76rem;line-height:1.1;font-weight:700;border:1px solid transparent;white-space:nowrap}.lookup-modal__confidence--high{background:#dcfce7;border-color:#86efac;color:#166534}.lookup-modal__confidence--medium{background:#fef9c3;border-color:#fde68a;color:#92400e}.lookup-modal__confidence--low{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.lookup-modal__group-items{display:flex;flex-direction:column;gap:.4rem}.lookup-modal__alias-group{border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;padding:.45rem;margin-bottom:.45rem}.lookup-modal__alias-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.lookup-modal__alias-group-body{margin-top:.4rem;display:flex;flex-direction:column;gap:.35rem}.lookup-modal__alias-groups{display:block}.lookup-modal__alias-groups--columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:.55rem}.lookup-modal__alias-groups--columns .lookup-modal__alias-group{margin-bottom:0;overflow:hidden}.lookup-modal__row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.9rem;color:#0f172a}.lookup-modal__row--entry{display:grid;grid-template-columns:24px minmax(180px,1fr) minmax(180px,1fr) minmax(110px,auto);gap:.55rem;align-items:center;padding:.35rem .2rem;border-bottom:1px dashed #e2e8f0;cursor:pointer}.lookup-modal__row--entry:hover{background:#f8fafc}.lookup-modal__row--entry:last-child{border-bottom:none}.lookup-modal__row--entry-selected{background:#e0f2fe;box-shadow:inset 0 0 0 1px #7dd3fc;border-radius:8px}.lookup-modal__row--entry-head{position:sticky;top:0;background:#f1f5f9;font-weight:700;z-index:1;cursor:default;border-bottom:1px solid #e2e8f0}.lookup-modal__entry-meta{display:inline-flex;justify-content:flex-end}.lookup-modal__entry-bulkbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;gap:.5rem;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.45rem .6rem}.lookup-modal__entry-bulkcount{font-size:.84rem;color:#1d4ed8;font-weight:700}.lookup-modal__entry-bulkbar input{min-height:34px;border:1px solid #cbd5f5;border-radius:8px;padding:.35rem .5rem}.lookup-modal__value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.lookup-modal__arrow{color:#94a3b8}.lookup-modal__scan-row{display:grid;grid-template-columns:26px minmax(360px,1.35fr) minmax(120px,.5fr) 90px minmax(220px,.95fr) 38px;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:1px dashed #e2e8f0;font-size:.9rem}.lookup-modal__scan-row--head{position:sticky;top:0;z-index:1;background:#f8fafc;border-bottom:1px solid #e2e8f0}.lookup-modal__sort{border:none;background:transparent;color:#334155;font-size:.8rem;font-weight:700;text-align:left;cursor:pointer;padding:0}.lookup-modal__sort-cell{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.lookup-modal__sort--numeric{text-align:right}.lookup-modal__scan-row--group{grid-template-columns:26px minmax(260px,1.05fr) minmax(220px,.95fr) 70px 38px}.lookup-modal__value--ellipsis{display:inline-block}.lookup-modal__scan-row:last-child{border-bottom:none}.lookup-modal__scan-row input[type=checkbox]{margin:0;width:16px;height:16px}.lookup-modal__scan-row input[type=text],.lookup-modal__scan-row input:not([type]){min-height:36px;padding:.4rem .55rem;border-radius:9px;border:1px solid #cbd5f5;background:#fff;width:100%;font-size:.9rem;color:#0f172a;box-sizing:border-box}.lookup-modal__scan-row input[type=text]:focus,.lookup-modal__scan-row input:not([type]):focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.lookup-modal__scan-origin{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.lookup-modal__scan-meta--related{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lookup-modal__expr{position:relative;display:flex;justify-content:center}.lookup-modal__expr-toggle{width:28px;height:28px;border-radius:999px;border:1px solid #cbd5f5;background:#f8fbff;color:#1e3a8a;font-size:.9rem;line-height:1;cursor:pointer}.lookup-modal__expr-toggle i{font-size:.95rem}.lookup-modal__expr-toggle:hover{background:#eef4ff}.lookup-modal__expr-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:4;width:min(320px,45vw);padding:.45rem;border:1px solid #dbe4ff;border-radius:10px;background:#fff;box-shadow:0 12px 28px #0f172a26;display:grid;gap:.4rem}.lookup-modal__expr-popover select{min-height:32px}.lookup-modal__expr-result{display:flex;align-items:center;gap:.4rem}.lookup-modal__expr-result span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;color:#334155}.lookup-modal__expr-result button{min-height:28px;padding:.2rem .45rem;border:1px solid #bfdbfe;border-radius:8px;background:#eef6ff;color:#1d4ed8;font-size:.78rem;font-weight:600}.lookup-modal__alias-groups--columns .lookup-modal__scan-row{grid-template-columns:22px minmax(0,1fr) minmax(56px,auto) 30px;grid-template-areas:"check value count expr" ". origin origin origin" ". canonical canonical canonical";gap:.35rem .45rem;padding:.28rem 0}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>input[type=checkbox]{grid-area:check}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>.lookup-modal__value{grid-area:value;min-width:0}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>.lookup-modal__count{grid-area:count;text-align:right}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>.lookup-modal__expr{grid-area:expr}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>.lookup-modal__scan-origin{grid-area:origin;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.lookup-modal__alias-groups--columns .lookup-modal__scan-row>.lookup-modal__canonical-input{grid-area:canonical;min-width:0}.lookup-modal__scan-list>.lookup-modal__panel-actions{margin-bottom:.4rem;flex-wrap:wrap;gap:.45rem}.lookup-modal__scan-list>.lookup-modal__panel-actions .lookup-generator__field{min-width:160px}.lookup-modal__scan-list>.lookup-modal__panel-actions .lookup-generator__field span{font-size:.78rem;font-weight:700}.lookup-modal__scan-list>.lookup-modal__panel-actions .lookup-generator__field select{min-height:32px;padding:.3rem .45rem}.lookup-modal__scan-list>.lookup-modal__panel-actions .lookup-generator__field--toggle{min-width:auto}.lookup-generator__filter-textarea{min-height:128px;width:100%;resize:vertical;padding:.65rem .75rem;border-radius:10px;border:1px solid #cbd5f5;background:#fff;color:#0f172a;font-size:.92rem;line-height:1.45;box-sizing:border-box}.lookup-generator__filter-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.lookup-generator__filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}.lookup-generator__chip--column{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}.lookup-modal__count{text-align:right;color:#64748b;font-variant-numeric:tabular-nums;font-weight:600}.lookup-modal__feedback{margin:0;color:#b42318;font-size:.9rem}.lookup-modal__empty{margin:0;color:#64748b;font-size:.9rem}.lookup-generator__main button{border-radius:6px;padding:.45rem .9rem;border:none;background:#e2e8f0;color:#0f172a;font-weight:600;cursor:pointer;box-shadow:none;min-width:0;min-height:0;width:auto;height:auto;line-height:1.2;transition:background .15s ease,opacity .15s ease}.lookup-generator__main button:hover:not(:disabled){background:#d8e1ec}.lookup-generator__main button:disabled{opacity:1;color:#64748b;background:#e5e7eb;cursor:not-allowed}.lookup-generator__main .lookup-generator__subhead-toggle{border:1px solid #cbd5f5;border-radius:999px;padding:.2rem .65rem;font-size:.76rem;font-weight:600;background:#f8fafc;color:#1e3a8a}.lookup-generator__main .lookup-generator__subhead-toggle:hover:not(:disabled){background:#eaf0ff}.lookup-generator__main .lookup-generator__filter-expand{min-width:38px;width:38px;height:38px;padding:0}.lookup-generator__main .lookup-generator__icon-btn{min-width:38px;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}.lookup-generator__main .lookup-generator__tiny-btn{border-radius:999px;border:1px solid #c8d9f8;background:#fff;color:#1d4ed8;font-size:.72rem;font-weight:600;padding:.2rem .45rem;min-height:24px;line-height:1}.lookup-generator__main .lookup-generator__tiny-btn:hover:not(:disabled){background:#eff6ff}.lookup-generator__main .lookup-generator__chip{border:1px solid #bfdbfe;border-radius:999px;background:#eef6ff;color:#1d4ed8;font-size:.78rem;font-weight:600;padding:.28rem .58rem}.lookup-generator__main .lookup-generator__chip:hover:not(:disabled){background:#dbeafe}.lookup-generator__main .lookup-generator__chip--column{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}.lookup-generator__main .lookup-generator__modal-header button{padding:.3rem .6rem;border-radius:10px}.lookup-generator__main .lookup-modal__icon-button{padding:0}@media(max-width:900px){.lookup-modal__grid,.lookup-modal__inline--add{grid-template-columns:1fr}.lookup-modal__scan-row{grid-template-columns:1fr;align-items:start}.lookup-modal__count{text-align:left}}.template-panel__form{display:flex;flex-direction:column;gap:.6rem;background:#fff;border:1px solid #d4d4f5;border-radius:8px;padding:.9rem;box-shadow:0 8px 18px #0f172a0f}.template-panel__form label{font-weight:600;font-size:.85rem;color:#0f172a}.template-panel__form input,.template-panel__form textarea{width:100%;border-radius:6px;border:1px solid #cbd5f5;padding:.4rem .55rem;font-size:.9rem;font-family:inherit;color:#0f172a;background:#fff}.template-panel__form textarea{resize:vertical}.pipeline-template-form{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc;display:flex;flex-direction:column;gap:.75rem}.pipeline-template-form__intro{font-size:.8rem;color:#475569;margin:0}.pipeline-template-form__section,.pipeline-template-form__subsection{border:1px solid #e2e8f0;border-radius:10px;padding:.6rem;background:#fff}.pipeline-template-form__section summary,.pipeline-template-form__subsection summary{font-weight:600;color:#0f172a;cursor:pointer}.pipeline-template-form__section-desc{margin:.35rem 0 .6rem;font-size:.78rem;color:#64748b}.pipeline-template-form__fields{display:flex;flex-direction:column;gap:.55rem;margin-top:.4rem}.pipeline-template-form__field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#475569}.pipeline-template-form__field input,.pipeline-template-form__field textarea,.pipeline-template-form__field select{border:1px solid #cbd5f5;border-radius:8px;padding:.35rem .5rem;font-size:.9rem;font-family:inherit}.pipeline-template-form__toggle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.pipeline-template-form__help{font-size:.75rem;color:#64748b}.pipeline-template-form__error{font-size:.75rem;color:#b91c1c}.pipeline-template-form__yaml{border:1px dashed #cbd5f5;border-radius:10px;padding:.6rem;background:#fff}.pipeline-template-form__yaml summary{font-weight:600;color:#0f172a;cursor:pointer}.pipeline-template-form__yaml textarea{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .5rem;font-size:.85rem;font-family:inherit;background:#f8fafc}.template-panel__edit-indicator{background:#fef3c7;color:#92400e;border:1px solid rgba(234,179,8,.4);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.template-panel__button{border:none;background:#4c1d95;color:#fff;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s ease}.template-panel__button:hover{background:#6b21a8}.template-panel__button--ghost{background:transparent;color:#4c1d95;border:1px solid rgba(76,29,149,.4)}.template-panel__button--ghost:hover{background:#4c1d9514}.template-panel__form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;position:sticky;bottom:0;background:#fff;padding:.6rem 0 .2rem;box-shadow:0 -12px 20px #0f172a0d;z-index:1}.template-panel__feedback{margin:0;font-size:.8rem;color:#0f766e}.template-panel__library h4{margin:0 0 .5rem;font-size:1rem;color:#0f172a}.template-panel__empty{margin:0;font-size:.9rem;color:#475569}.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.template-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem;box-shadow:0 6px 16px #0f172a0f}.template-card__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.template-card__category{display:inline-block;margin-left:.35rem;padding:.05rem .5rem;border-radius:999px;background:#4f46e526;color:#312e81;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.template-card__meta{display:block;font-size:.75rem;color:#64748b}.template-card__actions button{border:none;background:#4f46e51f;color:#312e81;border-radius:6px;padding:.25rem .5rem;font-size:.8rem;display:inline-flex;gap:.25rem;align-items:center;cursor:pointer;margin-left:.35rem}.template-card__actions button:hover{background:#4f46e533}.template-card__description,.template-card__notes{margin:.45rem 0 0;font-size:.85rem;color:#0f172a}.template-card__options{margin:.35rem 0 0;font-size:.85rem;color:#0f172a}.template-card__configs,.template-card__json{margin-top:.5rem}.template-card__configs pre,.template-card__json pre{margin:.3rem 0 0;background:#0f172a;color:#f8fafc;padding:.6rem;border-radius:6px;overflow-x:auto;font-size:.78rem}.settings-panel{display:flex;flex-direction:column;height:100%;padding:1rem 1.25rem;gap:1rem;overflow-y:auto;background:#f8fafc}.settings-panel__section h3{margin:0;font-size:1.1rem;color:#0f172a}.settings-panel__section p{margin:.25rem 0 1rem;color:#475569;font-size:.9rem}.settings-panel__form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 8px 18px #0f172a14}.settings-panel__form label{font-weight:600;font-size:.85rem;color:#0f172a}.settings-panel__form input{border-radius:6px;border:1px solid #cbd5f5;padding:.45rem .6rem;font-size:.9rem;background:#fff}.settings-panel__input{border-radius:6px;border:1px solid #cbd5f5;padding:.35rem .6rem;font-size:.85rem;width:8rem;background:#fff}.settings-panel__user-prefs-scroll{max-height:20rem;overflow-y:auto}.settings-toggle{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.9rem;color:#0f172a}.settings-toggle input{width:auto;padding:0;border:none}.settings-panel__actions{display:flex;gap:.4rem}.settings-panel__actions button{border:none;background:#312e81;color:#fff;padding:.4rem .75rem;border-radius:6px;cursor:pointer}.settings-panel__actions button:last-child{background:transparent;color:#312e81;border:1px solid rgba(49,46,129,.4)}.category-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.category-list__item{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.category-list__actions button{border:none;background:transparent;color:#312e81;cursor:pointer;margin-left:.35rem}.canvas-filter__hint{font-size:.78rem;color:#64748b;margin:0}.canvas-filter__title-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:#0f172a}.canvas-filter__title-row h3{margin:0;font-size:1rem;color:#0f172a}.canvas-filter__reset{border:none;background:none;color:#475569;font-size:.8rem;cursor:pointer;text-decoration:underline;padding:0}.canvas-filter__reset:hover{color:#1e293b}.canvas-filter__section{display:flex;flex-direction:column;gap:.5rem}.canvas-filter__section-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#475569}.canvas-filter__chips{display:flex;flex-wrap:wrap;gap:.4rem}.canvas-filter__chips--selected{max-height:120px;overflow-y:auto}.canvas-filter__chip{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .75rem;background:#fff;color:#0f172a;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.canvas-filter__chip--selected{border-style:dashed}.canvas-filter__chip:hover{background:#f1f5f9}.canvas-filter__chip.is-muted{opacity:.45}.canvas-filter__chip.is-drop-target{box-shadow:0 0 0 2px #4f46e5}.canvas-filter__count{font-size:.75rem;color:#475569;background:#e2e8f0;border-radius:999px;padding:.05rem .4rem}.canvas-filter__chip-action{border:none;background:transparent;color:#475569;padding:0;margin-left:.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.canvas-filter__chip-action:hover{color:#0f172a}.canvas-filter__empty{font-size:.8rem;color:#94a3b8;margin:0}.tag-groups-panel{display:flex;flex-direction:column;gap:1rem;padding:0 1.25rem}.tag-group-cards{display:flex;flex-direction:column;gap:.75rem}.tag-group-card{border:1px solid #cbd5f5;border-radius:8px;padding:.75rem;background:#f8fafc;word-break:break-word}.tag-group-card__header{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#0f172a;gap:.5rem;flex-wrap:wrap}.tag-group-card__title{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:inherit;flex-wrap:wrap}.tag-group-card__name-input{border:1px solid #cbd5f5;border-radius:4px;padding:.1rem .35rem;font-size:.85rem;color:#0f172a;background:#fff;min-width:8rem}.tag-group-card__color-input{width:1.4rem;height:1.4rem;padding:0;border:none;background:transparent;cursor:pointer;border-radius:999px}.tag-group-card__color-input::-webkit-color-swatch{border-radius:999px;border:none}.tag-group-card__color-input::-moz-color-swatch{border-radius:999px;border:none}.tag-group-card__actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.tag-group-card__select,.tag-chip-row__select{border:1px solid #cbd5f5;border-radius:4px;background:#fff;font-size:.8rem;padding:.15rem .4rem;color:#0f172a}.tag-group-card__collapse,.tag-group-card__edit,.tag-group-card__cancel,.tag-group-card__remove,.tag-group-card__reorder,.tag-chip-row__remove{border:1px solid transparent;background:transparent;color:#475569;padding:.2rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.tag-group-card__collapse:hover,.tag-group-card__edit:hover,.tag-group-card__cancel:hover,.tag-group-card__remove:hover,.tag-group-card__reorder:hover,.tag-chip-row__remove:hover{color:#0f172a;background:#0f172a14}.tag-group-card__reorder:disabled{color:#cbd5f5;cursor:not-allowed;background:transparent}.tag-group-card__chips{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.tag-group-card__empty{margin:0;font-size:.85rem;color:#94a3b8}.tag-chip-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;width:100%}.tag-ungrouped-section{border:1px dashed #cbd5f5;border-radius:8px;padding:.75rem}.tag-ungrouped-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;color:#0f172a}.tag-ungrouped-section__hint{font-size:.75rem;color:#94a3b8;font-weight:400}.tag-ungrouped-section__chips{display:flex;flex-direction:column;gap:.4rem}.tag-group-form{margin-top:.75rem;border-top:1px solid #e2e8f0;padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.tag-group-form label{font-size:.85rem;font-weight:600;color:#0f172a}.tag-group-form__controls{display:flex;gap:.4rem}.tag-group-form__controls input{flex:1;border:1px solid #cbd5f5;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.tag-group-form__controls button{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #3b82f6;background:#3b82f6;color:#fff;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.tag-group-form__controls button:hover{background:#2563eb;border-color:#2563eb}.workflow-container-panel{margin-top:1.25rem;border-top:1px solid #e2e8f0;padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.workflow-container-panel__header{font-weight:600;color:#0f172a;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.workflow-container-panel__controls{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b;flex-wrap:wrap}.workflow-container-panel__control{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.workflow-container-panel__mode{display:inline-flex;border:1px solid #cbd5f5;border-radius:999px;overflow:hidden}.workflow-container-panel__mode button{border:none;background:transparent;padding:.25rem .7rem;font-size:.75rem;color:#475569;cursor:pointer}.workflow-container-panel__mode button.is-active{background:#0f172a;color:#fff}.workflow-container-panel__unit{padding:0 .5rem;font-size:.7rem;color:#64748b}.workflow-container-panel__input{border:none;border-left:1px solid #cbd5f5;padding:.25rem .6rem;font-size:.75rem;width:4.5rem;color:#475569}.autosave-meta-row{border:none;background:#f8fafc;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;color:#475569}.autosave-branch-list{display:flex;flex-direction:column;gap:.35rem;min-width:280px}.autosave-branch-list__actions{display:flex;align-items:center;gap:.5rem}.autosave-branch-list__actions button{border:1px solid #cbd5f5;border-radius:999px;background:#f8fafc;padding:.15rem .6rem;font-size:.7rem;color:#0f172a}.autosave-branch-list__note{font-size:.7rem;color:#64748b}.autosave-branch-list__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #e2e8f0;border-radius:8px;padding:.3rem .5rem;background:#f8fafc}.autosave-branch-list__meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.autosave-branch-list__name{font-size:.75rem;color:#0f172a;font-weight:600}.autosave-branch-list__time,.autosave-branch-list__user{font-size:.7rem;color:#64748b}.autosave-branch-list__row button{border:none;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;background:#e2e8f0;color:#0f172a;cursor:pointer}.autosave-branch-list__row button.is-active{background:#0f172a;color:#fff}.autosave-branch-list__empty{font-size:.7rem;color:#94a3b8;padding:.2rem 0}.autosave-branch-list__empty.is-loading{display:inline-flex;align-items:center;gap:.4rem;color:#64748b}.loading-inline{width:12px;height:12px;border-radius:999px;border:2px solid rgba(148,163,184,.5);border-top-color:#0f172a;animation:appHeaderSpin .9s linear infinite}.tag-group-form__loading{display:inline-flex;align-items:center;gap:.4rem}.workflow-container-cards{display:flex;flex-direction:column;gap:.75rem}.workflow-container-card{border:1px solid #cbd5f5;border-radius:10px;padding:.75rem;background:#fff;box-shadow:0 1px 2px #0f172a0a}.workflow-container-card__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.workflow-container-card__title{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:#0f172a;flex-wrap:wrap}.workflow-container-card__swatch{width:14px;height:14px;border-radius:4px;border:1px solid #cbd5f5;display:inline-flex}.workflow-container-card__badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:999px;background:#94a3b833;color:#475569}.workflow-container-card__actions{display:inline-flex;align-items:center;gap:.25rem}.workflow-container-card__actions button{border:1px solid transparent;background:transparent;color:#475569;border-radius:4px;padding:.2rem}.workflow-container-card__actions button:disabled{opacity:.4;cursor:not-allowed}.workflow-container-card__actions button:not(:disabled):hover{color:#0f172a;background:#0f172a14}.workflow-container-card__groups{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}.workflow-container-card__parent{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.workflow-container-card__parent label{font-size:.75rem;font-weight:600;color:#475569}.workflow-container-card__parent select{border:1px solid #cbd5f5;border-radius:6px;padding:.35rem .5rem;font-size:.85rem;background:#fff}.workflow-container-card__field{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.workflow-container-card__field label{font-size:.75rem;font-weight:600;color:#475569}.workflow-container-card__field select{border:1px solid #cbd5f5;border-radius:6px;padding:.35rem .5rem;font-size:.85rem;background:#fff}.workflow-container-card__field textarea{border:1px solid #cbd5f5;border-radius:6px;padding:.45rem .55rem;font-size:.85rem;font-family:inherit;min-height:4rem;resize:vertical}.workflow-container-card__pipelines{display:flex;flex-wrap:wrap;gap:.5rem}.workflow-container-card__pipeline{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:#0f172a}.workflow-container-card__group-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font-size:.85rem;cursor:grab}.workflow-container-card__group-row button{border:1px solid transparent;background:transparent;color:#ef4444;border-radius:4px;padding:.15rem}.workflow-container-card__group-row button:hover{background:#ef44441a}.workflow-container-card__empty{margin:0;font-size:.85rem;color:#94a3b8}.workflow-container-card__assign{margin-top:.5rem}.workflow-container-card__assign select{width:100%;border:1px solid #cbd5f5;border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.workflow-container-form{display:flex;flex-direction:column;gap:.4rem}.workflow-container-form label{font-size:.85rem;font-weight:600;color:#0f172a}.workflow-container-form__controls{display:flex;gap:.4rem}.workflow-container-form__controls input{flex:1;border:1px solid #cbd5f5;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.workflow-container-form__controls button{border:1px solid #0ea5e9;background:#0ea5e9;color:#fff;border-radius:4px;padding:.35rem .6rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem}.workflow-container-form__controls button:hover{background:#0284c7;border-color:#0284c7}.workflow-connection-panel{margin-top:1rem;border-top:1px solid #e2e8f0;padding-top:1rem;display:flex;flex-direction:column;gap:.6rem}.workflow-connection-panel__header{font-weight:600;color:#0f172a}.workflow-connection-panel__list{display:flex;flex-direction:column;gap:.45rem}.workflow-connection-panel__item{display:flex;flex-direction:column;gap:.5rem;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .6rem;background:#fff}.workflow-connection-panel__route{font-size:.85rem;color:#0f172a;flex:1}.workflow-connection-panel__row{display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap}.workflow-connection-panel__row--header{align-items:center}.workflow-connection-panel__row--fields{flex-direction:column}.workflow-connection-panel__color{display:inline-flex;align-items:center;gap:.2rem}.workflow-connection-panel__color input[type=color]{width:1.5rem;height:1.5rem;border:none;padding:0;background:transparent}.workflow-connection-panel__remove{border:none;background:transparent;color:#ef4444;display:inline-flex;align-items:center;justify-content:center;padding:.2rem;border-radius:4px}.workflow-connection-panel__remove:hover{background:#ef44441a}.workflow-connection-panel__field{display:flex;flex-direction:column;gap:.2rem;width:100%;font-size:.8rem;color:#475569}.workflow-connection-panel__field input,.workflow-connection-panel__field textarea,.workflow-connection-panel__field select{border:1px solid #cbd5f5;border-radius:6px;padding:.35rem .5rem;font-size:.85rem;font-family:inherit;resize:vertical;min-height:2.2rem}.workflow-connection-panel__field textarea{min-height:3.2rem}.workflow-connection-form{display:flex;flex-direction:column;gap:.5rem;border:1px dashed #cbd5f5;border-radius:8px;padding:.6rem;background:#f8fafc}.workflow-connection-form__row{display:flex;flex-direction:column;gap:.25rem}.workflow-connection-form__row label{font-size:.75rem;font-weight:600;color:#475569}.workflow-connection-form__row select,.workflow-connection-form__row input[type=color],.workflow-connection-form__row input[type=text],.workflow-connection-form__row textarea{border:1px solid #cbd5f5;border-radius:6px;padding:.35rem .5rem;font-size:.85rem;background:#fff;font-family:inherit}.workflow-connection-form__row textarea{min-height:3.4rem;resize:vertical}.workflow-connection-form__actions{display:flex;justify-content:flex-end}.workflow-connection-form__actions button{border:1px solid #14b8a6;background:#14b8a6;color:#fff;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem}.workflow-connection-form__actions button:disabled{opacity:.5;cursor:not-allowed}.workflow-connection-form__actions button:not(:disabled):hover{background:#0d9488;border-color:#0d9488}.workflow-lanes{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 1rem;position:relative}.workflow-lane{min-width:260px;border:1px solid #cbd5f5;border-radius:12px;padding:.75rem;background:#fff;box-shadow:0 12px 32px #0f172a1f,inset 0 0 0 1px #0f172a0d;position:relative}.workflow-lane--paused{border-style:dashed}.workflow-lane--nested{margin-left:1.5rem}.workflow-lane--hidden{visibility:hidden;opacity:0;pointer-events:none}.workflow-lane--nested:before{content:"";position:absolute;left:-.75rem;top:1.25rem;bottom:1.25rem;border-left:2px dashed rgba(15,23,42,.15)}.workflow-lane__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-weight:600;color:#0f172a}.workflow-lane__groups{margin-top:.75rem;position:relative;padding-left:1.6rem}.workflow-lane__description{margin:.35rem 0 0;font-size:.8rem;color:#475569}.workflow-lane__groups:before{content:none}.workflow-lane__group-row{display:flex;align-items:center;gap:.55rem;position:relative;margin:.35rem 0;min-height:1.25rem}.workflow-lane__group-dot,.workflow-lane__group-dot:after{display:none}.workflow-lane__group-label{display:flex;align-items:center;gap:.45rem;border:1px dashed rgba(71,85,105,.35);padding:.2rem .55rem;border-radius:999px;font-size:.8rem;color:#0f172a;flex-wrap:wrap}.workflow-lane__group-count{font-weight:600;color:#475569}.workflow-lane__group-shape{font-size:.7rem;font-weight:600;color:#475569;background:#94a3b84d;padding:.05rem .4rem;border-radius:999px}.workflow-lane__empty{margin:0;font-size:.8rem;color:#94a3b8}.workflow-lane__child-count{margin:.5rem 0 0;font-size:.75rem;color:#475569}.workflow-lanes__connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.workflow-lanes__connection path{fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;stroke-dasharray:6 6}.workflow-lanes__connection circle{fill:#fff;stroke-width:1.4px}.workflow-frames{display:grid;gap:1rem;margin:.5rem 0 1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.workflow-frame{border:1px solid #cbd5f5;border-radius:14px;padding:.75rem;background:#fff;box-shadow:0 10px 26px #0f172a1f,inset 0 0 0 1px #0f172a0a}.workflow-frame--paused{border-style:dashed}.workflow-frame__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-weight:600;color:#0f172a}.workflow-frame__title{display:inline-flex;align-items:center;gap:.35rem}.workflow-frame__description{margin:.35rem 0 0;font-size:.8rem;color:#475569}.workflow-frame__meta{margin:.25rem 0 0;font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-frame__containers{margin-top:.6rem;display:flex;flex-direction:column;gap:.6rem}.workflow-frame__container{border:1px dashed rgba(71,85,105,.35);border-radius:10px;padding:.5rem .6rem;background:#ffffffa6}.workflow-frame__container.is-paused{border-style:dashed}.workflow-frame__container-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:600;color:#0f172a}.workflow-frame__container-description{margin:.35rem 0 0;font-size:.75rem;color:#475569}.workflow-frame__groups{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.workflow-frame__group-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.workflow-frame__group-label{display:flex;align-items:center;gap:.4rem;border:1px dashed rgba(71,85,105,.35);padding:.15rem .45rem;border-radius:999px;font-size:.75rem;color:#0f172a;flex-wrap:wrap}.workflow-frame__group-count{font-weight:600;color:#475569}.workflow-frame__group-shape{font-size:.65rem;font-weight:600;color:#475569;background:#94a3b84d;padding:.05rem .35rem;border-radius:999px}.workflow-frame__empty{margin:.4rem 0 0;font-size:.75rem;color:#94a3b8}.canvas-stage{flex:1;min-width:0;position:relative}.techniques-drawer{position:absolute;top:.75rem;right:.75rem;width:min(360px,calc(100% - 1.5rem));max-height:calc(100% - 1.5rem);display:flex;flex-direction:column;background:#f8fafcf5;border:1px solid #cbd5e1;border-radius:16px;box-shadow:0 20px 36px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:45;overflow:hidden;transition:transform .22s ease,opacity .22s ease}.techniques-drawer__header{display:flex;align-items:center;gap:.4rem;padding:.45rem;border-bottom:1px solid #e2e8f0;background:#e2e8f08c}.techniques-drawer__tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;flex:1}.techniques-drawer__tab{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:.78rem;font-weight:600;padding:.25rem .55rem;cursor:pointer}.techniques-drawer__tab.is-active{background:#0f172a;border-color:#0f172a;color:#f8fafc}.techniques-drawer__hide{border:1px solid #cbd5e1;border-radius:999px;width:30px;height:30px;background:#fff;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.techniques-drawer__hide:hover{border-color:#94a3b8;color:#1e293b}.techniques-drawer__panel{padding:.75rem;overflow:auto;display:flex;flex-direction:column;gap:.7rem}.techniques-drawer__panel h4,.techniques-drawer__panel h5{margin:0;color:#0f172a}.techniques-drawer__toggle-list{display:flex;flex-direction:column;gap:.45rem}.techniques-drawer__toggle-list label{display:inline-flex;align-items:center;gap:.45rem;color:#334155;font-size:.82rem}.techniques-drawer__search input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:.42rem .55rem;font-size:.82rem}.techniques-drawer__meta-links{display:flex;gap:.65rem;flex-wrap:wrap;font-size:.75rem}.techniques-drawer__list{display:flex;flex-direction:column;gap:.75rem}.techniques-drawer__category ul{margin:.35rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.3rem}.techniques-drawer__item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#0f172a;font-size:.78rem;padding:.35rem .45rem;text-align:left;cursor:pointer}.techniques-drawer__item.is-selected{border-color:#2563eb;background:#eff6ff}.techniques-drawer__badge{border:1px solid #86efac;background:#dcfce7;color:#166534;border-radius:999px;font-size:.65rem;padding:.1rem .45rem;white-space:nowrap}.techniques-drawer__badge-warning{border-color:#fbbf24;background:#fef3c7;color:#92400e}.techniques-drawer__empty{margin:0;color:#64748b;font-size:.78rem}.techniques-drawer__details{border-top:1px solid #e2e8f0;padding-top:.55rem;display:flex;flex-direction:column;gap:.35rem;font-size:.78rem}.techniques-drawer__apply{border:1px solid #2563eb;border-radius:999px;background:#2563eb;color:#fff;font-size:.72rem;font-weight:600;padding:.28rem .72rem;cursor:pointer;align-self:flex-start}.techniques-drawer__apply:hover{background:#1d4ed8;border-color:#1d4ed8}.techniques-drawer__apply-secondary{border-color:#cbd5e1;background:#fff;color:#1e293b}.techniques-drawer__apply-secondary:hover{background:#f8fafc;border-color:#94a3b8}.techniques-drawer__confirm{position:absolute;right:.75rem;bottom:.75rem;width:min(320px,calc(100% - 1.5rem));border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 12px 28px #0f172a33;padding:.7rem;z-index:30;display:flex;flex-direction:column;gap:.5rem}.techniques-drawer__confirm p{margin:0;color:#475569;font-size:.78rem}.techniques-drawer__confirm-options{display:flex;flex-direction:column;gap:.35rem}.techniques-drawer__confirm-options label,.techniques-drawer__confirm-option-check{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#0f172a}.techniques-drawer__confirm-preview{border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;padding:.45rem .5rem;display:flex;flex-direction:column;gap:.35rem}.techniques-drawer__confirm-preview strong{font-size:.74rem;color:#1e293b}.techniques-drawer__confirm-preview p{margin:0}.techniques-drawer__confirm-preview-why{color:#475569;font-size:.72rem}.techniques-drawer__confirm-preview-badges{display:flex;flex-wrap:wrap;gap:.3rem}.techniques-drawer__confirm-preview-badges span{border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#1d4ed8;font-size:.7rem;font-weight:600;padding:.12rem .45rem}.techniques-drawer__confirm-actions{display:flex;justify-content:flex-end;gap:.45rem}.techniques-drawer__confirm-cancel,.techniques-drawer__confirm-apply{border-radius:999px;font-size:.72rem;font-weight:600;padding:.26rem .68rem;cursor:pointer}.techniques-drawer__confirm-cancel{border:1px solid #cbd5e1;background:#fff;color:#1e293b}.techniques-drawer__confirm-apply{border:1px solid #2563eb;background:#2563eb;color:#fff}.canvas-stage.has-techniques-drawer .canvas-stage__overlay-controls{right:23.5rem}@media(max-width:1200px){.techniques-drawer{width:min(320px,calc(100% - 1.5rem))}.canvas-stage.has-techniques-drawer .canvas-stage__overlay-controls{right:20.5rem}}@media(max-width:900px){.techniques-drawer{position:absolute;left:.75rem;right:.75rem;width:auto;max-height:52%}.canvas-stage.has-techniques-drawer .canvas-stage__overlay-controls{right:.75rem;top:auto;bottom:.75rem}}.workflow-overlay-block{margin:.75rem;padding:.5rem .25rem;border-radius:18px;border:1px solid rgba(148,163,184,.25);background:#ffffff80;box-shadow:0 18px 40px #0f172a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.canvas-stage__overlay-controls{position:absolute;top:.6rem;right:.75rem;display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;z-index:40}.canvas-stage__overlay-button{border:none;border-radius:999px;width:32px;height:32px;background:#0f172a2e;color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.canvas-stage__overlay-button:hover{background:#0f172a59;transform:translateY(-1px)}.canvas-stage__overlay-button[aria-pressed=true]{background:#0f172a;box-shadow:0 6px 16px #0f172a40}.canvas-layer-stack{position:relative;width:100%;height:100%}.canvas-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.canvas-overlay-layer .overlay-fold-controls{pointer-events:auto}.canvas-overlay-stack{position:absolute;top:.75rem;left:.75rem;width:min(1024px,80%);max-height:calc(100% - 1.5rem);display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.canvas-overlay-stack__panel{pointer-events:auto;background:transparent;border-radius:18px;border:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none;max-height:100%}.canvas-overlay-stack__panel--lanes{overflow:visible}.canvas-overlay-stack .workflow-ribbon{margin:0;padding:.35rem .25rem;background:transparent;border:none;box-shadow:none}.canvas-overlay-stack .workflow-lanes{margin-top:0}.overlay-fold-controls{position:absolute;top:.5rem;right:.75rem;display:flex;gap:.35rem;z-index:40;pointer-events:auto}.overlay-fold-controls__button{width:34px;height:34px;border-radius:999px;border:1px solid #cbd5f5;background:#f8fafcf5;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .1s ease;box-shadow:0 6px 18px #0f172a14}.overlay-fold-controls__button:hover,.overlay-fold-controls__button:focus-visible{background:#e2e8f0;border-color:#94a3b8;transform:translateY(-1px)}.overlay-fold-controls__button.is-folded{background:#0f172a;color:#f8fafc;border-color:#0f172a}.canvas-group-edges{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.canvas-group-edges__edge text{fill:#0f172a;font-size:.7rem;font-weight:600;text-shadow:0 1px 2px rgba(255,255,255,.9)}.canvas-stage .canvas-view{height:100%}.workflow-ribbon{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 1rem .5rem;padding:.35rem .5rem;background:#ffffffeb;border:1px solid #cbd5f5;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:5}.canvas-stage .workflow-ribbon{position:absolute;top:.75rem;left:.75rem;margin:0;z-index:35}.workflow-ribbon__item{border-radius:999px;background:#eef2ff;color:#312e81;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .3rem;transition:background .2s ease,transform .1s ease}.workflow-ribbon__item.is-muted{background:#e2e8f0;color:#475569;border:1px dashed #94a3b8}.workflow-ribbon__item.is-active{box-shadow:0 0 0 2px #4f46e540}.workflow-ribbon__label-button{border:none;background:transparent;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .6rem;font-size:.85rem;font-weight:600;color:inherit;cursor:pointer}.workflow-ribbon__label-button:disabled{opacity:.45;cursor:not-allowed}.workflow-ribbon__label-button:not(:disabled):hover,.workflow-ribbon__label-button:not(:disabled):focus-visible{background:#fff9;outline:none}.workflow-ribbon__label{font-weight:600}.workflow-ribbon__count{font-size:.75rem;color:inherit}.workflow-ribbon__toggle{border:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#312e811f;color:inherit;cursor:pointer}.workflow-ribbon__toggle[aria-pressed=true]{background:#0f172a26}.workflow-ribbon__toggle:hover{background:#312e8140}.workflow-ribbon__action{border:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#312e811f;color:inherit;cursor:pointer}.workflow-ribbon__action:disabled{opacity:.45;cursor:not-allowed}.workflow-ribbon__action:hover:not(:disabled){background:#312e8140}.canvas-group-node{position:absolute;background:#fff;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 12px 28px #0f172a2e;padding:.55rem .75rem;display:flex;align-items:center;gap:.6rem;cursor:grab;-webkit-user-select:none;user-select:none;min-width:190px;z-index:25;pointer-events:auto}.canvas-group-node.is-dragging{cursor:grabbing;box-shadow:0 16px 34px #0f172a40}.canvas--no-select,.canvas--no-select *{-webkit-user-select:none!important;user-select:none!important}.canvas-group-node__icon{width:36px;height:36px;border-radius:10px;background:#eef2ff;color:#3730a3;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.canvas-group-node__body{display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;color:#0f172a}.canvas-group-node__body strong{font-size:.9rem;color:#0f172a}.canvas-group-node__stats{display:flex;gap:.35rem;margin-top:.15rem}.canvas-group-node__stat{display:inline-flex;align-items:center;gap:.2rem;background:#eef2ff;color:#312e81;padding:.1rem .35rem;border-radius:999px;font-size:.75rem}.canvas-group-node__button{border:none;background:#0f172a;color:#f8fafc;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.canvas-group-node__button:hover{background:#111827}@media(max-width:1200px){.side-tabs{padding:.5rem .25rem}.side-tab-button{min-height:96px}}.panel-resizer{flex:0 0 auto;width:6px;background-color:#94a3b8;cursor:col-resize;transition:background-color .2s ease}.panel-resizer:hover,.panel-resizer:focus{background-color:#65738f}.dsl-editor,.dsl-panel{display:flex;flex-direction:column;height:100%}.dsl-panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1.1rem;border-bottom:1px solid rgba(226,232,240,.25);background:#0f172a;color:#e2e8f0}.dsl-panel__toolbar-group{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.dsl-panel__toolbar-group label{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.dsl-panel__toolbar-group select{background:#0b1220;color:#e2e8f0;border:1px solid rgba(148,163,184,.5);border-radius:6px;padding:.3rem .5rem;min-width:200px}.dsl-panel__toolbar-actions{display:flex;align-items:center;gap:.5rem}.dsl-panel__toolbar-actions button{border:1px solid rgba(148,163,184,.6);background:transparent;color:#e2e8f0;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;cursor:pointer}.dsl-panel__toolbar-actions button:disabled{opacity:.5;cursor:not-allowed}.dsl-editor__header{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.25rem;border-bottom:1px solid rgba(226,232,240,.2)}.dsl-editor__title{display:flex;align-items:center;gap:.75rem;letter-spacing:.05em;text-transform:uppercase;font-size:.95rem;font-weight:600}.dsl-editor__logo{width:28px;height:28px;flex-shrink:0;border-radius:6px;box-shadow:0 0 0 1px #e2e8f040}.flowchart-panel{display:flex;flex-direction:column;height:100%;flex:1;min-height:0;padding:1rem 1.25rem;gap:.75rem;color:#0f172a;background:#f8fafc;overflow-y:auto;overflow-x:hidden}.flowchart-panel__helper{margin:0;font-size:.85rem;color:#475569}.flowchart-panel__section{display:flex;flex-direction:column;gap:.5rem}.flowchart-panel__section-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.flowchart-panel__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#64748b}.flowchart-panel__stats{margin:.15rem 0 0;font-size:.85rem;color:#475569}.flowchart-panel__section-actions{display:flex;gap:.5rem;flex-wrap:wrap}.flowchart-panel__textarea{width:100%;flex:1;min-height:200px;border:1px solid #cbd5f5;border-radius:8px;padding:.75rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem;resize:vertical;background:#fff;color:#0f172a}.flowchart-panel__textarea[readonly]{background:#f1f5f9;color:#0f172a}.flowchart-panel__textarea--generated{min-height:160px}.flowchart-panel__hint{margin:0;font-size:.8rem;color:#475569}.flowchart-panel__divider{border-top:1px dashed #cbd5f5;margin:.25rem 0}.mermaid-preview__wrapper{margin-top:.75rem;padding:.5rem .75rem .75rem;border-radius:10px;border:1px solid #cbd5f5;background:#fff}.mermaid-preview__title{margin:0 0 .35rem;font-size:.85rem;color:#0f172a}.mermaid-preview__footer{margin-top:.35rem;display:flex;justify-content:flex-end;align-items:center}.mermaid-preview__footer img{width:40px;height:auto;opacity:.8}.mermaid-preview{border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;padding:.5rem;max-height:320px;overflow:auto}.factory-panel{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:auto;padding:1rem}.factory-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.factory-panel__eyebrow{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6366f1;margin:0 0 .15rem}.factory-panel__subtitle{margin:0;color:#475569;max-width:32rem}.factory-panel__actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.factory-panel__controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.factory-panel__queue-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#0f172a;padding:.45rem .6rem;border-radius:8px;border:1px dashed #c7d2fe;background:#f8fafc;height:36px}.factory-panel__queue-toggle input{accent-color:#6366f1}.factory-panel__field{display:flex;flex-direction:column;gap:.35rem;min-width:200px;font-size:.9rem;color:#0f172a}.factory-panel__field span{font-weight:600}.factory-panel__field select,.factory-panel__field input{border:1px solid #cbd5f5;border-radius:8px;padding:.45rem .6rem;font-size:.9rem;background:#fff}.factory-panel__badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.35rem .75rem;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-size:.85rem;font-weight:600}.factory-panel__badge:disabled{opacity:.6;cursor:not-allowed}.factory-panel__icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:36px;padding:0 .75rem;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;cursor:pointer;font-size:.85rem;font-weight:600}.factory-panel__icon-button:disabled{opacity:.6;cursor:not-allowed}.factory-panel__status{margin:0;font-size:.85rem;color:#334155;white-space:pre-line}.factory-panel__status--error{color:#b91c1c}.factory-panel__status-icon{border:none;background:transparent;color:#475569;margin-left:.5rem;cursor:pointer;padding:0}.factory-panel__status-icon:hover{color:#1f2937}.factory-panel__queue{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.factory-panel__queue-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .6rem;border:1px solid #cbd5f5;background:#f1f5f9;font-size:.75rem;color:#0f172a}.factory-panel__queue-remove{border:none;background:transparent;color:#475569;cursor:pointer;font-size:.9rem;line-height:1}.factory-panel__queue-remove:hover{color:#1f2937}.factory-panel__grid{display:flex;flex-direction:column;gap:1rem}.factory-panel__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.factory-panel__row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-top:.75rem}.factory-panel__checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#0f172a}.factory-panel__meta{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem}.factory-panel__section{border:1px solid #dbeafe;border-radius:12px;padding:.85rem;background:#fff;box-shadow:0 8px 18px #0f172a14}.factory-panel__section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.factory-panel__section--validation{border-color:#e2e8f0}.factory-panel__validation-summary{display:inline-flex;gap:.5rem;flex-wrap:wrap}.validation-pill{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0}.validation-pill--error{background:#fee2e2;border-color:#fecaca;color:#991b1b}.validation-pill--warning{background:#fef3c7;border-color:#fde68a;color:#92400e}.validation-pill--info{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.validation-list{display:flex;flex-direction:column;gap:.6rem}.validation-item{border:1px solid #e2e8f0;border-radius:10px;padding:.65rem .75rem;background:#f8fafc}.validation-item__header{display:flex;align-items:baseline;gap:.5rem;font-size:.9rem}.validation-item__severity{font-size:.7rem;letter-spacing:.06em;font-weight:700}.validation-item__details,.validation-item__location,.validation-item__fix{margin:.2rem 0 0;font-size:.82rem;color:#475569}.validation-item--error{border-color:#fecaca;background:#fff7f7}.validation-item--warning{border-color:#fde68a;background:#fffdf4}.validation-item--info{border-color:#bae6fd;background:#f4fbff}.factory-panel__section-header h4{margin:0;font-size:1rem;color:#0f172a}.factory-panel__section-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap;align-items:center}.factory-panel__section-actions .dsl-editor__button{height:30px;padding:0 .6rem;border-radius:999px;font-size:.8rem;background:#f8fafc;border:1px solid #e2e8f0;color:#334155}.factory-panel__section-actions .dsl-editor__button:hover{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.factory-panel__section-actions .factory-panel__icon-button{height:30px;width:30px;padding:0;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#475569}.factory-panel__section-actions .factory-panel__icon-button:hover{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.factory-panel__textarea{width:100%;min-height:160px;border:1px solid #cbd5f5;border-radius:8px;padding:.75rem;font-family:JetBrains Mono,Fira Code,Consolas,Liberation Mono,monospace;font-size:.9rem;color:#0f172a;background:#f8fafc;resize:vertical}.factory-panel__textarea--modal{min-height:0;height:100%;flex:1 1 auto;resize:none;overflow:auto}.factory-panel__textarea--compact{min-height:80px}.factory-panel__queue-list{display:flex;flex-direction:column;gap:.75rem}.factory-panel__queue-item{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.factory-panel__queue-header{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem;color:#0f172a}.factory-panel__queue-meta{margin:.25rem 0 .5rem;font-size:.8rem;color:#475569}.factory-panel__table-wrapper{overflow-x:auto}.factory-panel__table-wrapper--history{max-height:60vh;overflow-y:auto;padding:.25rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.factory-panel__history-group{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.5rem}.factory-panel__history-group+.factory-panel__history-group{margin-top:.75rem}.factory-panel__history-group summary{cursor:pointer;font-weight:600;color:#0f172a;margin-bottom:.5rem}.factory-panel__table-footer{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.factory-panel__table{width:100%;border-collapse:collapse;font-size:.8rem}.factory-panel__table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:0 .4rem .4rem}.factory-panel__table td{border-top:1px solid #e2e8f0;padding:.5rem .4rem;vertical-align:top;color:#0f172a}.factory-panel__table-stack{display:flex;flex-direction:column;gap:.2rem}.factory-panel__table-meta{color:#64748b;font-size:.75rem}.factory-panel__table-link{color:#4338ca;text-decoration:none}.factory-panel__table-link:hover{text-decoration:underline}.factory-panel__audit-action{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.factory-panel__audit-badge{border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;border:1px solid transparent}.factory-panel__audit-badge--push{background:#dcfce7;border-color:#bbf7d0;color:#166534}.factory-panel__audit-badge--delete{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.factory-panel__audit-badge--save{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.factory-panel__audit-badge--other{background:#f1f5f9;border-color:#e2e8f0;color:#0f172a}.factory-panel__audit-flag{border-radius:999px;padding:.1rem .45rem;font-size:.7rem;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.factory-panel__textarea:focus{outline:2px solid #6366f1;background:#fff}.mermaid-preview__canvas svg{width:100%}.mermaid-preview__status{margin:.35rem 0 0;font-size:.8rem;color:#475569}.mermaid-preview__status--error{color:#b91c1c}.flowchart-panel__error{margin:0;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.flowchart-panel__actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.dsl-editor__actions{display:flex;gap:.5rem}.dsl-editor__button,.dsl-editor__apply{background-color:#475569;color:#fff;border:none;border-radius:4px;padding:.45rem 1rem;cursor:pointer;font-weight:600;transition:background-color .2s ease;display:inline-flex;align-items:center;gap:.35rem}.dsl-editor__button:hover,.dsl-editor__apply:hover{background-color:#334155}.dsl-editor__button:disabled{opacity:.45;cursor:not-allowed}.dsl-editor__button--primary{background-color:#2563eb}.dsl-editor__button--primary:hover{background-color:#1d4ed8}.dsl-editor__button--danger{background-color:#dc2626}.dsl-editor__button--danger:hover{background-color:#b91c1c}.dsl-editor__apply{background-color:#6366f1}.dsl-editor__apply:hover{background-color:#4f46e5}.dsl-editor__apply:active{background-color:#4338ca}.dsl-editor__file-input{display:none}.dsl-editor__editor{flex:1;border-top:1px solid rgba(226,232,240,.2)}.dsl-editor__error{padding:.75rem 1.25rem;background-color:#ef444426;color:#fecaca;font-size:.9rem;border-top:1px solid rgba(239,68,68,.3)}.canvas-view{position:relative;height:100%}.canvas-view__technique-ghost{position:absolute;left:0;top:0;transform-origin:top left;pointer-events:none;z-index:45}.canvas-view__technique-ghost-card{min-width:220px;border:2px dashed rgba(37,99,235,.8);border-radius:12px;background:#eff6ffd1;box-shadow:0 10px 24px #1e40af33;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.2rem}.canvas-view__technique-ghost-title{font-size:.95rem;font-weight:700;color:#1e3a8a;letter-spacing:.01em}.canvas-view__technique-ghost-subtitle{font-size:.78rem;font-weight:600;color:#1d4ed8;text-transform:uppercase;letter-spacing:.06em}.canvas-view__technique-ghost-stats{display:flex;gap:.35rem;flex-wrap:wrap}.canvas-view__technique-ghost-stats span{border-radius:999px;padding:.16rem .5rem;background:#3b82f626;color:#1e40af;font-size:.72rem;font-weight:700;letter-spacing:.01em}.canvas-view__technique-ghost-found{font-size:.72rem;color:#1e3a8a;line-height:1.35}.canvas-view__technique-ghost-tables{display:flex;gap:.3rem;flex-wrap:wrap}.canvas-view__technique-ghost-tables span{border-radius:6px;padding:.12rem .4rem;background:#1e40af1a;color:#1e3a8a;font-size:.7rem;font-weight:700;letter-spacing:.01em}.canvas-view__technique-ghost-links{display:flex;gap:.25rem;flex-direction:column}.canvas-view__technique-ghost-links span{font-size:.68rem;color:#1e40af;line-height:1.2;opacity:.95}.canvas-view__lock-banner{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);background:#0f172ae6;color:#fff;padding:.4rem 1rem;border-radius:999px;font-size:.85rem;letter-spacing:.01em;z-index:80;box-shadow:0 8px 20px #0f172a59;pointer-events:none}.context-menu{position:fixed;background:#fff;border:1px solid rgba(15,23,42,.2);border-radius:6px;box-shadow:0 14px 35px #0f172a40;z-index:50;display:flex;flex-direction:column;min-width:160px;max-height:70vh;overflow-y:auto;overflow-x:hidden}.context-menu__close{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:999px;padding:0;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:#0f172a14;color:#0f172a}.context-menu__close:hover{background:#0f172a26}.context-menu button{background:none;border:none;padding:.65rem .95rem;text-align:left;cursor:pointer;font-size:.9rem;color:#0f172a}.context-menu button:hover{background:#e2e8f0}.context-menu__section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;padding:.5rem 2rem .25rem .75rem}.context-menu__badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:0 .5rem .5rem}.context-menu__badge-option{border:1px solid transparent;border-radius:6px;background:#f8fafc;display:flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.35rem .4rem}.context-menu__badge-option.is-selected{background:#e0f2fe}.context-menu__badge-option--clear{border-color:#cbd5f5!important}.context-menu__divider{height:1px;background:#e2e8f0;margin:.25rem 0}.context-menu__item{width:100%;border-top:1px solid #e2e8f0;background:#fff}.context-menu__item:hover{background:#fee2e2}.context-menu__item[disabled]{opacity:.45;cursor:not-allowed}.context-menu__note{font-size:.85rem;color:#94a3b8;line-height:1.4;padding:.4rem .25rem 0}.context-menu__edge-info{font-size:.85rem;padding:0 .75rem .5rem;color:#0f172a;display:flex;align-items:center;gap:.35rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.erd-table{background:#fff;border:1px solid #94a3b8;border-radius:6px;box-shadow:0 1px 2px #0f172a26;font-size:.85rem;min-width:200px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.erd-table:hover{border-color:#fb7185;box-shadow:0 6px 22px #f8717140;transform:translateY(-2px)}.erd-table:hover .erd-table__handle{box-shadow:0 0 0 2px #0f172a2e}.erd-table:hover .erd-table__handle{background-color:#64748b;border-color:#e2e8f0}.erd-table.is-drop-target{box-shadow:0 0 0 2px #6366f1,0 10px 30px #6366f133}.erd-table__header{background:#1e293b;color:#f8fafc;font-weight:600;padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.erd-table__title{display:flex;flex-direction:column;line-height:1.2}.erd-table__name{font-size:.95rem}.erd-table__schema{font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;color:#cbd5f5}.erd-table__columns{list-style:none;margin:0;padding:.5rem 0}.erd-table__tags{display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem .75rem;background:#f8fafc;border-top:1px solid #e2e8f0}.erd-table__container-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;margin-left:.45rem;font-weight:600}.erd-table__tag{font-size:.65rem;text-transform:none;letter-spacing:.02em;border-radius:999px;background:#e0e7ff;color:#312e81;padding:.1rem .4rem;border:1px solid #c7d2fe}.erd-table__columns.is-drop-target{box-shadow:inset 0 0 0 2px #6366f1;border-radius:4px}.erd-table__hidden-indicator{padding:.35rem .75rem;font-size:.75rem;color:#475569;background:#f8fafc;border-top:1px dashed #cbd5f5;text-align:center}.erd-table__column{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem .75rem;border-bottom:1px solid #e2e8f0;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;position:relative;align-items:center;cursor:default}.erd-table__column--drag-over{background:#6366f11f}.erd-table__column--lineage{background:#fee2e273}.erd-table__column--lineage .erd-table__column-name{color:#b91c1c}.erd-table__column--sub{padding-left:1.4rem;font-size:.78rem;color:#64748b}.erd-table__column--group{background:#f3f7ff;font-weight:700;border-top:2px solid #bfdbfe}.erd-table__column--group-first{border-top:none}.erd-table__column--group-end{border-bottom:2px solid #bfdbfe}.erd-table__column--sub:before{content:"";position:absolute;left:.75rem;top:50%;width:.35rem;height:1px;background:#60a5fa}.erd-table__column--sub:after{content:"";position:absolute;left:.85rem;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#60a5fab3,#60a5fa00)}.erd-table__column--sub .erd-table__column-type{color:#94a3b8}.erd-table__column:last-child{border-bottom:none}.erd-table__column-label{flex:1;display:flex;flex-direction:column;gap:.1rem;overflow:hidden;min-width:0}.erd-table__column-drag{cursor:grab}.erd-table__column-drag:active{cursor:grabbing}.erd-table__column-name{color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erd-table__column-alias{font-size:.7rem;color:#94a3b8;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erd-table__column-type{color:#475569}.erd-table__clone-handle{font-size:.7rem;color:#94a3b8;cursor:grab;border-radius:4px;padding:.1rem .25rem;border:1px solid transparent;transition:color .15s ease,background .15s ease;margin-right:.25rem}.erd-table__clone-handle:hover{color:#0f172a;background:#e2e8f0;border-color:#cbd5f5}.erd-table__clone-handle:active{cursor:grabbing}.erd-table__line-tracker{width:18px;height:18px;border-radius:999px;border:1.5px solid #94a3b8;background:transparent;display:inline-flex;align-items:center;justify-content:center;margin-right:.35rem;cursor:pointer;padding:0;transition:border-color .15s ease,background .15s ease}.erd-table__line-tracker:hover{border-color:#0f172a;background:#94a3b826}.erd-table__line-tracker:focus-visible{outline:2px solid #0f172a;outline-offset:1px}.erd-table__line-tracker-dot{width:6px;height:6px;border-radius:999px;background:#64748b;display:inline-block;transition:background .15s ease}.erd-table__line-tracker.is-active{border-color:#dc2626;background:#f8717126}.erd-table__line-tracker.is-active .erd-table__line-tracker-dot{background:#dc2626}.erd-table__badge{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;color:#0f172a;background:#e2e8f0}.erd-table__technique-pill{font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.14rem .42rem;border-radius:999px;color:#0f172a;background:#fef3c7;border:1px solid #fde68a;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erd-table__badge--hub{background:#fed7aa;color:#c2410c}.erd-table__badge--sat{background:#bbf7d0;color:#15803d}.erd-table__badge--link{background:#ddd6fe;color:#6d28d9}.erd-table__badge--bridge{background:#ccfbf1;color:#0f766e}.erd-table__badge--dim{background:#bae6fd;color:#0369a1}.erd-table__badge--master{background:#dbeafe;color:#1d4ed8}.erd-table__badge--ref{background:#e0e7ff;color:#4338ca}.erd-table__badge--rel{background:#ccfbf1;color:#0f766e}.erd-table__badge--pres{background:#e2e8f0;color:#475569}.erd-table__badge--int{background:#a5f3fc;color:#0f766e}.erd-table__badge--fact{background:#f5d0fe;color:#a21caf}.erd-table__badge--pit{background:#fef3c7;color:#b45309}.erd-table__badge--stage{background:#fecaca;color:#b91c1c}.erd-table__badge--combine{background:#dcfce7;color:#15803d}.erd-table__badge--pre_stg{background:#fef3c7;color:#b45309}.erd-table__badge--api{background:#c7d2fe;color:#3730a3}.erd-table__badge--mdlp{background:#cffafe;color:#0e7490}.erd-table__badge--gismt{background:#ede9fe;color:#6d28d9}.erd-table--stage{position:relative;background:linear-gradient(135deg,#f8fafcf2,#fef2f2d9);border-color:#fecdd3;box-shadow:0 4px 12px #f8717126}.erd-table--stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;border:1px dashed rgba(252,165,165,.5);pointer-events:none}.erd-table__stage-banner{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#b45309;background:#fbbf2426;border:1px solid rgba(251,191,36,.4);border-radius:4px;padding:.15rem .35rem;margin:0 1rem .35rem}.erd-table--locked .erd-table__header{background:#f1f5f9}.erd-table__lock{margin-left:.35rem;font-size:.8rem;color:#94a3b8}.erd-table--highlighted{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e966,0 12px 24px #0ea5e940;transform:translateY(-2px)}.erd-table--dimmed{opacity:.4;filter:grayscale(.4);transition:opacity .2s ease,filter .2s ease}.erd-table--selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb6b,0 16px 28px #2563eb47;transform:translateY(-3px);opacity:1;filter:none}.erd-table--selected .erd-table__header{box-shadow:inset 0 -1px #93c5fd80}.erd-table__handle{position:absolute;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background-color:#94a3b8;border:2px solid #e2e8f0;box-shadow:0 0 0 1px #0f172a33}.erd-table__handle--left{left:-6px;transform:translateY(-50%)}.erd-table__handle--right{right:-6px;transform:translateY(-50%)}.erd-table__handle--source{z-index:2}.erd-table__handle--target{z-index:1}.canvas-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1200}.canvas-modal-backdrop--top{z-index:1400}.canvas-modal{background:#fff;border-radius:12px;width:min(940px,96vw);box-shadow:0 30px 60px #0f172a66;overflow:hidden}.canvas-modal--table-editor{max-height:min(92vh,900px);display:flex;flex-direction:column}.canvas-modal--wide{height:min(92vh,900px);display:flex;flex-direction:column}.canvas-modal--compact{width:min(620px,92vw)}.canvas-modal--table-editor .canvas-modal__body{overflow-y:auto}.canvas-modal__header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #e2e8f0;gap:1rem}.canvas-modal__header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.canvas-modal__header--compact{padding-bottom:.5rem}.canvas-modal__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#64748b;margin-bottom:.25rem}.canvas-modal__close{border:none;background:#0f172a0d;border-radius:50%;width:32px;height:32px;font-size:1.25rem;line-height:1;cursor:pointer}.canvas-modal__body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.canvas-modal--wide .canvas-modal__body{flex:1;height:100%;min-height:0;overflow:auto}.canvas-modal--studio{width:80%;max-width:80vw}.canvas-modal__body--studio{padding:0;height:70vh}.studio-iframe{width:100%;height:100%;border:none;background:#f8fafc}.table-editor__field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.table-editor__template-tokens{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.table-editor__token{border:1px dashed #94a3b8;background:#f8fafc;color:#0f172a;font-size:.75rem;line-height:1;padding:.25rem .6rem;border-radius:999px;cursor:pointer}.table-editor__token:disabled{opacity:.55;cursor:not-allowed}.canvas-modal--share{width:min(980px,96vw);max-height:min(92vh,900px);display:flex;flex-direction:column}.canvas-modal--switch{width:min(560px,94vw)}.canvas-modal--switch .canvas-modal__body{gap:.75rem}.canvas-modal--notifications{width:min(760px,94vw);max-height:min(86vh,820px);display:flex;flex-direction:column}.canvas-modal--notifications .canvas-modal__body{overflow:hidden}.canvas-modal--approvals{width:min(760px,94vw);max-height:min(86vh,820px);display:flex;flex-direction:column}.canvas-modal--approvals .canvas-modal__body{overflow:hidden}.notifications-modal{gap:.85rem}.notifications-modal__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.notifications-modal__filters{display:inline-flex;gap:.35rem;background:#f1f5f9;padding:.2rem;border-radius:999px}.notifications-modal__filter{border:none;background:transparent;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;color:#475569;cursor:pointer}.notifications-modal__filter.is-active{background:#0f172a;color:#fff}.notifications-modal__action{border:1px solid #cbd5f5;background:#fff;color:#1e293b;padding:.35rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer}.notifications-modal__action:disabled{opacity:.5;cursor:not-allowed}.notifications-modal__list{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;padding-right:.35rem;max-height:56vh}.notifications-modal__item{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .9rem;background:#f8fafc;display:flex;flex-direction:column;gap:.35rem}.notifications-modal__item h4,.notifications-modal__item p{margin:0;line-height:1.4}.notifications-modal__item.is-unread{border-color:#94a3b8;background:#fff;box-shadow:0 12px 24px #0f172a1f}.notifications-modal__item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notifications-modal__item-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.notifications-modal__kind{text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:700;color:#1e293b;background:#e2e8f0;padding:.15rem .45rem;border-radius:999px}.notifications-modal__client{font-size:.65rem;color:#64748b}.notifications-modal__timestamp{font-size:.65rem;color:#94a3b8}.notifications-modal__pill-row{display:flex;gap:.35rem;flex-wrap:wrap}.notifications-modal__pill{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;background:#e2e8f0;color:#1e293b;padding:.15rem .45rem}.notifications-modal__pill--warning{background:#fde68a;color:#7c2d12}.notifications-modal__pill--danger{background:#fecaca;color:#7f1d1d}.notifications-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.notifications-modal__details{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.5rem}.notifications-modal__details ul{margin:0;padding-left:1.1rem}.notifications-modal__comment{display:flex;flex-direction:column;gap:.35rem}.notifications-modal__comment textarea{width:100%;resize:vertical}.canvas-modal--downloads{max-width:720px}.downloads-modal{display:flex;flex-direction:column;gap:.75rem;max-height:60vh;overflow-y:auto;padding-right:.35rem}.downloads-modal__list{display:flex;flex-direction:column;gap:.75rem}.downloads-modal__item{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .9rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}.downloads-modal__item h4,.downloads-modal__item p{margin:0}.downloads-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.downloads-modal__meta{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.75rem;color:#64748b}.canvas-modal--share .canvas-modal__header{padding:.9rem 1.25rem .6rem}.export-menu__item--notifications{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.canvas-modal--share .canvas-modal__eyebrow{margin-bottom:.15rem}.canvas-modal--share .canvas-modal__subtitle{margin-top:.15rem}.canvas-modal--share .canvas-modal__body{padding:1rem 1.25rem;overflow-y:auto}.share-modal__tabs{display:inline-flex;gap:.5rem;background:#eef2ff;padding:.35rem;border-radius:999px}.share-modal__tab{border:none;background:transparent;padding:.4rem .9rem;border-radius:999px;font-weight:600;font-size:.85rem;color:#475569;cursor:pointer}.share-modal__tab.is-active{background:#1d4ed8;color:#fff}.share-modal{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,320px);gap:1rem}.share-modal--fragment{grid-template-columns:minmax(360px,1fr) minmax(300px,360px)}.share-modal__list{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc;display:flex;flex-direction:column;gap:.75rem;min-height:360px}.share-modal__list--fragment{min-height:unset;gap:1rem}.share-modal__items{list-style:none;padding:0;margin:0;display:grid;gap:6px;overflow-y:auto}.share-modal__item{width:100%;border:1px solid transparent;background:#fff;padding:.4rem .5rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;text-align:left}.share-modal__item:hover{background:#e2e8f0}.share-modal__item.is-selected{border-color:#2563eb;background:#e0e7ff}.share-modal__item.is-current{font-weight:600}.share-modal__meta{font-size:.8rem;color:#64748b;white-space:nowrap}.share-modal__panel{display:flex;flex-direction:column;gap:.75rem}.share-modal__access{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.share-modal__panel select,.share-modal__panel input{border:1px solid #cbd5f5;border-radius:6px;padding:.5rem .75rem;font-size:.95rem;font-family:inherit}.share-modal__list select,.share-modal__list input{border:1px solid #cbd5f5;border-radius:6px;padding:.45rem .65rem;font-size:.9rem;font-family:inherit}.share-modal__section{display:flex;flex-direction:column;gap:.5rem}.share-modal__section h4{margin:0;font-size:.95rem}.share-modal__section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.share-modal__checklist{display:grid;gap:.4rem;max-height:180px;overflow-y:auto;padding-right:.2rem}.share-modal__checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#1f2937}.share-modal__checkbox input{accent-color:#2563eb}.share-modal__checkbox em{margin-left:auto;font-style:normal;font-size:.75rem;color:#64748b}.share-modal__checkbox--inline{margin-top:.4rem}.share-modal__list--fragment .share-modal__meta{white-space:normal}.tag-modal{display:flex;flex-direction:column;gap:1.25rem}.tag-modal__input-row{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.tag-modal__input-row .canvas-modal__field{flex:1;min-width:220px}.tag-modal__section{display:flex;flex-direction:column;gap:.5rem}.tag-modal__section-header{display:flex;align-items:baseline;gap:.5rem;color:#475569;font-size:.85rem}.tag-modal__section-header h4{margin:0;color:#0f172a;font-size:.95rem}.tag-modal__chips{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .75rem;background:#f8fafc;color:#0f172a;font-size:.8rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.tag-chip:disabled{opacity:.5;cursor:not-allowed}.tag-chip:hover{background:#e2e8f0}.tag-chip--remove{border-color:#fecdd3;background:#fff1f2;color:#be123c}.tag-chip__count{font-size:.7rem;color:#475569;background:#e2e8f0;padding:.05rem .4rem;border-radius:999px}.tag-modal__hint{font-size:.85rem;color:#64748b;margin:0}.tag-modal__coverage{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.tag-modal__coverage li{display:flex;justify-content:space-between;font-size:.85rem;color:#475569}.tag-modal__coverage strong{color:#0f172a}.canvas-modal--stage{width:min(1040px,96vw)}.canvas-modal--api{width:min(1180px,96vw);max-height:92vh;display:flex;flex-direction:column}.canvas-modal--api .canvas-modal__body{flex:1;min-height:0;overflow-y:auto}.canvas-modal--jdbc{max-height:92vh;display:flex;flex-direction:column}.canvas-modal--jdbc .canvas-modal__body{flex:1;overflow-y:auto;min-height:0;padding-right:.25rem}.jdbc-import__form{display:flex;flex-direction:column;gap:1rem;max-height:65vh;overflow-y:auto;padding-right:.35rem}.jdbc-import__form::-webkit-scrollbar{width:6px}.jdbc-import__form::-webkit-scrollbar-thumb{background:#cbd5f5;border-radius:999px}.canvas-modal--file{max-height:92vh;display:flex;flex-direction:column}.file-import-advanced-modal{width:min(96vw,1100px)}.canvas-modal--mermaid{height:85vh;max-height:95vh;display:flex;flex-direction:column;width:min(98vw,1500px)}.canvas-modal--mermaid .canvas-modal__body{flex:1;min-height:0;display:flex;flex-direction:column}.canvas-modal--wiki{width:min(1100px,96vw)}.canvas-modal--wiki .canvas-modal__body{max-height:min(74vh,760px);overflow:auto}.wiki-modal__content{margin:0;font-family:inherit;font-size:.95rem;line-height:1.6;color:#0f172a}.wiki-modal__content h2,.wiki-modal__content h3,.wiki-modal__content h4,.wiki-modal__content h5{margin:0;font-weight:600}.wiki-modal__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 .75rem}.wiki-modal__top-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:#64748b;text-decoration:none}.wiki-modal__top-link:hover{color:#1d4ed8}.wiki-modal__content p{margin:0 0 .85rem}.wiki-modal__content ul{margin:0 0 .85rem 1.25rem;padding:0}.wiki-modal__content li{margin-bottom:.35rem}.wiki-modal__content code{background:#f1f5f9;border-radius:4px;padding:0 .25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em}.wiki-modal__content pre{background:#f8fafc;border-radius:8px;padding:.75rem .9rem;overflow:auto}.wiki-modal__content pre code{background:none;padding:0;font-size:.88em}.wiki-modal__content a{color:#2563eb;text-decoration:underline}.canvas-modal__body--mermaid{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.mermaid-modal__header{align-items:center;padding:.75rem 1rem .5rem}.mermaid-modal__toolbar{display:flex;gap:.45rem;align-items:center}.mermaid-modal__icon-button{border:none;background:#0f172a14;color:#0f172a;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.mermaid-modal__icon-button:hover,.mermaid-modal__icon-button:focus-visible{background:#0f172a2e}.mermaid-modal__preview{border:1px solid #cbd5f5;border-radius:12px;background:#fff;padding:.5rem;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.canvas-modal--mermaid .mermaid-preview{flex:1;max-height:none;height:100%}.mermaid-modal__placeholder{margin:auto;text-align:center;color:#475569;font-size:.95rem;line-height:1.4;padding:1.5rem}.canvas-modal--mermaid .mermaid-preview__canvas{flex:1;min-height:0}.designer-disabled-panel{flex:1;background:#f8fafc;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;color:#0f172a}.designer-disabled-panel h3{margin:0}.designer-disabled-panel__note{margin:0;font-size:.9rem;color:#475569}.designer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:stretch;justify-content:stretch}.designer-overlay--embedded{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45}.designer-overlay--embedded .designer-overlay__backdrop{display:none}.designer-overlay--embedded .designer-overlay__workspace{margin:0;border-radius:0;box-shadow:none}.designer-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.designer-overlay__workspace{position:relative;margin:1.5rem;background:#f8fafc;border-radius:18px;box-shadow:0 35px 90px #0f172a4d;flex:1;display:flex;flex-direction:column;min-height:0}.designer-overlay__header{padding:1.25rem 1.75rem 1rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.designer-overlay__eyebrow{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.designer-overlay__status{margin:.35rem 0 0;font-size:.95rem;color:#0f172a;font-weight:600}.designer-overlay__header h2{margin:.15rem 0 .35rem;font-size:1.35rem;color:#0f172a}.designer-overlay__subtitle{margin:0;color:#475569;font-size:.95rem}.designer-overlay__header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.designer-overlay__action{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:#0f172a;padding:.35rem .9rem;font-size:.9rem;cursor:pointer}.designer-overlay__action--ai{display:inline-flex;align-items:center;gap:.45rem;border-color:#0ea5e9;background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#fff;font-weight:600;box-shadow:0 10px 20px #0ea5e933}.designer-overlay__action--ai.is-disabled{filter:grayscale(1);opacity:.65;box-shadow:none}.designer-overlay__action--ai i{font-size:.95rem}.designer-overlay__action--ai:hover{filter:brightness(.95)}.designer-overlay__action--primary{border-color:#0f172a;background:#0f172a;color:#fff;cursor:pointer}.designer-overlay__action:disabled{color:#94a3b8;cursor:not-allowed;opacity:.6}.designer-overlay__snapshot-status{font-size:.8rem;color:#475569;margin-left:.25rem}.designer-overlay__close{border:none;background:#0f172a;color:#fff;width:40px;height:40px;border-radius:999px;font-size:1.4rem;line-height:1;cursor:pointer}.designer-overlay__body{flex:1;display:grid;grid-template-columns:280px 1fr;min-height:0}.designer-overlay__sidebar{padding:1.25rem;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.designer-overlay__sidebar--right{border-right:0;border-left:1px solid #e2e8f0}.designer-overlay__section h3,.designer-overlay__section h4{margin:0 0 .25rem;color:#0f172a;font-size:1rem}.designer-overlay__section--groups{display:flex;flex-direction:column}.designer-overlay__section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.designer-overlay__icon-button{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:#0f172a;padding:.25rem .7rem;font-size:.75rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.designer-overlay__icon-button:hover{background:#0f172a0d}.designer-overlay__hint{margin:0;font-size:.85rem;color:#64748b}.designer-overlay__palette{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.designer-overlay__palette li{border:1px dashed #94a3b8;border-radius:12px;padding:.5rem .75rem;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.designer-overlay__palette li>div{display:flex;flex-direction:column;gap:.2rem}.designer-overlay__palette li button{border:1px solid #0f172a;background:#0f172a;color:#fff;border-radius:8px;padding:.25rem .6rem;font-size:.8rem;cursor:pointer}.designer-overlay__palette strong{color:#0f172a;font-size:.95rem}.designer-overlay__palette span{color:#475569;font-size:.85rem}.designer-overlay__modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:0;padding-bottom:7vh}.designer-overlay__modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66}.designer-overlay__modal-card{position:relative;width:min(560px,92vw);max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 30px 70px #0f172a59;display:flex;flex-direction:column;overflow:hidden}.designer-overlay__modal-card header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:2}.designer-overlay__modal-card header h3{margin:0;font-size:1.05rem;color:#0f172a}.designer-overlay__modal-body{padding:1rem 1.25rem;overflow-y:auto}.designer-overlay__modal-body--iframe{padding:0;overflow:hidden;flex:1}.designer-overlay__modal-card--override{width:min(1100px,95vw);max-height:85vh;height:85vh;margin-top:-7vh}.designer-overlay__modal-card--wide{width:min(900px,94vw);max-height:85vh}.designer-override-frame{width:100%;height:100%;border:0}.designer-overlay__modal-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#0f172a}.designer-overlay__modal-field input{border:1px solid #cbd5f5;border-radius:10px;padding:.5rem .65rem;font-size:.9rem}.designer-overlay__modal-hint{margin:.5rem 0 0;font-size:.85rem;color:#475569}.designer-overlay__modal-error{margin:.75rem 0 0;color:#b91c1c;font-size:.85rem}.designer-overlay__empty{margin:0;color:#64748b;font-size:.9rem}.designer-overlay__preset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.designer-overlay__preset-item{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;display:flex;align-items:flex-start;gap:.75rem;background:#fff}.designer-overlay__preset-item.is-selected{border-color:#0f172a;background:#f1f5f9}.designer-overlay__preset-check{margin-top:.2rem}.designer-overlay__preset-check input{width:1rem;height:1rem}.designer-overlay__preset-body{display:flex;flex-direction:column;gap:.35rem}.designer-overlay__preset-title{display:flex;align-items:center;gap:.5rem}.designer-overlay__preset-swatch{width:12px;height:12px;border-radius:4px}.designer-overlay__preset-desc{margin:0;font-size:.85rem;color:#475569}.designer-overlay__preset-tasks{margin:0;font-size:.8rem;color:#0f172a}.designer-overlay__modal-card footer{display:flex;justify-content:flex-start;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc;position:sticky;bottom:0;z-index:2}.designer-overlay__modal-card footer button{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:#0f172a;padding:.35rem .9rem;font-size:.85rem;cursor:pointer}.designer-overlay__modal-action--primary{border-color:#0f172a;background:#0f172a;color:#fff}.designer-overlay__modal-action:disabled{opacity:.6;cursor:not-allowed}.designer-overlay__modal-card--ai{width:min(1120px,94vw);max-height:86vh}.designer-ai{display:flex;flex-direction:column;gap:1rem}.designer-ai__status{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.designer-ai__badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.designer-ai__badge.is-on{background:#ecfeff;color:#0f766e;border-color:#99f6e4}.designer-ai__badge.is-off{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.designer-ai__meta{font-size:.85rem;color:#475569}.designer-ai__notice{padding:.65rem .85rem;border-radius:12px;background:#fef9c3;border:1px solid #fde68a;color:#92400e;font-size:.85rem}.designer-ai__layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1rem}.designer-ai__panel{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;min-height:360px}.designer-ai__chat-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:.75rem;height:100%}.designer-ai__sessions{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border-radius:12px;background:#fff;border:1px solid #e2e8f0;min-height:100%}.designer-ai__sessions-header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#0f172a}.designer-ai__sessions-header button{border:1px solid #cbd5f5;border-radius:999px;padding:.3rem .7rem;background:#fff;color:#64748b;font-size:.75rem}.designer-ai__sessions-status{margin:0;font-size:.78rem;color:#94a3b8}.designer-ai__sessions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;overflow:auto}.designer-ai__session{display:flex;align-items:center;gap:.4rem}.designer-ai__session-button:hover{border-color:#cbd5f5}.designer-ai__session.is-active .designer-ai__session-button{border-color:#0ea5e9;background:#e0f2fe;color:#0f172a}.designer-ai__session-button{flex:1;text-align:left;border:1px solid transparent;border-radius:10px;padding:.4rem .5rem;background:#f8fafc;color:#0f172a;font-size:.78rem;display:flex;flex-direction:column;gap:.2rem}.designer-ai__session-title{font-weight:600;font-size:.78rem}.designer-ai__session-preview{font-size:.72rem;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.designer-ai__session-delete{border:none;background:transparent;color:#94a3b8;font-size:1rem;line-height:1;padding:0 .2rem}.designer-ai__chat-main{display:flex;flex-direction:column;gap:.75rem;min-width:0}.designer-ai__panel-header{position:relative;padding-right:2.5rem}.designer-ai__panel-header h4{margin:0;font-size:1rem;color:#0f172a}.designer-ai__panel-header p{margin:.2rem 0 0;color:#64748b;font-size:.85rem}.designer-ai__wizard-toggle{margin-top:.45rem;display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:#475569}.designer-ai__wizard-toggle label{display:inline-flex;align-items:center;gap:.35rem}.designer-ai__wizard-toggle input{accent-color:#0ea5e9}.designer-ai__wizard-options{display:inline-flex;align-items:center;gap:.5rem;padding:.15rem .5rem;border-radius:999px;background:#f1f5f9;color:#334155}.designer-ai__wizard-options label{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem}.designer-ai__wizard-progress{padding:.15rem .5rem;border-radius:999px;background:#e2e8f0;color:#1f2937;font-weight:600}.designer-ai__logo{position:absolute;top:0;right:0;width:32px;height:32px;opacity:.9;pointer-events:none}.designer-ai__chat-log{flex:1;padding:.75rem;border-radius:12px;background:#fff;border:1px dashed #cbd5f5;overflow:auto}.designer-ai__message{margin-bottom:.5rem;padding:.55rem .75rem;border-radius:12px;background:#f1f5f9;color:#0f172a;font-size:.85rem;white-space:pre-wrap}.designer-ai__message.is-bot{background:#e0f2fe;color:#0f172a}.designer-ai__sources{margin-top:.35rem;font-size:.75rem;color:#64748b}.designer-ai__feedback{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(148,163,184,.4);display:grid;gap:.4rem}.designer-ai__feedback-header{font-size:.75rem;font-weight:600;color:#475569}.designer-ai__feedback-actions{display:flex;gap:.5rem;flex-wrap:wrap}.designer-ai__feedback-button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .7rem;background:#fff;color:#475569;font-size:.75rem;cursor:pointer}.designer-ai__feedback-button.is-active{background:#e0f2fe;color:#0f172a;border-color:#7dd3fc}.designer-ai__feedback-button:disabled{cursor:not-allowed;opacity:.6}.designer-ai__feedback-note{display:grid;gap:.35rem}.designer-ai__feedback-note textarea{border:1px solid #cbd5f5;border-radius:10px;padding:.4rem .6rem;font-size:.8rem}.designer-ai__feedback-note button{align-self:flex-start;border:1px solid #cbd5f5;border-radius:999px;padding:.3rem .8rem;background:#0ea5e9;color:#fff;font-size:.75rem}.designer-ai__chat-input{display:flex;gap:.5rem}.designer-ai__chat-input input{flex:1;padding:.5rem .7rem;border-radius:10px;border:1px solid #cbd5f5}.designer-ai__chat-input button{border:1px solid #cbd5f5;border-radius:999px;padding:.4rem .9rem;background:#fff;color:#64748b;font-size:.85rem}.designer-ai__form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.designer-ai__field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#475569}.designer-ai__field span{font-weight:600;color:#0f172a}.designer-ai__field-label{display:flex;align-items:center;gap:.45rem}.designer-ai__field-action{border:1px solid #cbd5f5;background:#f8fafc;color:#334155;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;cursor:pointer;line-height:1.2}.designer-ai__field-action:hover{background:#e2e8f0}.designer-ai__s3-actions{border:1px solid #e2e8f0;border-radius:12px;padding:.65rem .85rem;background:#f8fafc;display:flex;flex-direction:column;gap:.45rem}.designer-ai__s3-actions-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#0f172a}.designer-ai__s3-buttons{display:inline-flex;gap:.4rem;flex-wrap:wrap}.designer-ai__field-required{margin:0;padding:.1rem .45rem;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.65rem;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.designer-ai__help{border:1px solid #cbd5f5;background:#f8fafc;color:#64748b;width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;cursor:help;padding:0}.designer-ai__help:hover{background:#e2e8f0}.designer-ai__field input,.designer-ai__field select,.designer-ai__field textarea{border:1px solid #cbd5f5;border-radius:10px;padding:.5rem;font-size:.85rem;background:#fff}.designer-ai__field small{color:#64748b}.designer-ai__field-help{font-size:.78rem}.designer-ai__required-progress{border:1px solid #e2e8f0;border-radius:12px;padding:.7rem .85rem;background:#f8fafc}.designer-ai__required-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#0f172a}.designer-ai__required-header span{font-weight:600;color:#475569}.designer-ai__required-bar{margin-top:.45rem;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.designer-ai__required-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#22c55e);transition:width .2s ease}.designer-ai__required-missing{margin:.5rem 0 0;font-size:.8rem;color:#b91c1c}.designer-ai__draft{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px dashed #cbd5f5;border-radius:12px;padding:.7rem .85rem;background:#fff;color:#0f172a}.designer-ai__draft strong{display:block;font-size:.85rem}.designer-ai__draft span{display:block;font-size:.75rem;color:#64748b}.designer-ai__draft-actions{display:flex;gap:.5rem;flex-wrap:wrap}.designer-ai__draft-actions button{border:1px solid #cbd5f5;border-radius:999px;padding:.3rem .8rem;background:#0ea5e9;color:#fff;font-size:.75rem}.designer-ai__draft-ghost{background:#fff;color:#475569}.designer-ai__field--full{grid-column:1 / -1}.designer-ai__empty,.designer-ai__error{grid-column:1 / -1;margin:0;font-size:.85rem;color:#94a3b8}.designer-ai__error{color:#b91c1c}.designer-ai__status-line{grid-column:1 / -1;margin:0;font-size:.85rem;color:#0f766e}.designer-ai__yaml-block{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.designer-ai__yaml-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem;font-weight:600;color:#0f172a}.designer-ai__yaml-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.designer-ai__yaml-header button{border:1px solid #cbd5f5;border-radius:999px;padding:.35rem .85rem;background:#fff;color:#64748b;font-size:.8rem}.designer-ai__yaml-block textarea{min-height:180px;border:1px solid #cbd5f5;border-radius:12px;padding:.65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;white-space:pre;background:#fff}.designer-ai__yaml-lint{list-style:none;padding:0;margin:.35rem 0 0;display:grid;gap:.35rem;font-size:.8rem}.designer-ai__yaml-lint li{padding:.35rem .55rem;border-radius:10px;background:#f1f5f9;color:#475569}.designer-ai__yaml-lint li.is-error{background:#fee2e2;color:#b91c1c}.designer-ai__yaml-lint li.is-warning{background:#fef3c7;color:#b45309}.designer-ai__yaml-lint li.is-info{background:#e0f2fe;color:#0369a1}.designer-ai__preflight{grid-column:1 / -1;list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.designer-ai__preflight li{padding:.35rem .5rem;border-radius:8px;font-size:.78rem}.designer-ai__preflight li.is-error{background:#fee2e2;color:#b91c1c}.designer-ai__preflight li.is-warning{background:#fef3c7;color:#b45309}.designer-ai__evidence{border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:.75rem;display:flex;flex-direction:column;gap:.65rem}.designer-ai__evidence-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.85rem;color:#0f172a}.designer-ai__evidence-meta{font-size:.72rem;color:#94a3b8}.designer-ai__evidence-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.designer-ai__evidence-item{border:1px solid #e2e8f0;border-radius:12px;padding:.55rem .7rem;display:grid;gap:.4rem}.designer-ai__evidence-item strong{font-size:.82rem;color:#0f172a}.designer-ai__evidence-path{display:block;font-size:.72rem;color:#94a3b8}.designer-ai__evidence-value pre{margin:0;padding:.35rem .5rem;background:#f8fafc;border-radius:8px;font-size:.75rem;color:#334155;white-space:pre-wrap}.designer-ai__evidence-source{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:#64748b}.designer-ai__evidence-badge{padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#e2e8f0;color:#475569}.designer-ai__evidence-badge.is-user{background:#e0f2fe;color:#0369a1}.designer-ai__evidence-badge.is-ai{background:#ede9fe;color:#6d28d9}.designer-ai__evidence-badge.is-default{background:#dcfce7;color:#15803d}.designer-ai__evidence-badge.is-global{background:#fef3c7;color:#b45309}.designer-ai__evidence-badge.is-starter{background:#fee2e2;color:#b91c1c}.designer-ai__evidence-badge.is-existing{background:#f1f5f9;color:#64748b}.designer-ai__diff{border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:.75rem;display:flex;flex-direction:column;gap:.65rem}.designer-ai__diff-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.85rem;color:#0f172a}.designer-ai__diff-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.designer-ai__diff-item{border:1px solid #e2e8f0;border-radius:12px;padding:.55rem .7rem;display:grid;gap:.4rem}.designer-ai__diff-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.designer-ai__diff-values small{display:block;font-size:.72rem;color:#94a3b8}.designer-ai__diff-values pre{margin:.25rem 0 0;padding:.35rem .5rem;background:#f8fafc;border-radius:8px;font-size:.75rem;color:#334155;white-space:pre-wrap}.designer-ai__builder{border-radius:14px;border:1px solid #bae6fd;background:#f0f9ff;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.designer-ai__builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.designer-ai__builder-header h5{margin:0;font-size:.95rem;color:#0f172a}.designer-ai__builder-header p{margin:.25rem 0 0;font-size:.78rem;color:#475569}.designer-ai__builder-toggle{border:1px solid #7dd3fc;border-radius:999px;padding:.35rem .85rem;background:#fff;color:#0369a1;font-size:.78rem}.designer-ai__builder-body{display:flex;flex-direction:column;gap:.75rem}.designer-ai__builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.designer-ai__builder-toggle-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:#0f172a}.designer-ai__builder-toggle-row input{margin-top:.2rem;accent-color:#0ea5e9}.designer-ai__builder-toggle-row small{display:block;font-size:.74rem;color:#64748b}.designer-ai__builder-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.75rem}.designer-ai__builder-section{display:flex;flex-direction:column;gap:.5rem}.designer-ai__builder-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#475569}.designer-ai__builder-section-header strong{font-size:.85rem;color:#0f172a}.designer-ai__builder-meta{display:block;margin:.2rem 0 0;font-size:.72rem;color:#64748b}.designer-ai__builder-list{border:1px solid #cbd5f5;border-radius:12px;background:#fff;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;max-height:190px;overflow:auto}.designer-ai__builder-task{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:#0f172a}.designer-ai__builder-task input{margin-top:.2rem;accent-color:#0ea5e9}.designer-ai__builder-task-label{font-weight:600;display:block}.designer-ai__builder-task small{display:block;font-size:.72rem;color:#64748b}.designer-ai__builder-empty{margin:0;font-size:.78rem;color:#94a3b8}.designer-ai__builder-actions{display:flex;gap:.35rem;flex-wrap:wrap}.designer-ai__builder-actions button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .6rem;background:#fff;color:#64748b;font-size:.72rem}.designer-ai__builder-search input{background:#fff}.designer-ai__builder-search{margin-bottom:.2rem}.designer-ai__assistant{border-radius:12px;border:1px dashed #bae6fd;background:#fff;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.6rem}.designer-ai__assistant-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.74rem;color:#64748b}.designer-ai__assistant-header strong{font-size:.82rem;color:#0f172a}.designer-ai__assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.designer-ai__assistant-item{font-size:.78rem;color:#0f172a}.designer-ai__assistant-item span{display:block;font-size:.7rem;color:#64748b}.designer-ai__assistant-item strong{display:block;font-size:.8rem;color:#0f172a}.designer-ai__assistant-item small{display:block;font-size:.7rem;color:#94a3b8}.designer-ai__assistant-item--full{grid-column:1 / -1}.designer-ai__assistant-actions{display:flex;flex-wrap:wrap;gap:.4rem}.designer-ai__assistant-actions button{border:1px solid #bae6fd;border-radius:999px;padding:.3rem .7rem;background:#f0f9ff;color:#0369a1;font-size:.72rem}.designer-ai__approval{margin:0;font-size:.78rem;color:#b45309}.designer-ai__revisions{border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.6rem}.designer-ai__revisions-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.76rem;color:#64748b}.designer-ai__revisions-header button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .7rem;background:#fff;color:#64748b;font-size:.7rem}.designer-ai__revision-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.55rem;transition:transform .22s ease,opacity .22s ease}.techniques-drawer.is-hidden{transform:translate(calc(100% + 1rem));opacity:0;pointer-events:none}.designer-ai__revision-item{border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.45rem}.designer-ai__revision-item.is-active{border-color:#bae6fd;background:#f0f9ff}.designer-ai__revision-main{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:#0f172a}.designer-ai__revision-main span{font-size:.7rem;color:#64748b}.designer-ai__revision-main small{font-size:.7rem;color:#94a3b8}.designer-ai__revision-status{font-size:.7rem;font-style:normal;color:#64748b}.designer-ai__revision-status.is-pending{color:#b45309}.designer-ai__revision-status.is-applied{color:#0f766e}.designer-ai__revision-actions{display:flex;gap:.35rem;flex-wrap:wrap}.designer-ai__revision-actions button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .65rem;background:#fff;color:#64748b;font-size:.72rem}.designer-ai__revision-diff{border-radius:8px;border:1px solid #e2e8f0;background:#fff;padding:.4rem .5rem;font-size:.72rem;color:#0f172a}.designer-ai__revision-summary{margin-bottom:.3rem;font-size:.7rem;color:#64748b}.designer-ai__revision-diff pre{margin:0;white-space:pre-wrap}.designer-ai__starter-pack{border-radius:10px;border:1px solid #e2e8f0;background:#fff;padding:.5rem .65rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem;color:#475569}.designer-ai__starter-pack strong{display:block;font-size:.78rem;color:#0f172a}.designer-ai__starter-pack small,.designer-ai__starter-pack span{display:block;font-size:.72rem;color:#64748b}.designer-ai__starter-pack button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .65rem;background:#fff;color:#64748b;font-size:.72rem}.designer-ai__builder-warnings{margin:0;padding-left:1rem;font-size:.8rem;color:#b45309}.designer-ai__builder-status{margin:0;font-size:.85rem;color:#0f172a}.designer-ai__builder-status.is-error{color:#b91c1c}.designer-ai__builder-status.is-success{color:#0f766e}.designer-ai__builder-footer{display:flex;gap:.5rem;flex-wrap:wrap}.designer-ai__builder-footer button{border:1px solid #cbd5f5;border-radius:999px;padding:.4rem .9rem;background:#fff;color:#64748b;font-size:.8rem}.designer-ai__builder-primary{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.designer-ai__builder-primary:disabled{background:#bae6fd;border-color:#bae6fd;color:#7dd3fc}@media(max-width:980px){.designer-ai__layout,.designer-ai__chat-shell{grid-template-columns:1fr}.designer-ai__sessions{max-height:200px}.designer-ai__form-grid,.designer-ai__builder-grid,.designer-ai__builder-split,.designer-ai__assistant-grid{grid-template-columns:1fr}}.designer-overlay__group-grid{display:flex;flex-direction:column;gap:.8rem;margin-top:.5rem}.designer-overlay__group-panel{display:flex;flex-direction:column}.designer-overlay__group-panel h5{margin:0 0 .4rem;font-size:.9rem;color:#0f172a}.designer-overlay__tag-groups,.designer-overlay__task-groups,.designer-overlay__task-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;max-height:clamp(160px,24vh,320px)}.designer-overlay__tag-groups li,.designer-overlay__task-groups li,.designer-overlay__task-list li{display:flex;justify-content:space-between;gap:.4rem;align-items:center;border:1px dashed #cbd5f5;border-radius:8px;padding:.45rem .6rem;cursor:grab;transition:border-color .12s ease,background .12s ease}.designer-overlay__tag-groups li:active,.designer-overlay__task-groups li:active,.designer-overlay__task-list li:active{cursor:grabbing}.designer-overlay__tag-groups li.is-assigned,.designer-overlay__task-groups li.is-assigned,.designer-overlay__task-list li.is-assigned{border-color:#94a3b8;background:#f8fafc}.designer-overlay__tag-groups li div,.designer-overlay__task-groups li div,.designer-overlay__task-list li div{display:flex;flex-direction:column;gap:.2rem}.designer-overlay__tag-groups strong,.designer-overlay__task-groups strong,.designer-overlay__task-list strong{color:#0f172a;font-size:.95rem}.designer-overlay__tag-groups span,.designer-overlay__task-groups span,.designer-overlay__task-list span{color:#475569;font-size:.78rem}.designer-overlay__tag-count{color:#1f2937;font-weight:600}.designer-overlay__tag-assignment{color:#0f172a;font-size:.78rem;font-weight:500}.designer-overlay__tag-drag-hint{font-size:.72rem;color:#94a3b8}.designer-overlay__tag-groups button,.designer-overlay__task-groups button{border:1px solid #64748b;border-radius:999px;background:transparent;color:#0f172a;padding:.2rem .65rem;font-size:.8rem;cursor:pointer}.designer-overlay__tag-groups button:hover,.designer-overlay__task-groups button:hover{background:#64748b1a}.designer-overlay__task-search{margin-top:.4rem}.designer-overlay__task-search input{width:100%;border-radius:8px;border:1px solid #cbd5f5;padding:.35rem .5rem;font-size:.8rem}.designer-overlay__task-browser{margin-top:.5rem}.designer-overlay__task-domains{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;max-height:clamp(220px,36vh,480px);overflow-y:auto}.designer-overlay__task-domain-item{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.designer-overlay__task-domain-item.is-active{border-color:#94a3b8}.designer-overlay__task-domain{width:100%;border:0;border-radius:10px;background:transparent;padding:.45rem .7rem;font-size:.8rem;display:flex;justify-content:space-between;align-items:center;color:#0f172a}.designer-overlay__task-domain.is-active{background:#e2e8f0;font-weight:600}.designer-overlay__task-domain-panel{border-top:1px dashed #cbd5f5;padding:.4rem .7rem .7rem;background:#fff;border-radius:0 0 10px 10px}.designer-overlay__task-domain-count{color:#64748b;font-size:.7rem}.designer-overlay__task-list{max-height:clamp(160px,24vh,320px)}.designer-overlay__task-more{align-self:flex-start;border:1px solid #cbd5f5;border-radius:999px;background:#fff;padding:.2rem .6rem;font-size:.75rem;color:#0f172a}.designer-overlay__task-more:hover{border-color:#1e293b}.designer-overlay__task-domain-tag{font-size:.72rem;color:#64748b}.designer-overlay__task-description{color:#64748b;font-size:.75rem}.designer-overlay__canvas{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.designer-overlay__canvas-toolbar{border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;color:#475569;font-size:.9rem}.designer-overlay__canvas-actions{display:inline-flex;align-items:center;gap:.35rem}.designer-overlay__validation-button{position:relative}.designer-overlay__validation-group{display:inline-flex;align-items:center;gap:.4rem;margin-right:.5rem}.designer-overlay__validation-badge{position:absolute;top:-.4rem;right:-.35rem;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;border-radius:999px;padding:.1rem .4rem;line-height:1;border:2px solid #fff}.designer-overlay__validation-summary{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.designer-overlay__canvas-actions button{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:#0f172a;padding:.35rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer}.designer-overlay__canvas-actions button:disabled{opacity:.4;cursor:not-allowed}.designer-overlay__canvas-actions button:not(:disabled):hover{border-color:#94a3b8;background:#94a3b833}.designer-overlay__canvas-stage{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:stretch;background:repeating-linear-gradient(90deg,rgba(148,163,184,.08),rgba(148,163,184,.08) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(0deg,rgba(148,163,184,.08),rgba(148,163,184,.08) 1px,transparent 1px,transparent 32px)}.designer-flow{width:100%;height:100%}.designer-flow__stage{position:relative;width:100%;height:100%}.designer-flow__drop-zone{width:100%;height:100%}.designer-flow__pill-toggle{font-weight:700;font-size:.75rem;letter-spacing:.02em}.designer-flow__pill-toggle.is-off{opacity:.5}.designer-pipeline-pills{position:absolute;top:14px;left:14px;z-index:80;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.designer-pipeline-pill{pointer-events:auto;border:1px solid var(--pipeline-color, #64748b);background:#ffffffeb;color:#0f172a;border-radius:999px;padding:.25rem .6rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;box-shadow:0 6px 16px #0f172a1f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.designer-pipeline-pill:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a29}.designer-pipeline-pill__dot{width:8px;height:8px;border-radius:999px;background:var(--pipeline-color, #64748b)}.designer-pipeline-pill__label{white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.designer-bulk-toolbar{position:absolute;z-index:85;min-width:240px;max-width:calc(100% - 24px);background:#fff;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 18px 32px #0f172a2e;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.55rem;transform:translate(-50%,-100%)}.designer-bulk-toolbar[data-placement=below]{transform:translate(-50%)}.designer-bulk-toolbar__row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.designer-bulk-toolbar__count{font-size:.75rem;color:#64748b;margin-right:.35rem}.designer-bulk-toolbar button{border:1px solid #cbd5f5;background:#f8fafc;border-radius:8px;padding:.25rem .55rem;font-size:.75rem;color:#0f172a;cursor:pointer}.designer-bulk-toolbar button:hover{background:#e2e8f0}.designer-bulk-toolbar__danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.designer-bulk-toolbar__color{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#475569}.designer-bulk-toolbar__color input[type=color]{border:none;background:transparent;width:28px;height:28px;padding:0;cursor:pointer}.designer-bulk-toolbar__pipelines{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:#475569}.designer-bulk-toolbar__row--duplicate{border-top:1px solid #e2e8f0;padding-top:.4rem}.designer-bulk-toolbar__toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:#475569}.designer-bulk-toolbar__toggle input[type=checkbox]{margin:0}.designer-bulk-toolbar__toggle select{border:1px solid #cbd5f5;border-radius:6px;padding:.2rem .4rem;font-size:.75rem;font-family:inherit;background:#fff}.designer-bulk-toolbar__toggle--select{min-width:140px}.designer-bulk-toolbar__pipeline-list{display:flex;flex-wrap:wrap;gap:.35rem}.designer-bulk-toolbar__pipeline{display:inline-flex;align-items:center;gap:.35rem;background:#f1f5f9;border-radius:999px;padding:.2rem .6rem;color:#0f172a}.designer-context-menu{position:fixed;z-index:90;min-width:220px;max-width:340px;max-height:70vh;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 20px 40px #0f172a2e;padding:.75rem;display:flex;flex-direction:column;gap:.65rem}.designer-context-menu__header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#0f172a;position:sticky;top:0;background:#fff;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0;z-index:1}.designer-context-menu__header-actions{display:flex;align-items:center;gap:.35rem}.designer-context-menu__ai{border:none;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center}.designer-context-menu__ai img{width:20px;height:20px;display:block;opacity:.85}.designer-context-menu__ai:hover img{opacity:1}.designer-context-menu__header-actions .designer-context-menu__help{border:1px solid #cbd5f5;background:#f8fafc;color:#334155;width:22px;height:22px;border-radius:999px;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.designer-context-menu__header-actions .designer-context-menu__help:hover{background:#e2e8f0}.designer-context-menu__modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:120}.designer-context-menu__modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a4d}.designer-context-menu__modal-card{position:relative;width:min(520px,90vw);max-height:80vh;overflow:hidden;background:#fff;border-radius:14px;border:1px solid #e2e8f0;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 48px #0f172a40;z-index:121}.designer-context-menu__modal-card header{display:flex;align-items:center;justify-content:space-between}.designer-context-menu__modal-card h4{margin:0;font-size:1rem}.designer-context-menu__modal-card header button{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:#64748b}.designer-context-menu__modal-card footer{display:flex;gap:.6rem;justify-content:flex-end}.designer-context-menu__modal-card footer button{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:8px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:background .15s ease}.designer-context-menu__modal-card footer button:hover{background:#e2e8f0}.designer-context-menu__modal-card footer button:disabled{opacity:.6;cursor:not-allowed}.designer-context-menu__modal-card textarea{width:100%;min-height:220px;resize:vertical;border-radius:8px;border:1px solid #cbd5f5;padding:10px;font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5}.designer-context-menu__header button{border:none;background:transparent;font-size:1rem;cursor:pointer;color:#64748b}.designer-context-menu label{font-size:.8rem;color:#475569;display:grid;grid-template-columns:minmax(140px,32%) minmax(160px,1fr);column-gap:.75rem;row-gap:.3rem;align-items:center}.designer-context-menu__field-block{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.designer-context-menu__field-block.is-disabled{opacity:.6}.designer-context-menu__field-block.is-readonly{background:#f1f5f9}.designer-context-menu__field-value{font-size:.9rem;color:#1f2937;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.designer-context-menu__field-help{font-size:.75rem;color:#64748b}.designer-context-menu label.designer-context-menu__field--inline{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr);align-items:center;column-gap:.75rem}.designer-context-menu__field--inline>span{min-width:0;text-align:left}.designer-context-menu__field--inline>input,.designer-context-menu__field--inline>select{width:100%;max-width:none}.designer-context-menu__field--stack{display:flex;flex-direction:column;gap:.35rem}.designer-context-menu label>span{font-weight:600;color:#0f172a;grid-column:1}.designer-context-menu .dataset-field__help{font-weight:400;color:#64748b}.designer-context-menu input[type=text],.designer-context-menu input[type=color],.designer-context-menu textarea,.designer-context-menu select{border:1px solid #cbd5f5;border-radius:8px;padding:.35rem .5rem;font-size:.9rem;font-family:inherit;grid-column:2;width:100%}.designer-context-menu input[type=color]{width:48px;height:32px;padding:0}.designer-context-menu textarea{min-height:70px;resize:vertical}.designer-context-menu--modal textarea{min-height:56px}.designer-context-menu select{background:#fff}.designer-context-menu__section{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;color:#475569;padding:.6rem .7rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.designer-context-menu__section>span{font-weight:600;color:#0f172a}.designer-context-menu__pipelines{display:flex;flex-direction:column;gap:.35rem}.designer-context-menu label.designer-context-menu__pipeline{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#475569;grid-template-columns:none}.designer-context-menu label.designer-context-menu__pipeline>span{grid-column:auto}.designer-context-menu label.designer-context-menu__toggle-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#475569;grid-template-columns:none}.designer-context-menu label.designer-context-menu__toggle-row>span{grid-column:auto}.designer-context-menu label.designer-context-menu__toggle-row input,.designer-context-menu__pipeline input{margin:0}.designer-context-menu__toggle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}.designer-context-menu__details{display:flex;flex-direction:column;gap:.4rem}.designer-context-menu__details--toggle{display:block}.designer-context-menu__details--toggle>summary{margin-bottom:.35rem}.designer-context-menu__details summary{font-size:.8rem;color:#475569;cursor:pointer}.designer-context-menu__smart-actions{display:flex;align-items:center;gap:.75rem;margin-top:.4rem;flex-wrap:wrap}.designer-context-menu__smart-summary{display:flex;gap:1.25rem;margin:.5rem 0 .35rem;font-size:.85rem;color:#475569}.designer-context-menu__smart-list{display:grid;gap:.25rem;font-size:.85rem;color:#1f2937}.designer-context-menu__field.is-disabled{opacity:.6}.designer-context-menu__group.is-disabled>summary{color:#94a3b8}.designer-context-menu__error{color:#b91c1c;font-size:.75rem}.designer-context-menu__delete{border:1px solid rgba(239,68,68,.4);background:#ef44441f;color:#b91c1c;border-radius:8px;padding:.35rem .6rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.designer-context-menu__action{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:8px;padding:.35rem .6rem;font-size:.85rem;cursor:pointer;transition:background .15s ease}.designer-context-menu__action:hover{background:#e2e8f0}.designer-context-menu__delete:hover{background:#ef444438}.designer-context-menu--wide{min-width:340px;max-width:560px}.designer-context-menu--modal{position:static;min-width:0;max-width:none;max-height:80vh;overflow-y:auto;overflow-x:hidden;border:none;box-shadow:none;padding:0;background:transparent}.designer-context-menu--modal .designer-context-menu__header{position:static;padding-bottom:0;border-bottom:none}.designer-context-menu__hint{font-size:.72rem;color:#64748b;grid-column:2}.designer-context-menu__hint--success{color:#16a34a;font-weight:600}.designer-context-menu__hint--loading{display:inline-flex;align-items:center;gap:.4rem}.designer-context-menu__spinner{width:12px;height:12px;border-radius:999px;border:2px solid rgba(148,163,184,.5);border-top-color:#0f172a;animation:appHeaderSpin .9s linear infinite}.designer-context-menu__actions{display:flex;gap:.5rem;position:sticky;bottom:0;background:#fff;padding-top:.5rem;border-top:1px solid #e2e8f0;z-index:1}.designer-context-menu__actions button{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:8px;padding:.35rem .6rem;font-size:.82rem;cursor:pointer}.designer-context-menu__actions button:hover{background:#e2e8f0}.designer-context-menu__actions--inline{position:static;background:transparent;border-top:0;padding-top:0;justify-content:flex-start;flex-wrap:wrap}.dataset-token-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;gap:.5rem .6rem;align-items:end;margin-top:.35rem}.designer-context-menu label.dataset-token-field{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:#475569;grid-template-columns:none}.designer-context-menu label.dataset-token-field span{font-weight:600;color:#0f172a}.dataset-token-add{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:999px;padding:.35rem .85rem;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;height:36px;white-space:nowrap}.dataset-token-add:hover{background:#e2e8f0}.dataset-token-list{display:grid;gap:.5rem;margin-top:.5rem}.dataset-token-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.dataset-token-row>div{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dataset-token-value{color:#475569}.dataset-token-remove{width:28px;height:28px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc}.dataset-token-remove:hover{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.designer-overlay__canvas-stage .react-flow{flex:1}.designer-node{border:2px solid #0f172a;border-radius:12px;padding:.45rem .65rem;min-width:180px;background:#fff;box-shadow:0 8px 20px #0f172a14;display:flex;flex-direction:column;gap:.2rem;position:relative;overflow:visible}.designer-node__header{display:inline-flex;align-items:center;gap:.35rem}.designer-node__badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:1px solid currentColor;background:#f8fafc;font-size:.75rem}.designer-node__badge img{width:14px;height:14px;display:block}.designer-node__pill{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;letter-spacing:.02em;text-transform:uppercase;background:#e2e8f0;color:#0f172a}.designer-node__pill--paused{background:#fee2e2;color:#b91c1c}.designer-node__pill--hidden{background:#e0e7ff;color:#4338ca}.designer-node__group-toggle{border:none;background:#0f172a14;color:#475569;width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.designer-node__group-toggle.is-grouped{background:#0ea5e9;color:#fff}.designer-node__group-toggle:hover{background:#0f172a29}.designer-node__group-toggle.is-grouped:hover{background:#0284c7}.designer-node__group-toggle--select{background:#94a3b859;cursor:grab}.designer-node__group-toggle--select:hover{background:#94a3b88c}.designer-node__group-toggle--select:active{cursor:grabbing}.designer-node__pipeline-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.designer-node__pipeline-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.08rem .4rem;border-radius:999px;font-size:.6rem;font-weight:600;letter-spacing:.01em;background:#0f172a14;color:#0f172a}.designer-node__group-badges{display:inline-flex;flex-wrap:wrap;gap:.2rem;margin-left:.35rem}.designer-node__group-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.designer-node__group-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.designer-node__group-badge-row{display:flex;flex-wrap:wrap;gap:.2rem}.designer-node__group-badge{display:inline-flex;align-items:center;padding:.05rem .35rem;border-radius:999px;font-size:.55rem;font-weight:600;background:#0f172a14;color:#0f172a}.designer-node__group-badge--empty{background:#94a3b840;color:#475569}.designer-node__validation-badge{position:absolute;top:-8px;right:-8px;border:none;border-radius:999px;padding:.1rem .4rem;font-size:.6rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;color:#fff;background:#0f172a;box-shadow:0 6px 12px #0f172a33;cursor:pointer}.designer-node__validation-badge--error{background:#dc2626}.designer-node__validation-badge--warning{background:#f59e0b;color:#1f2937}.designer-node__validation-badge--info{background:#2563eb}.designer-node__validation-count{min-width:1rem;text-align:center}.designer-node[data-container-type=pipeline]{border-radius:18px 4px;border-style:dashed;border-width:2px}.designer-node[data-container-type=pipeline] .designer-node__badge{background:#e2e8f0}.designer-node[data-shape=decision]{border-radius:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);padding:.8rem .9rem}.designer-node[data-shape=io]{border-radius:0;clip-path:polygon(10% 0%,100% 0%,90% 100%,0% 100%);padding:.6rem .9rem}.designer-node[data-shape=terminator]{border-radius:999px}.designer-node[data-shape=subroutine]:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:2px solid currentColor;border-radius:8px;pointer-events:none}.designer-node[data-shape=database]{border-radius:18px/8px}.designer-node[data-shape=database]:after{content:"";position:absolute;left:8px;right:8px;top:6px;height:10px;border:2px solid currentColor;border-bottom:none;border-radius:50%/100%;pointer-events:none}.designer-node.is-drop-target{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb66}.designer-node__label{font-weight:600;color:#0f172a}.designer-node__description{font-size:.78rem;color:#475569;margin:0;line-height:1.3;max-height:3.2em;overflow:hidden}.designer-node__meta{display:flex;flex-direction:column;gap:.16rem;margin-top:.2rem;padding-top:.1rem;border-top:1px dashed #e2e8f0;align-items:flex-start}.designer-node__meta--compact{margin-top:.1rem;padding-top:0;border-top:none}.designer-node__pipelines{display:flex;flex-wrap:wrap;gap:.25rem;margin:.1rem 0 0}.designer-node__pipeline-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;border:1px solid var(--pipeline-color, #64748b);color:var(--pipeline-color, #64748b);background:#fff}.designer-node__pipeline-pill.is-grouped{background:var(--pipeline-color, #2563eb);color:#fff}.designer-node__group-list{list-style:none;padding:.25rem .4rem;margin:.2rem 0 0;display:inline-block;flex-direction:column;gap:.25rem;background:#f8fafc;border:1px dashed #cbd5f5;border-radius:.6rem;width:220px!important;min-width:220px!important;max-width:220px!important;flex:0 0 auto;align-self:flex-start;max-height:180px;overflow:auto}.designer-node__group-list+.designer-node__kind{margin-top:.2rem}.designer-node__group-list,.designer-node__group-item{box-sizing:border-box}.designer-node__group-item{display:flex;align-items:center;gap:.4rem;background:#e0e7ff;color:#1e293b;padding:.15rem .5rem;border-radius:.75rem;font-size:.72rem;width:100%}.designer-node__group-item.is-paused{border:1px dashed rgba(148,163,184,.9);background:#f8fafc;color:#64748b}.designer-node__group-label{flex:1}.designer-node__group-label.is-muted{color:#94a3b8}.designer-node__group-override{font-size:.62rem;padding:.1rem .4rem;border-radius:999px;background:#0f172a1f;color:#0f172a;text-transform:uppercase;letter-spacing:.03em}.designer-node__group-status{font-size:.62rem;padding:.1rem .4rem;border-radius:999px;background:#f8717133;color:#b91c1c;text-transform:uppercase;letter-spacing:.03em}.designer-node--group{background:#e2e8f066;border:2px dashed rgba(148,163,184,.8);box-shadow:none;pointer-events:none}.designer-node__group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;border-bottom:1px dashed rgba(148,163,184,.6);pointer-events:auto}.designer-node__group-title{display:inline-flex;align-items:center;gap:.5rem}.designer-node__group-actions{display:inline-flex;align-items:center;gap:.35rem}.designer-node__group-remove{border:none;background:#fee2e2;color:#b91c1c;border-radius:999px;width:26px;height:26px;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.designer-node__group-remove:hover{background:#fecaca}.designer-node__group-edit{border:1px solid #cbd5f5;background:#fff;border-radius:999px;padding:.05rem .35rem;font-size:.7rem;color:#334155;cursor:pointer}.designer-node__group-edit:hover{border-color:#94a3b8}.designer-node__group-name{font-weight:600;color:#0f172a}.designer-node__group-count{font-size:.7rem;padding:.1rem .4rem;border-radius:999px;background:#e2e8f0;color:#475569}.designer-node__container-group-toggle{border:1px solid #cbd5f5;background:#fff;border-radius:999px;padding:.05rem .4rem;font-size:.75rem;color:#334155;cursor:pointer}.designer-node__container-group-toggle:hover{border-color:#94a3b8}.designer-node__group-paused-dot{width:8px;height:8px;border-radius:999px;background:#cbd5f5;border:1px solid #94a3b8;display:inline-block;flex-shrink:0}.designer-node__group-shape{width:18px;height:14px;border:2px solid currentColor;background:#fff;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.designer-node__group-shape[data-shape=decision]{border-radius:0;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.designer-node__group-shape[data-shape=io]{border-radius:0;clip-path:polygon(18% 0%,100% 0%,82% 100%,0% 100%)}.designer-node__group-shape[data-shape=terminator]{border-radius:999px}.designer-node__group-shape[data-shape=subroutine]{box-shadow:inset 0 0 0 2px currentColor,inset 6px 0 0 0 currentColor,inset -6px 0 0 0 currentColor}.designer-node__group-shape[data-shape=database]{border-radius:50%/35%}.designer-node__group-shape[data-shape=database]:after{content:"";position:absolute;left:3px;right:3px;top:0;height:8px;border:2px solid currentColor;border-bottom:none;border-radius:50%/100%;background:#fff}.designer-node__group-handle{position:relative!important;width:12px;height:12px;border-radius:999px;border:2px solid currentColor;background:#fff;flex-shrink:0}.designer-node__group-handle--target{margin-right:.1rem}.designer-node__group-handle--source{margin-left:.1rem}.designer-node__group-branch{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.designer-node__group-branch-row{display:inline-flex;align-items:center;gap:.2rem}.designer-node__group-branch-label{font-size:.6rem;color:#475569;text-transform:uppercase;letter-spacing:.02em}.designer-node__group-handle--branch{width:10px;height:10px}.designer-node__kind{font-size:.8rem;color:#475569;text-transform:capitalize}.designer-node__handle{width:10px;height:10px;border:2px solid currentColor;background:#fff}.canvas-modal--file .canvas-modal__body{flex:1;overflow-y:auto;min-height:0}.canvas-modal__field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.canvas-modal__field>summary{cursor:pointer;font-weight:600;color:#334155;-webkit-user-select:none;user-select:none}.canvas-modal__field--inline{flex-direction:row;align-items:center;justify-content:flex-start;gap:.6rem}.canvas-modal__field--inline select{width:auto;min-width:140px}.canvas-modal__field select{border:1px solid #cbd5f5;border-radius:6px;padding:.45rem .65rem;font-size:.95rem;font-family:inherit;background:#fff}.canvas-modal__field select:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.canvas-modal__field input{border:1px solid #cbd5f5;border-radius:6px;padding:.5rem .75rem;font-size:.95rem;font-family:inherit}.canvas-modal__field input:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.canvas-modal__field input.table-editor__input-invalid{border-color:#ef4444;box-shadow:0 0 0 1px #ef444426}.canvas-modal__checkbox{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;color:#0f172a}.canvas-modal__checkbox input{margin-top:.2rem}.canvas-modal__checkbox strong{display:block;font-size:.95rem;color:#0f172a}.canvas-modal__checkbox span{color:#475569}.canvas-modal__subtitle{margin:.3rem 0 0;color:#64748b;font-size:.9rem}.canvas-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.api-import{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem}.api-import__panel{border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.api-import__panel--preview{background:#f8fafc}.api-import__field{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:#475569}.api-import__field input,.api-import__field select,.api-import__field textarea{border:1px solid #cbd5f5;border-radius:6px;padding:.5rem .75rem;font-size:.95rem;font-family:inherit;resize:vertical}.api-import__grid{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:.75rem}@media(max-width:720px){.api-import__grid{grid-template-columns:1fr}}.api-import__hint{font-weight:500;color:#94a3b8}.api-import__actions{display:flex;flex-wrap:wrap;gap:.5rem}.api-import__status{margin:0;font-size:.9rem;color:#475569}.api-import__status--error{color:#b91c1c}.api-import__columns{display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;padding-right:.25rem}.api-import__column{display:flex;justify-content:space-between;align-items:baseline;padding:.45rem .5rem;border-radius:8px;background:#e2e8f08c;font-size:.9rem;color:#0f172a;gap:.75rem}.api-import__column-original{display:block;font-size:.8rem;color:#64748b}.api-import__column-type{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#475569}.api-import__preview-table{border:1px solid #cbd5f5;border-radius:10px;overflow:hidden}.api-import__preview-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;background:#e2e8f0;font-weight:600;font-size:.85rem;color:#0f172a}.api-import__preview-header span{padding:.45rem .6rem;border-right:1px solid rgba(15,23,42,.08)}.api-import__preview-body{max-height:240px;overflow:auto}.api-import__preview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;font-size:.85rem;color:#0f172a}.api-import__preview-row span{padding:.45rem .6rem;border-top:1px solid rgba(15,23,42,.08);border-right:1px solid rgba(15,23,42,.08);background:#fff}.api-import__preview-row:nth-child(odd) span{background:#f8fafc}.mdlp-import__rows{display:flex;flex-direction:column;gap:.75rem}.mdlp-import__row{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}.mdlp-import__row-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.mdlp-import__row-title{font-weight:600;color:#0f172a}.mdlp-import__row-actions{display:flex;gap:.5rem;align-items:center}.mdlp-import__row-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.mdlp-import__preview{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.mdlp-import__preview textarea{width:100%;min-height:220px}.layout-lanes{margin-top:1.5rem}.layout-lanes__header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:.25rem}.layout-lanes__reset{border:none;background:none;color:#1a73e8;font-size:.85rem;cursor:pointer;padding:0}.layout-lanes__reset:hover{text-decoration:underline}.layout-lanes__hint{margin:0 0 .75rem;color:#475467;font-size:.85rem}.layout-lanes__list{list-style:none;padding:0;margin:0}.layout-lanes__item{display:flex;align-items:center;justify-content:space-between;border:1px solid #d0d5dd;border-radius:8px;padding:.5rem .75rem;margin-bottom:.5rem;background:#f9fafb}.layout-lanes__item-label{font-weight:600;color:#101828;margin-right:.5rem}.layout-lanes__item-badge{font-size:.75rem;color:#667085}.layout-lanes__item-actions button{border:1px solid #d0d5dd;background:#fff;color:#101828;border-radius:4px;padding:.2rem .4rem;margin-left:.25rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.layout-lanes__item-actions button:disabled{opacity:.4;cursor:not-allowed}.stage-import__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1rem}@media(max-width:960px){.stage-import__grid{grid-template-columns:1fr}}.stage-import__panel{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.75rem;min-height:0}.stage-import__panel--side{background:#f8fafc}.stage-import__summary-title{margin:0;font-size:1rem;font-weight:600;color:#0f172a}.stage-import__summary-title .system-tag{margin-left:.5rem}.stage-import__table-controls{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.stage-import__table-actions{display:flex;gap:.5rem}.stage-import__filter{display:flex;gap:.5rem;margin-bottom:.75rem}.stage-import__filter input{flex:1;border:1px solid #cbd5f5;border-radius:8px;padding:.45rem .6rem;font-size:.9rem}.stage-import__filter-reset{border:1px solid #cbd5f5;background:#fff;border-radius:8px;padding:.35rem .9rem;font-size:.85rem;cursor:pointer}.stage-import__table-actions button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .75rem;background:#e0ecff;color:#1d4ed8;font-size:.85rem;cursor:pointer}.stage-import__table-actions button:disabled{opacity:.5;cursor:not-allowed}.stage-import__panel-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#0f172a}.stage-import__refresh{border:1px solid #cbd5f5;border-radius:999px;background:transparent;padding:.2rem .75rem;font-size:.85rem;cursor:pointer;color:#1d4ed8}.stage-import__refresh:disabled{opacity:.55;cursor:not-allowed}.stage-import__list{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.5rem;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.stage-import__table-list{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.5rem;max-height:320px;overflow-y:auto}.stage-import__table-items{display:flex;flex-direction:column;gap:.35rem}.stage-import__table{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center;border:1px solid transparent;border-radius:8px;padding:.35rem .5rem;cursor:pointer}.stage-import__table:hover{border-color:#cbd5f5;background:#f8fafc}.stage-import__table input[type=checkbox]{width:1rem;height:1rem}.stage-import__table-name{font-weight:500;color:#0f172a}.stage-import__table-count{font-size:.8rem;color:#64748b}.stage-import__table-meta{display:inline-flex;align-items:center;gap:.25rem}.stage-import__table-menu{border:1px dashed transparent;background:transparent;color:#475569;font-size:1rem;line-height:1;padding:.05rem .35rem;border-radius:4px;cursor:pointer}.stage-import__table-menu:hover,.stage-import__table-menu:focus{border-color:#6366f1;color:#312e81}.stage-import__dataset{border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;padding:.4rem .6rem;cursor:pointer;font-size:.95rem;color:#0f172a}.stage-import__dataset:hover{border-color:#cbd5f5;background:#f8fafc}.stage-import__dataset.is-selected{border-color:#6366f1;background:#6366f11f;color:#312e81}.stage-import__status{margin:0;font-size:.9rem;color:#475569}.stage-import__status--error{color:#b91c1c}.dataset-push-modal .canvas-modal__body{gap:.75rem}.dataset-push__hint{font-size:.85rem;color:#94a3b8;margin:0}.dataset-push__summary{border:1px solid rgba(148,163,184,.4);border-radius:8px;padding:.75rem;background:#0f172a59;color:#e2e8f0}.dataset-push__summary-title{font-weight:600;margin:0 0 .35rem}.dataset-push__list{margin:0;padding:0;display:grid;gap:.35rem}.dataset-push__list div{display:flex;justify-content:space-between;font-size:.9rem}.dataset-push__list dt{font-weight:600;color:#cbd5f5}.dataset-push__list dd{margin:0;color:#cbd5f5;text-align:right}.file-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:0;padding:0}.file-info div{background:#0f172a80;border-radius:8px;padding:.5rem .75rem}.file-info dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;color:#94a3b8}.file-info dd{margin:0;font-size:.95rem;color:#e2e8f0}.stage-import__summary{display:flex;flex-direction:column;gap:.75rem;font-size:.92rem;color:#334155}.stage-import__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin:0}.stage-import__details dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin:0;color:#94a3b8}.stage-context-menu{position:fixed;background:#fff;border:1px solid #cbd5f5;border-radius:8px;box-shadow:0 20px 40px #0f172a33;padding:.25rem 0;min-width:200px;z-index:1500}.stage-context-menu button{width:100%;border:none;background:transparent;text-align:left;padding:.5rem .9rem;font-size:.9rem;color:#0f172a;cursor:pointer}.stage-context-menu button:hover,.stage-context-menu button:focus{background:#eef2ff}.column-transform-menu{position:fixed;background:#fff;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 25px 50px #0f172a38;padding:.75rem;min-width:240px;max-width:280px;z-index:2000}.column-transform-menu__title{margin:0 0 .5rem;font-size:.9rem;color:#475569}.column-transform-menu__list{display:flex;flex-direction:column;gap:.35rem;margin:0 0 .6rem}.column-transform-menu__option{display:block;width:100%;border:1px solid #cbd5f5;border-radius:8px;background:#f8fafc;padding:.45rem .6rem;text-align:left;font-size:.9rem;color:#0f172a;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.column-transform-menu__option:not(:disabled):hover,.column-transform-menu__option:not(:disabled):focus{background:#eef2ff;border-color:#a5b4fc;color:#1d4ed8}.column-transform-menu__option--secondary{border-style:dashed;background:#fff;color:#475569}.stage-import__details dd{margin:0;color:#0f172a;font-weight:600}.jdbc-import__form{display:flex;flex-direction:column;gap:1rem;min-height:0}.jdbc-import__section{border:1px solid #e2e8f0;border-radius:14px;padding:1rem;background:#f8fafc;display:flex;flex-direction:column;gap:1rem}.jdbc-import__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-height:32vh;overflow-y:auto;padding-right:.35rem}.jdbc-import__fields textarea{resize:vertical;min-height:56px}.jdbc-import__toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center}.jdbc-import__selection{display:flex;gap:.5rem}.jdbc-import__selection button{border:1px solid #cbd5f5;border-radius:999px;padding:.25rem .85rem;background:#f1f5f9;color:#1e3a8a;font-size:.85rem;cursor:pointer}.jdbc-import__selection button:disabled{opacity:.5;cursor:not-allowed}.jdbc-import__relations-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:#334155}.jdbc-import__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;max-height:360px;overflow-y:auto}.jdbc-import__schema{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}.jdbc-import__schema-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.jdbc-import__schema-header label{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:#0f172a}.jdbc-import__schema-count{font-size:.85rem;color:#64748b}.jdbc-import__tables{display:flex;flex-direction:column;gap:.35rem;max-height:200px;overflow-y:auto;padding-right:.25rem}.jdbc-import__table{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:#0f172a}.jdbc-import__table-label{display:inline-flex;align-items:center;gap:.4rem}.jdbc-import__table-flag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:#e0f2fe;color:#0369a1;border-radius:999px;padding:.05rem .35rem;border:1px solid #bae6fd}.jdbc-import__field-label{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.jdbc-import__builder-link{border:1px solid #cbd5f5;background:#eef2ff;color:#1d4ed8;cursor:pointer;font-size:.8rem;padding:.2rem .6rem;border-radius:999px;display:inline-flex;align-items:center;gap:.35rem}.jdbc-import__builder-link:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:700;font-size:.75rem;line-height:1}.jdbc-import__builder-link[data-open=true]:before{content:"-"}.jdbc-import__builder-link:disabled{color:#94a3b8;cursor:not-allowed}.jdbc-builder{margin-top:.5rem;margin-bottom:.5rem;padding:1rem;border-radius:12px;border:1px solid #dbeafe;background:#f8fafc;max-height:45vh;overflow-y:auto}.jdbc-builder__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.jdbc-builder__eyebrow{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.jdbc-builder__close{border:none;background:none;font-size:1.5rem;line-height:1;padding:0;cursor:pointer;color:#475569}.jdbc-builder__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:.75rem}.jdbc-builder__dbtype{display:flex;flex-direction:column;gap:.35rem}.jdbc-builder__dbtype-select{border:1px solid #cbd5f5;border-radius:8px;background:#fff;overflow:hidden;max-height:11rem}.jdbc-builder__dbtype-select select{width:100%;border:none;background:transparent;padding:.35rem .5rem;font:inherit;line-height:1.35;max-height:11rem;overflow-y:auto;box-sizing:border-box}.jdbc-builder__dbtype-select select:focus{outline:none}.jdbc-builder__grid--ssl{margin-top:.25rem}.jdbc-builder__hint{margin:.3rem 0 0;font-size:.8rem;color:#64748b}.jdbc-builder__preview{font-family:var(--code-font, "SFMono-Regular", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "Liberation Mono", "Courier New", monospace);font-size:.85rem;border:1px dashed #c7d2fe;border-radius:8px;padding:.5rem .75rem;margin:.75rem 0;background:#fff;color:#0f172a;word-break:break-all}.jdbc-builder__status{margin:0;font-size:.85rem}.jdbc-builder__status--error{color:#b91c1c}.jdbc-builder__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;align-items:center;margin-top:.5rem}.jdbc-builder__save{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap}.jdbc-builder__save input{border:1px solid #cbd5f5;border-radius:999px;padding:.35rem .75rem;font:inherit;min-width:180px;background:#fff}.jdbc-builder__delete{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.jdbc-import__summary{border-top:1px solid #e2e8f0;padding-top:.5rem;font-size:.9rem;color:#334155}.jdbc-import__status{margin:0;font-size:.9rem;color:#475569}.jdbc-import__status--error{color:#b91c1c}.table-editor__actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.table-editor__fk-suggestions{border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:.85rem;margin-bottom:1rem}.table-editor__fk-suggestions-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.table-editor__fk-suggestions-title{font-weight:700;color:#0f172a}.table-editor__fk-suggestions-hint{margin:.15rem 0 0;color:#64748b;font-size:.85rem}.table-editor__fk-suggestions-list{display:flex;flex-direction:column;gap:.45rem}.table-editor__fk-suggestion-item{border:1px solid #dbeafe;border-radius:10px;background:#fff;padding:.55rem .6rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.table-editor__fk-suggestion-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.table-editor__fk-suggestion-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.table-editor__fk-label{color:#64748b;font-size:.82rem}.table-editor__fk-status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.75rem;font-weight:600;padding:.05rem .4rem}.table-editor__fk-arrow{color:#64748b}.table-editor__fk-confidence{display:inline-flex;align-items:center;border-radius:999px;padding:.05rem .42rem;font-size:.72rem;font-weight:700}.table-editor__fk-confidence.is-high{background:#dcfce7;color:#166534}.table-editor__fk-confidence.is-medium{background:#fef3c7;color:#92400e}.table-editor__fk-confidence.is-low{background:#e2e8f0;color:#334155}.table-editor__fk-suggestions-empty{margin:0;font-size:.88rem;color:#64748b}.file-import{position:relative;display:flex;flex-direction:column;gap:1rem}.file-import__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172aa6;border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:5;padding:1rem;text-align:center}.file-import__overlay-card{background:#0f172ae6;color:#f8fafc;border-radius:16px;padding:1.25rem 1.5rem;max-width:360px;box-shadow:0 20px 45px #0f172a80;display:flex;flex-direction:column;gap:.65rem;align-items:center}.file-import__overlay-title{margin:0;font-size:1.05rem;font-weight:600}.file-import__overlay-hint{margin:0;font-size:.9rem;color:#f8fafcd9}.file-import__dropzone{border:2px dashed #94a3b8;border-radius:12px;padding:2rem;text-align:center;color:#0f172a;transition:border-color .2s ease,background-color .2s ease}.file-import__dropzone.is-active{border-color:#4c8bf5;background:#eef4ff}.file-import__dropzone-subtitle{margin:.75rem 0;color:#475569}.file-import__status{margin-top:.5rem;font-size:.9rem;color:#475569}.file-import__status--error{color:#b91c1c}.file-import__status--muted{color:#94a3b8}.file-import__meta{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.file-import__controls{display:flex;flex-direction:column;gap:.75rem}.file-import__actions{display:flex;justify-content:flex-start;gap:.5rem}.file-import__hint{margin:.25rem 0 0;font-size:.85rem;color:#64748b}.file-import__sheet-panel{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.file-import__sheet-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#475569;gap:.75rem;flex-wrap:wrap}.file-import__sheet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.sheet-merges{margin-top:1.25rem;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff}.sheet-merges__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.sheet-merges__header strong{display:block;color:#0f172a}.sheet-merges__header span{font-size:.85rem;color:#475569}.sheet-merges__new{border:1px solid #cbd5f5;border-radius:999px;padding:.35rem .9rem;background-color:#eef2ff;color:#4338ca;font-weight:600;cursor:pointer}.sheet-merges__list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.5rem}.sheet-merge{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.sheet-merge__label{display:flex;gap:.6rem;align-items:center}.sheet-merge__name{font-weight:600;color:#0f172a}.sheet-merge__meta{display:block;font-size:.8rem;color:#475569}.sheet-merge__actions{display:flex;gap:.25rem}.sheet-merge__actions button{border:0;background:transparent;color:#475569;cursor:pointer;padding:.2rem .4rem;border-radius:.4rem}.sheet-merges__empty{font-size:.85rem;color:#475569;margin:.35rem 0 0}.sheet-merges__error{margin:.5rem 0 0;font-size:.85rem;color:#dc2626}.file-import__sheet{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;border:1px solid transparent;border-radius:10px;background:#fff}.file-import__sheet.is-active{border-color:#4c8bf5;box-shadow:0 0 0 1px #4c8bf526}.file-import__sheet-main{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem}.file-import__sheet-main label{display:flex;align-items:center;gap:.4rem;font-weight:600;color:#0f172a}.file-import__sheet-name{display:inline-flex;align-items:center;gap:.25rem}.file-import__sheet-flag{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:0 .4rem;background:#fbd38d;color:#92400e;border:1px solid rgba(146,64,14,.3)}.file-import__sheet-meta{color:#64748b;font-size:.8rem}.file-import__sheet-tags{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.15rem}.file-import__sheet-mode,.file-import__sheet-recipe{display:block;font-size:.8rem;color:#475569}.file-import__sheet-links{display:block;font-size:.8rem;color:#0f172a}.file-import__sheet-mode em{font-style:normal;color:#b91c1c}.file-import__sheet-actions{display:flex;align-items:center;gap:.5rem}.file-import__sheet-actions select{border-radius:6px;padding:.25rem .5rem;border:1px solid #cbd5f5;background:#fff;font-size:.85rem;color:#0f172a}.file-import__sheet-preview{border:none;background:#e2e8f0;color:#0f172a;font-weight:600;padding:.35rem .75rem;border-radius:999px;cursor:pointer}.file-import__sheet-preview:disabled{background:#cbd5f5;cursor:default}.file-import__sheet-configure{border:none;background:#0f172a;color:#fff;font-weight:600;padding:.35rem .75rem;border-radius:6px;cursor:pointer}.file-import__sheet-dependencies{border:1px solid #cbd5f5;background:#fff;color:#0f172a;font-weight:600;padding:.35rem .75rem;border-radius:6px;cursor:pointer}.sheet-recipe{display:flex;flex-direction:column;gap:.75rem}.sheet-recipe__title{margin:0;font-weight:600;color:#0f172a}.sheet-recipe__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.sheet-recipe__preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding:.75rem;border:1px dashed #cbd5f5;border-radius:10px;background:#f8fafc}.sheet-recipe__preview strong{display:block;font-size:.9rem;color:#0f172a}.sheet-recipe__preview p{margin:.25rem 0 0;font-size:.9rem;color:#475569}.sheet-recipe__data-preview{display:flex;flex-direction:column;gap:.5rem}.sheet-recipe__hint{margin:0;font-size:.85rem;color:#475569}.sheet-recipe__stub-list{grid-column:1 / -1}.sheet-recipe__stub-options{display:grid;gap:.4rem;max-height:180px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem;background:#fff}.sheet-recipe__stub-option{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#0f172a}.canvas-modal__checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:#475569;margin-top:.4rem}.tag-pill{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;border:1px solid #e2e8f0;background:#f1f5f9;font-size:.75rem;color:#475569;text-transform:none}.tag-pill--tabular{background:#e0f2fe;border-color:#7dd3fc;color:#0f172a}.tag-pill--pivot{background:#f5e1ff;border-color:#e0b3ff;color:#6b21a8}.tag-pill--lookup{background:#ccfbf1;border-color:#6ee7b7;color:#065f46}.tag-pill--no-header{background:#fef3c7;border-color:#fcd34d;color:#92400e}.tag-pill--formulas{background:#ffedd5;border-color:#fdba74;color:#9a3412}.tag-pill--large{background:#ede9fe;border-color:#c4b5fd;color:#4c1d95}.tag-pill--profile{background:#e2e8f0;border-color:#94a3b8;color:#1f2937}.sheet-dependencies{display:flex;flex-direction:column;gap:.75rem}.sheet-dependencies__title{margin:0;font-weight:600;color:#0f172a}.sheet-dependencies__rows{display:flex;flex-direction:column;gap:.75rem}.sheet-dependencies__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end;position:relative;padding-right:2.5rem}.sheet-dependencies__picker{display:flex;flex-direction:column;gap:.35rem}.sheet-dependencies__picker select,.sheet-dependencies__picker input{width:100%}.sheet-dependencies__remove{position:absolute;right:0;bottom:.4rem;border:none;background:transparent;color:#b91c1c;font-size:1.5rem;line-height:1;cursor:pointer}.recipe-catalog-modal .canvas-modal__body{display:flex;flex-direction:column;gap:.75rem}.recipe-catalog{display:flex;flex-direction:column;gap:.5rem}.recipe-catalog__filters{display:flex;justify-content:flex-end}.recipe-catalog__filter{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:#5b6472}.recipe-catalog__filter input{margin:0}.recipe-catalog__pill{display:inline-flex;align-items:center;margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.7rem;font-weight:600}.recipe-catalog__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.5);border-radius:10px;background:#0f172a0a}.recipe-catalog__meta p{margin:.15rem 0}.recipe-catalog__file{font-weight:600;color:#0f172a;font-size:1rem}.recipe-catalog__sheet{font-size:.9rem;color:#475569}.recipe-catalog__source{font-size:.8rem;color:#64748b}.recipe-catalog__summary{font-size:.85rem;color:#334155}.recipe-catalog__summary strong{font-weight:600;color:#0f172a}.recipe-catalog__timestamp{font-size:.8rem;color:#94a3b8}.recipe-catalog__actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.recipe-catalog__actions button{border:none;border-radius:6px;padding:.3rem .85rem;font-size:.85rem;cursor:pointer;transition:background .2s ease,color .2s ease}.merge-editor-modal .canvas-modal__body{display:flex;flex-direction:column;gap:.9rem}.merge-editor__sheet-list{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;background:#f8fafc;display:flex;flex-direction:column;gap:.5rem}.merge-editor__sheet{padding:.45rem .4rem;border-radius:8px;border:1px solid transparent}.merge-editor__sheet.is-selected{border-color:#cbd5f5;background:#eef2ff}.merge-editor__sheet-details{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.merge-editor__sheet-details label span{display:block;font-size:.8rem;color:#475569;margin-bottom:.15rem}.merge-editor__sheet-details input,.merge-editor__sheet-details select{width:100%}.merge-editor__error{color:#dc2626;font-size:.9rem}.recipe-catalog__actions button:first-of-type{background:#0f172a;color:#fff}.recipe-catalog__actions button:last-of-type{background:#fee2e2;color:#b91c1c}.recipe-catalog__actions button:first-of-type:hover{background:#1d2340}.recipe-catalog__actions button:last-of-type:hover{background:#fecdd3}.recipe-catalog__empty{margin:0;text-align:center;padding:1rem;border:1px dashed #cbd5f5;border-radius:10px;color:#475569;background:#f8fafc}@media(max-width:640px){.recipe-catalog__row{grid-template-columns:1fr}.recipe-catalog__actions{flex-direction:row;justify-content:flex-start}}.catalog-recipe-editor .sheet-recipe__grid{margin-top:.5rem}.file-import__file-info{display:flex;justify-content:space-between;align-items:center}.file-import__filename{font-weight:600;margin:0}.file-import__filesize{margin:0;color:#475569;font-size:.9rem}.file-import__pattern-editor{margin-top:.75rem;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc;display:grid;gap:.75rem}.file-import__pattern-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.file-import__pattern-header span{color:#64748b;font-size:.85rem}.file-import__pattern-group{display:flex;flex-direction:column;gap:.4rem}.file-import__pattern-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.file-import__pattern-label{font-weight:600;color:#0f172a;font-size:.85rem}.file-import__pattern-hint{font-size:.8rem;color:#64748b}.file-import__pattern-chips{display:flex;flex-wrap:wrap;gap:.4rem}.file-import__pattern-chip{border-radius:999px;border:1px solid #cbd5f5;padding:.15rem .55rem;font-size:.8rem;color:#1f2937;background:#fff}.file-import__pattern-list{display:grid;gap:.5rem}.file-import__pattern-row{display:grid;grid-template-columns:110px 1fr 32px;gap:.5rem;align-items:center}.file-import__pattern-row select,.file-import__pattern-row input{border:1px solid #cbd5f5;border-radius:8px;padding:.35rem .5rem;font-size:.9rem;font-family:inherit;background:#fff}.file-import__pattern-remove{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-import__pattern-remove:hover{background:#e2e8f0}.file-import__pattern-add{align-self:flex-start;border:1px solid #cbd5f5;background:#fff;color:#0f172a;border-radius:999px;padding:.2rem .75rem;font-size:.85rem;cursor:pointer}.file-import__pattern-add:hover{background:#e2e8f0}.table-editor__readonly-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#475569}.table-editor__readonly-field>span{font-weight:600;color:#0f172a}.table-editor__readonly-value{padding:.45rem .6rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;color:#1f2937}.table-editor__inline-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;margin-bottom:.35rem;font-size:.85rem;color:#475569}.table-editor__source-divider{grid-column:1 / -1;margin:.35rem 0 .1rem;font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.table-editor__label-with-help{display:inline-flex;align-items:center;gap:.35rem;position:relative}.table-editor__label-with-badge{display:inline-flex;align-items:center;gap:.4rem}.table-editor__required-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:.1rem .45rem}.table-editor__help-pill{border:1px solid #cbd5f5;background:#f8fafc;color:#475569;border-radius:999px;width:20px;height:20px;font-size:.75rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.table-editor__help-pill:hover{background:#e2e8f0}.table-editor__help-popover{position:absolute;top:130%;left:0;z-index:10;min-width:220px;max-width:320px;background:#fff;border:1px solid #cbd5f5;border-radius:10px;box-shadow:0 18px 30px #0f172a2e;padding:.6rem .7rem;display:grid;gap:.4rem}.table-editor__help-title{font-weight:600;color:#0f172a;font-size:.85rem}.table-editor__help-row{display:grid;gap:.2rem;font-size:.8rem;color:#475569}.table-editor__help-row code{font-family:JetBrains Mono,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:#f1f5f9;border-radius:6px;padding:.15rem .35rem;color:#0f172a}.table-editor__help-close{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;justify-self:flex-end;cursor:pointer}.table-editor__help-close:hover{background:#e2e8f0}.file-import__meta-actions{display:flex;align-items:center;gap:.5rem}.file-import__badge{border-radius:999px;border:1px solid transparent;padding:.15rem .65rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.file-import__badge--csv{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.file-import__badge--xlsx{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.file-import__table-fields{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.file-import__table-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.file-import__table-id{margin:0;font-size:.9rem;color:#475569}.file-import__table-id--recipe{font-weight:600}.file-import__table-id--recipe.is-missing{color:#b91c1c}.file-import__header-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#0f172a}.file-import__recipe-apply select{width:100%;border:1px solid #cbd5f5;border-radius:8px;padding:.45rem .55rem;font-size:.9rem;font-family:inherit;background:#fff}.file-import__header-row{max-width:320px}.file-import__header-row select{border:1px solid #cbd5f5;border-radius:8px;padding:.45rem .55rem;font-size:.9rem;font-family:inherit;background:#fff}.file-import__row-summary{margin:0;font-size:.9rem;color:#475569}.file-import__columns-readonly{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden}.file-import__columns-readonly.is-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafce6;pointer-events:none}.file-import__advanced{margin-top:.9rem;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .9rem;background:#f8fafc}.file-import__advanced-toggle{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#1f2a44}.file-import__advanced-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.file-import__advanced-body{margin-top:.75rem;display:grid;gap:.9rem;max-width:100%;min-width:0}.file-import__advanced-grid{display:grid;gap:.75rem;grid-template-columns:1fr;max-width:100%}.file-import__advanced-section{border:1px solid #e2e8f0;border-radius:10px;padding:.7rem;background:#fff;min-width:0}.file-import__advanced-header{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.6rem;color:#1f2a44}.file-import__advanced-header--toggle{align-items:flex-start;background:none;border:none;padding:0;text-align:left;cursor:pointer;width:100%}.file-import__advanced-section.is-open .file-import__advanced-header--toggle strong{color:#1f49d2}.file-import__advanced-header span{font-size:.75rem;color:#6b7280}.file-import__advanced-list{display:grid;gap:.5rem;max-height:220px;overflow:auto;padding-right:.25rem;min-width:0}.file-import__advanced-list--compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.file-import__advanced-chipbox{display:flex;flex-direction:column;gap:.4rem}.file-import__advanced-chipbox input{width:100%}.file-import__advanced-chiplist{display:flex;flex-wrap:wrap;gap:.4rem;max-width:100%}.file-import__chip{border:1px solid #cfd7e6;border-radius:999px;background:#f7f9fd;color:#2b3a55;font-size:.75rem;padding:.2rem .6rem;cursor:pointer}.file-import__chip--active{border-color:#4c6fff;background:#e9efff;color:#1f49d2}.file-import__advanced-preset{display:flex;flex-wrap:wrap;gap:.4rem}.file-import__advanced-preview{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .6rem;border:1px solid #e0e7f6;border-radius:10px;background:#f6f8ff;max-width:100%;min-width:0;overflow:hidden}.file-import__advanced-preview-title{font-size:.75rem;font-weight:600;color:#1f2a44}.file-import__advanced-preview-meta{font-size:.7rem;color:#5b677e}.file-import__advanced-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr);gap:.6rem;align-items:center}.file-import__advanced-row--span{grid-column:1 / -1;grid-template-columns:minmax(140px,220px) minmax(200px,1fr)}.file-import__advanced-source{font-size:.8rem;color:#1f2a44;word-break:break-word}.file-import__advanced-row input,.file-import__advanced-fixed-row input,.file-import__advanced-fixed-row select{border:1px solid #d6e0f0;border-radius:8px;padding:.35rem .5rem;font-size:.8rem;font-family:inherit}.file-import__advanced-row select{width:100%;min-width:0;border:1px solid #d6e0f0;border-radius:8px;padding:.35rem .5rem;font-size:.8rem;font-family:inherit}.file-import__advanced-check{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:#1f2a44}.file-import__advanced-fixed{display:grid;gap:.45rem}.file-import__advanced-fixed-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(100px,140px) auto;gap:.45rem;align-items:center}.file-import__advanced-preview{border:1px dashed #d6e0f0;border-radius:10px;padding:.7rem;background:#fff}.file-import__advanced-preview-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.file-import__advanced-preview-header span{font-size:.75rem;color:#6b7280}.file-import__advanced-preview-grid{display:grid;gap:.75rem;grid-template-columns:1fr;min-width:0}.file-import__advanced-preview-block{min-width:0}.file-import__advanced-preview-block span{display:inline-block;margin-bottom:.35rem;font-size:.75rem;color:#6b7280;font-weight:600}.file-import__preview-table--muted{opacity:.85}.file-import__columns-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.9rem;color:#475569}.file-import__columns-copy{display:flex;flex-direction:column;gap:.1rem}.file-import__columns-pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.file-import__column-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.45rem .75rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.85rem}.file-import__column-pill-header{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.file-import__column-pill-names{display:flex;flex-direction:column;line-height:1.2}.file-import__column-pill-name{font-weight:600;color:#0f172a}.file-import__column-pill-original{font-size:.75rem;color:#64748b}.file-import__column-pill-type{font-size:.8rem;color:#475569;text-transform:uppercase}.file-import__column-pill-tags{display:flex;flex-wrap:wrap;gap:.25rem}.file-import__preview{margin-top:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.file-import__preview--extended{border-style:dashed;background:#f8fafc}.file-import__preview-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:.9rem;color:#475569}.file-import__preview-actions{display:flex;align-items:center;gap:.35rem}.file-import__preview-icon{border:none;width:34px;height:34px;border-radius:999px;background:#e2e8f0;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem}.file-import__preview-icon.is-active{background:#0f172a;color:#fff}.file-import__preview-icon:disabled{opacity:.4;cursor:not-allowed}.file-import__preview-table{overflow:auto;max-width:100%}.file-import__preview-table table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.85rem}.file-import__preview-table th,.file-import__preview-table td{border:1px solid #e2e8f0;padding:.35rem .5rem;text-align:left;max-width:220px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-import__preview-table th{background:#f1f5f9;font-weight:600}.file-import__inline-button{border:none;background:none;color:#2563eb;font-weight:600;font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline}.file-import__inline-button:disabled{color:#cbd5f5;cursor:not-allowed;text-decoration:none}.file-import__inline-button--icon{width:28px;height:28px;padding:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.file-import__inline-button--icon:hover:not(:disabled){background:#2563eb1a}.file-import__status--warning{color:#92400e;background:#fbbf2426;border-radius:8px;padding:.35rem .5rem;margin-bottom:.5rem}.file-import__profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.file-import__profile{border:1px solid rgba(148,163,184,.4);border-radius:10px;padding:.5rem .75rem;background:#f8fafc}.file-import__profile-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#475569;margin-bottom:.25rem}.file-import__profile-header strong{font-size:.95rem;color:#0f172a}.file-import__profile-body{display:flex;flex-direction:column;gap:.15rem;font-size:.78rem;color:#475569}.file-import__loading-state{display:flex;align-items:center;gap:.85rem;font-size:.9rem;color:#475569}.file-import__loading-state--overlay{margin-top:1rem;justify-content:center}.file-import__spinner{width:8px;height:8px;border-radius:50%;background:#2563eb;position:relative;animation:thinkPulse 1s ease-in-out infinite;opacity:.6}.file-import__spinner:before,.file-import__spinner:after{content:"";position:absolute;top:0;width:8px;height:8px;border-radius:50%;background:#93c5fd;opacity:.6;animation:thinkPulse 1s ease-in-out infinite}.file-import__spinner:before{left:-14px;animation-delay:-.2s;background:#60a5fa}.file-import__spinner:after{left:14px;animation-delay:.2s;background:#1d4ed8}@keyframes thinkPulse{0%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}to{transform:translateY(0);opacity:.4}}@keyframes appHeaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.canvas-modal--file .canvas-modal__actions{justify-content:space-between;flex-wrap:wrap;gap:.5rem}.table-editor__columns{display:flex;flex-direction:column;gap:1rem;max-height:50vh;overflow-y:auto;padding-right:.5rem}.table-editor__auto-columns{border:1px solid #e2e8f0;border-radius:12px;padding:.6rem .7rem;background:#f8fafc;display:grid;gap:.5rem}.table-editor__auto-columns-title{font-weight:600;color:#0f172a;font-size:.85rem}.table-editor__auto-columns-list{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.table-editor__auto-columns-groups{display:grid;gap:.7rem}.table-editor__auto-columns-group{display:grid;gap:.4rem}.table-editor__auto-columns-group-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#475569}.table-editor__auto-column-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .7rem;border:1px solid #cbd5f5;background:#fff;color:#1e293b;font-size:.8rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.table-editor__auto-column-pill:hover:not(:disabled){border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd40}.table-editor__auto-column-pill:disabled{opacity:.6;cursor:not-allowed}.table-editor__auto-column-pill-remove{font-weight:700;color:#ef4444;font-size:.9rem}.table-editor__row{display:flex;flex-direction:column;gap:.75rem;padding:.85rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 12px 22px #0f172a14}.table-editor__row.is-dragging{opacity:.6}.table-editor__row.is-drop-target{border-color:#cbd5f5;background:#f1f5f9}.table-editor__row-primary{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,1fr) minmax(280px,1.4fr) auto;gap:.5rem;align-items:flex-end}.table-editor__row-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.table-editor__dimension-key{grid-column:1 / -1;display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:.5rem;align-items:flex-end}.table-editor__dimension-key-apply,.table-editor__dimension-key-clear{white-space:nowrap}.table-editor__drag-handle{display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#94a3b8;cursor:grab;-webkit-user-select:none;user-select:none;padding:.25rem .4rem;border-radius:8px;background:#f8fafc}.table-editor__row-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.table-editor__grid-full{grid-column:1 / -1}.table-editor__type-box{display:flex;flex-direction:column;gap:.45rem;background:#f8fafc;border-radius:10px;padding:.65rem}.table-editor__type-select{width:100%;border:1px solid #cbd5f5;border-radius:6px;padding:.45rem;background:#fff}.table-editor__type-select:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.table-editor__row-actions{display:flex;gap:.25rem;justify-content:flex-end}.table-editor__row-actions .icon-button{width:32px;height:32px;border-radius:8px;background:#fee2e2;color:#b91c1c}.table-editor__row-actions .icon-button:not(:disabled):hover{background:#fecaca}.table-editor__delete-icon{width:16px;height:16px;fill:currentColor}.table-editor__type-inline .table-editor__type-select{margin-top:0}.table-editor__expression-field input{min-width:220px}.table-editor__expression-preset{margin-top:0;min-width:170px;margin-bottom:.35rem}.table-editor__expression-status{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;margin-left:.4rem;font-size:.9rem;line-height:1}.table-editor__expression-status.is-checking{background:#e0f2fe;color:#075985}.table-editor__expression-status.is-valid{background:#dcfce7;color:#166534}.table-editor__expression-status.is-error{background:#fee2e2;color:#991b1b}.table-editor__expression-button{border-radius:10px;border:1px solid #cbd5f5;background:#eef2ff;color:#312e81;font-weight:600;padding:.35rem .75rem;width:fit-content}.table-editor__expression-button:disabled{opacity:.5;cursor:not-allowed}.table-editor__expression-input-row{display:flex;align-items:center;gap:.5rem}.table-editor__expression-input-row input{flex:1}.table-editor__expression-icon{width:2.1rem;height:2.1rem;border-radius:10px;border:1px solid #cbd5f5;background:#eef2ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.table-editor__expression-icon:disabled{opacity:.5;cursor:not-allowed}.table-editor__formula-builder{display:grid;gap:.8rem}.table-editor__formula-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem .8rem;align-items:end}.table-editor__formula-actions{display:flex;gap:.5rem;flex-wrap:wrap}.table-editor__formula-case-block{border:1px solid #e2e8f0;border-radius:10px;padding:.7rem;background:#f8fafc;display:grid;gap:.55rem}.table-editor__formula-case-block>p{margin:0;font-weight:600;color:#0f172a}.table-editor__formula-case-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:.5rem;align-items:center}.table-editor__hash-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.table-editor__hash-row select,.table-editor__hash-row input{flex:1;min-width:200px}.table-editor__id-constraints{display:flex;flex-direction:column;gap:.4rem}.table-editor__id-constraints-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.table-editor__hash-add{border-radius:10px;border:1px solid #cbd5f5;background:#eef2ff;color:#312e81;font-weight:600;padding:.35rem .75rem}.table-editor__hash-add:disabled{opacity:.5;cursor:not-allowed}.table-editor__hash-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.35rem}.table-editor__hash-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid #cbd5f5;background:#fff;color:#1e293b;font-size:.8rem;padding:.2rem .7rem}.table-editor__hash-chip-remove{font-weight:700;color:#ef4444;font-size:.9rem}.table-editor__hash-empty{margin:.25rem 0 0;font-size:.78rem;color:#94a3b8}.table-editor__master-indexes{margin-top:.75rem}.table-editor__index-list{display:grid;gap:.75rem;margin-top:.5rem}.table-editor__index-card{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc;display:grid;gap:.6rem}.table-editor__index-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.table-editor__index-columns{display:grid;gap:.4rem}.table-editor__index-remove{width:fit-content;border-radius:999px;border:1px solid #fecaca;background:#fee2e2;color:#991b1b;font-weight:600;padding:.25rem .7rem}.table-editor__index-add{margin-top:.75rem;display:grid;gap:.6rem}.admin-config-card{border:1px solid #e2e8f0;border-radius:12px;padding:.9rem;background:#fff;box-shadow:0 10px 20px #0f172a0f;display:grid;gap:.75rem}.admin-config-card h3{margin:0;font-size:.95rem;font-weight:700}.admin-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem .9rem}.admin-config-grid>label{display:flex;align-items:center;gap:.6rem}.admin-config-grid>label>input,.admin-config-grid>label>select,.admin-config-grid>label>textarea{flex:1 1 auto;width:auto;min-width:0}.form-grid .admin-config-grid>label{flex-direction:row;align-items:center}.form-grid .admin-config-grid>label>input,.form-grid .admin-config-grid>label>select,.form-grid .admin-config-grid>label>textarea{margin-top:0}.admin-config-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-config-row>label{display:inline-flex;align-items:center;gap:.5rem;width:auto;margin:0}.admin-config-row input[type=checkbox]{margin:0}.table-editor__combine-actions{display:flex;justify-content:flex-end;margin:.5rem 0 .75rem}.table-editor__combine-sql{padding:.35rem .75rem;border-radius:8px;border:1px solid #cbd5f5;background:#eef2ff;color:#312e81;font-weight:600}.table-editor__combine-sql:disabled{opacity:.5;cursor:not-allowed}.canvas-modal--sql-preview{width:min(900px,90vw);max-height:min(92vh,900px);display:flex;flex-direction:column}.canvas-modal--sql-preview .canvas-modal__body{flex:1;min-height:0;overflow:auto}.canvas-modal--combine-graph{width:min(1100px,92vw)}.canvas-modal--combine-graph .canvas-modal__body{max-height:70vh;overflow:auto}.canvas-modal--combine-mermaid{width:min(1100px,92vw)}.canvas-modal__body--scroll{max-height:78vh;overflow:auto}.canvas-modal--combine-mermaid .mermaid-preview__canvas svg{width:100%;height:auto}.canvas-modal--combine-mermaid .mermaid-preview__canvas{max-height:72vh;overflow:auto}.combine-graph__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem}.combine-graph__meta-item{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.combine-graph__meta-item strong{color:#0f172a;font-weight:700}.combine-graph__grid{display:grid;grid-template-columns:minmax(220px,1fr) 80px minmax(240px,1fr) minmax(240px,1fr);gap:1rem;align-items:start}.combine-graph__grid.combine-graph__grid--single{grid-template-columns:minmax(220px,1fr) 80px minmax(240px,1fr)}.combine-graph__panel{border:1px solid #e2e8f0;border-radius:16px;padding:.85rem;background:#fff;min-height:240px}.combine-graph__panel h4{margin:0 0 .75rem;font-size:1rem;font-weight:700}.combine-graph__panel-body{display:grid;gap:.75rem}.combine-graph__card{border:1px dashed #cbd5f5;border-radius:12px;padding:.6rem .7rem;display:grid;gap:.5rem;background:#f8fafc}.combine-graph__card-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#0f172a;gap:.5rem}.combine-graph__rows{font-size:.75rem;color:#64748b}.combine-graph__chips{display:flex;flex-wrap:wrap;gap:.4rem}.combine-graph__chip{border-radius:999px;padding:.15rem .55rem;font-size:.75rem;background:#eef2ff;color:#312e81;border:1px solid #c7d2fe}.combine-graph__chip.is-key{background:#dcfce7;border-color:#86efac;color:#166534}.combine-graph__empty{font-size:.8rem;color:#94a3b8}.combine-graph__target{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#475569}.combine-graph__target strong{color:#0f172a;font-weight:700}.combine-graph__links{display:grid;grid-template-rows:1fr 1fr;gap:1rem;align-items:center;justify-items:center}.combine-graph__link{width:100%;border-top:2px dashed #cbd5f5;position:relative;height:0}.combine-graph__link span{position:absolute;top:-.85rem;left:50%;transform:translate(-50%);background:#fff;padding:0 .4rem;font-size:.75rem;color:#64748b}.combine-graph__mermaid{margin-top:1.5rem;border-top:1px solid #e2e8f0;padding-top:1rem;display:grid;gap:.75rem}.combine-graph__mermaid-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.combine-graph__mermaid-header h4{margin:0;font-size:1rem}.combine-graph__mermaid-status{font-size:.85rem;color:#2563eb;margin:0}.combine-graph__mermaid-preview{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#fff}.combine-graph__mermaid-code{width:100%;border-radius:12px;border:1px solid #cbd5f5;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;resize:vertical}@media(max-width:960px){.combine-graph__grid{grid-template-columns:1fr}.combine-graph__links{display:none}}.table-editor__sql-preview textarea{width:100%;min-height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem}.table-editor__sql-diff{margin-top:.75rem;border:1px solid #dbe5f4;border-radius:10px;background:#f8fafc}.table-editor__sql-diff-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;border-bottom:1px solid #e2e8f0;font-size:.8rem;color:#475569;cursor:pointer;list-style:none}.table-editor__sql-diff-header::-webkit-details-marker{display:none}.table-editor__sql-diff:not([open]) .table-editor__sql-diff-header{border-bottom:none}.table-editor__sql-diff-body{max-height:220px;overflow:auto}.table-editor__sql-diff-line{display:grid;grid-template-columns:18px 1fr;gap:.4rem;padding:.2rem .7rem;font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.table-editor__sql-diff-line code{white-space:pre-wrap;word-break:break-word}.table-editor__sql-diff-marker{font-weight:700;text-align:center;opacity:.8}.table-editor__sql-diff-line.is-add{background:#f0fdf4;color:#14532d}.table-editor__sql-diff-line.is-remove{background:#fef2f2;color:#9f1239}.table-editor__sql-diff-line.is-context{color:#334155}.s3-browser{display:flex;flex-direction:column;gap:1rem}.s3-browser__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between}.s3-browser__controls .canvas-modal__field--inline input{min-width:260px}.s3-browser__actions{display:flex;gap:.5rem}.s3-browser__lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.s3-browser__section{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.s3-browser__section ul{list-style:none;padding:0;margin:.5rem 0 0;max-height:260px;overflow:auto;display:grid;gap:.4rem}.s3-browser__section button{width:100%;text-align:left;padding:.35rem .5rem;border-radius:6px;border:1px solid transparent;background:transparent;color:#1f2937}.s3-browser__section button:hover{background:#e0e7ff;border-color:#c7d2fe}.s3-browser__file{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;align-items:start;font-size:.9rem}.s3-browser__file-name{border:none;background:none;color:inherit;text-align:left;padding:0;font:inherit;cursor:pointer}.s3-browser__file-name:hover{text-decoration:underline}.s3-browser__file-meta{display:block;font-size:.78rem;color:#64748b;margin-top:.15rem;line-height:1.2}.s3-browser__file-details{display:flex;flex-direction:column;gap:.2rem;min-width:0}.s3-browser__empty{color:#64748b;font-size:.85rem}.excel-analyze{display:flex;flex-direction:column;gap:1rem}.excel-analyze__controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.excel-analyze__mode{display:flex;gap:.5rem;flex-wrap:wrap}.excel-analyze__mode button{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:999px;padding:.3rem .85rem;font-size:.85rem;cursor:pointer}.excel-analyze__mode button.is-active{background:#4f46e5;border-color:#4f46e5;color:#fff}.excel-analyze__lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.excel-analyze__hint{margin:.35rem 0 .5rem;font-size:.85rem;color:#475569}.excel-analyze__file-name{font-size:.9rem;color:#0f172a}.excel-analyze__results{display:flex;flex-direction:column;gap:.85rem}.excel-analyze__results-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.excel-analyze__results-header h4{margin:0}.excel-analyze-modal{width:min(92vw,1500px);max-width:1500px}.canvas-modal__field--wide{flex:1 1 920px;min-width:480px}.excel-analyze__file{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#fff}.excel-analyze__file-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.excel-analyze__file-header strong{display:block}.excel-analyze__file-header span{color:#64748b;font-size:.85rem}.excel-analyze__file-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.excel-analyze__error{color:#b91c1c;font-size:.85rem}.excel-analyze__table-wrapper{border:1px solid #e2e8f0;border-radius:10px;overflow:auto}.excel-analyze__table{width:100%;border-collapse:collapse;font-size:.85rem}.excel-analyze__table th{position:sticky;top:0;background:#eef2ff;text-align:left;padding:.5rem;border-bottom:1px solid #c7d2fe}.excel-analyze__table td{padding:.5rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.excel-analyze__apply-options{display:flex;flex-direction:column;gap:.75rem}.excel-analyze__apply-option{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#0f172a}.excel-analyze__apply-summary{display:flex;gap:1.5rem;font-size:.9rem;color:#334155}.excel-analyze__apply-sheets{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.excel-analyze__apply-sheets-header{display:flex;align-items:center;gap:.75rem;font-weight:600;color:#0f172a}.excel-analyze__apply-sheets-header span{margin-right:auto}.excel-analyze__apply-file{display:flex;flex-direction:column;gap:.5rem}.excel-analyze__apply-sheet-list{display:flex;flex-wrap:wrap;gap:.75rem}.excel-analyze__apply-sheet{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#1f2937}.post-push{display:flex;flex-direction:column;gap:1rem}.post-push__controls{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.post-push__controls .canvas-modal__field{flex:1 1 320px;min-width:220px}.post-push__meta{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.85rem;color:#475569}.post-push__summary{display:flex;gap:1.25rem;font-weight:600;color:#0f172a}.post-push__issues{display:grid;gap:.75rem}.link-button{border:none;background:none;color:#4f46e5;font-weight:600;font-size:.85rem;cursor:pointer;padding:0}.link-button:disabled{color:#94a3b8;cursor:default}.canvas-modal__form-grid{display:grid;gap:.75rem}.table-editor__sql-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.table-editor__sql-actions button{padding:.35rem .8rem;border-radius:8px;border:1px solid #cbd5f5;background:#fff;color:#1f2937;font-weight:600}.table-editor__sql-download{background:#e0f2fe;border-color:#7dd3fc;color:#0c4a6e}.table-editor__sql-run{background:#dcfce7;border-color:#86efac;color:#14532d}.table-editor__sql-run:disabled{opacity:.6;cursor:not-allowed}.table-editor__sql-error{margin-top:.6rem;padding:.5rem .75rem;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d;font-size:.85rem}.table-editor__sql-result{margin-top:.75rem;border-radius:8px;border:1px solid #e5e7eb;background:#f8fafc;padding:.6rem .75rem}.table-editor__sql-success{margin-top:.6rem;padding:.5rem .75rem;border-radius:8px;border:1px solid #bbf7d0;background:#f0fdf4;color:#14532d;font-size:.85rem}.table-editor__sql-validate{background:#fef3c7;border-color:#fcd34d;color:#92400e}.table-editor__sql-validate:disabled{opacity:.6;cursor:not-allowed}.table-editor__sql-result pre{margin-top:.5rem;max-height:200px;overflow:auto;font-size:.8rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem}.table-editor__sql-grid{margin-top:.5rem;max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.table-editor__sql-grid table{width:100%;border-collapse:collapse;font-size:.8rem}.table-editor__sql-grid th,.table-editor__sql-grid td{padding:6px 8px;border-bottom:1px solid #e5e7eb;border-right:1px solid #f1f5f9;text-align:left;white-space:nowrap}.table-editor__sql-grid th:last-child,.table-editor__sql-grid td:last-child{border-right:none}.table-editor__sql-grid th{position:sticky;top:0;background:#f8fafc;z-index:1}.table-editor__mapping--compact{align-items:center;gap:.5rem}.table-editor__source-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:.75rem;cursor:help;position:relative}.table-editor__source-pill:after{content:attr(data-tooltip);position:absolute;left:0;top:calc(100% + 6px);white-space:pre;background:#0f172a;color:#f8fafc;border-radius:8px;padding:8px 10px;font-size:.75rem;line-height:1.4;box-shadow:0 8px 20px #0f172a33;opacity:0;transform:translateY(-4px);pointer-events:none;z-index:2;min-width:180px;max-width:320px}.table-editor__source-pill:hover:after{opacity:1;transform:translateY(0)}.table-editor__transform-field .table-editor__transform-controls{display:flex;gap:.4rem;align-items:center}.table-editor__transform-controls select{flex:1}.table-editor__transform-trigger{width:36px;height:36px;border-radius:8px;border:1px solid #cbd5f5;background:#fff;color:#4338ca;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.table-editor__transform-trigger:disabled{opacity:.4;cursor:not-allowed}.table-editor__transform-trigger:not(:disabled):hover,.table-editor__transform-trigger:not(:disabled):focus{background:#eef2ff;border-color:#a5b4fc;color:#312e81}.table-editor__empty{margin:0;color:#64748b;font-size:.95rem}.table-editor__notice{margin:-.25rem 0 .75rem;font-size:.9rem;color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:.6rem .75rem}.table-editor__source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.65rem;margin-bottom:.5rem}.table-editor__source-grid input{background:#f8fafc;color:#0f172a}.table-editor__dv-section{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;background:#f8fafc;margin-bottom:.75rem}.table-editor__dv-section>summary{font-weight:600;color:#0f172a;cursor:pointer}.table-editor__dv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin-top:.6rem}.table-editor__dv-grid--compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.table-editor__dv-details{margin-top:.6rem}.table-editor__dv-details>summary{font-size:.85rem;color:#475569;cursor:pointer}.table-editor__dv-textarea{grid-column:1 / -1}.table-editor__readonly-pills{min-height:40px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.45rem .5rem;display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start}.table-editor__readonly-pill{background:#f8fafc}.table-editor__combine-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.4rem .75rem;padding-top:.25rem;max-height:180px;overflow-y:auto;padding-right:.25rem;border:1px dashed #cbd5f5;border-radius:10px}.table-editor__combine-keys label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#0f172a}.table-editor__warning{grid-column:1 / -1;margin:.15rem 0 0;font-size:.85rem;color:#b45309}.table-editor__field-error{margin-top:.05rem;font-size:.78rem;color:#b91c1c}.table-editor__reverse-sql{grid-column:1 / -1;border:1px dashed #cbd5f5;border-radius:10px;background:#fff;padding:.55rem .7rem;margin-top:-.2rem}.table-editor__reverse-sql-actions{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.table-editor__reverse-sql-preview{margin-top:.4rem}.table-editor__reverse-sql-note{margin:.35rem 0 0;font-size:.82rem;color:#334155}.table-editor__reverse-sql-list{margin:.28rem 0 0;font-size:.8rem;color:#475569}.table-editor__reverse-sql-list strong{color:#0f172a}.table-editor__lineage-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.table-editor__lineage-item{border:1px solid #dbe6ff;border-radius:10px;background:#f8fbff;padding:.55rem .7rem}.table-editor__lineage-path{margin:0;font-family:JetBrains Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;color:#1f3a68;word-break:break-word}.table-editor__lineage-meta{margin:.25rem 0 0;font-size:.78rem;color:#4a5f86}.table-editor__reverse-sql-pills{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.35rem}.table-editor__reverse-sql-details{margin-top:.5rem;display:grid;gap:.35rem}.table-editor__reverse-sql-details details{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:.35rem .5rem}.table-editor__reverse-sql-details summary{cursor:pointer;color:#334155;font-size:.82rem;font-weight:600}.table-editor__popover-wrap{position:relative}.table-editor__icon-button{border:1px solid #cbd5f5;background:#f8fafc;color:#1f2937;border-radius:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.table-editor__icon-button:hover{background:#e2e8f0;border-color:#94a3b8}.table-editor__icon-button--danger{border-color:#ef444466;color:#b91c1c}.table-editor__icon-button--danger:hover{background:#ef44441f;border-color:#ef444499}.table-editor__popover{position:absolute;top:42px;right:0;min-width:360px;max-width:560px;padding:.65rem .75rem;background:#fff;border:1px solid #cbd5f5;border-radius:12px;box-shadow:0 12px 24px #0f172a2e;z-index:10}.table-editor__popover-title{font-weight:600;margin-bottom:.45rem;color:#0f172a}.table-editor__popover-row{display:flex;justify-content:space-between;gap:.6rem;font-size:.85rem;color:#475569;white-space:nowrap}.table-editor__popover-row strong{color:#0f172a;font-weight:600}.table-editor__dv-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.table-editor__mapping-details{margin-top:.5rem;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .7rem;background:#f8fafc}.table-editor__mapping-details>summary{font-weight:600;color:#334155;cursor:pointer}.table-editor__mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin-top:.5rem}.table-editor__mapping-stage{grid-column:span 2}.table-editor__mapping-advanced{margin-top:.5rem}.table-editor__mapping-advanced>summary{font-size:.85rem;color:#475569;cursor:pointer}.table-editor__mapping-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.table-editor__original{background:#f1f5f9;border-radius:10px;padding:.4rem .6rem}.table-editor__original input{background:transparent;color:#475569;cursor:default}.table-editor__mapping{font-size:.85rem;color:#475569;margin-top:-.25rem}.table-editor__mapping ul{margin:.2rem 0 0;padding-left:1.1rem;color:#0f172a}.primary-button,.secondary-button,.danger-button{border-radius:6px;padding:.45rem .9rem;border:none;font-weight:600;cursor:pointer}.primary-button{background:#2563eb;color:#fff}.secondary-button{background:#e2e8f0;color:#0f172a}.danger-button{background:#ef4444;color:#fff}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed}.erd-table__system-tags{display:flex;flex-wrap:wrap;gap:.25rem;padding:.35rem .75rem 0}.erd-table__system-tag{font-size:.65rem;border-radius:999px;padding:.1rem .45rem;border:1px solid transparent;text-transform:none}.erd-table__system-tag--stage{background:#dcfce7;color:#166534;border-color:#bbf7d0}.erd-table__system-tag--dataset{background:#fff7ed;color:#b45309;border-color:#fed7aa}.erd-table__system-tag--csv{background:#e0f2fe;color:#075985;border-color:#bae6fd}.erd-table__system-tag--xlsx{background:#ecfccb;color:#365314;border-color:#d9f99d}.erd-table__system-tag--pivot{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}.erd-table__system-tag--lookup{background:#fce7f3;color:#9d174d;border-color:#fbcfe8}.erd-table__system-tag--jdbc{background:#e2e8f0;color:#0f172a;border-color:#cbd5f5}.system-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;border:1px solid transparent}.system-tag--stage{background:#dcfce7;color:#166534;border-color:#bbf7d0}.report-modal{max-width:900px}.report-modal__body{display:flex;flex-direction:column;gap:1.25rem;max-height:70vh;overflow-y:auto;scrollbar-gutter:stable}.report-type-toggle{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.report-type-toggle button{border:1px solid #cbd5f5;border-radius:10px;background:#fff;text-align:left;padding:.75rem .85rem;font-weight:600;color:#0f172a;cursor:pointer;transition:border .2s ease,box-shadow .2s ease}.report-type-toggle button small{display:block;font-size:.8rem;color:#475569;font-weight:400}.report-type-toggle button.is-active{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e51a}.report-section{border:1px solid #cbd5f5;border-radius:12px;padding:1rem;background:#f8fafc}.report-section__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.report-section__header h4{margin:0;font-size:1rem}.report-section__header p{margin:.15rem 0 0;color:#475569;font-size:.9rem}.report-scope__count{font-size:.85rem;color:#475569;font-weight:600}.report-scope-toggle{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-top:.75rem}.report-scope-toggle button{border:1px solid #cbd5f5;background:#fff;border-radius:10px;padding:.65rem .85rem;text-align:left;font-weight:600;color:#0f172a;cursor:pointer;transition:border .2s ease,box-shadow .2s ease}.report-scope-toggle button small{display:block;font-weight:400;font-size:.8rem;color:#475569}.report-scope-toggle button.is-active{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e526}.report-tag-panel,.report-table-panel{margin-top:.75rem;border:1px dashed #cbd5f5;border-radius:10px;padding:.85rem;background:#fff}.report-scope__hint{margin:.4rem 0 0;color:#475569;font-size:.85rem}.report-table-panel__head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between}.report-table-search{flex:1;min-width:220px}.report-table-panel__actions{display:flex;gap:.5rem}.text-button{border:none;background:none;color:#4f46e5;font-weight:600;cursor:pointer;padding:0}.text-button:disabled{opacity:.4;cursor:not-allowed}.report-table-list{list-style:none;margin:.75rem 0 0;padding:0;max-height:220px;overflow-y:auto;border-top:1px solid #e2e8f0}.report-table-list li{margin:0}.report-table-list__item{display:flex;gap:.75rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid #e2e8f0}.report-table-list__item input{margin-top:.3rem}.report-table-list__item.is-selected{background:#4f46e50d}.report-table-list__details{flex:1}.report-table-list__title{display:flex;justify-content:space-between;gap:.5rem;font-size:.95rem}.report-table-list__title span{font-size:.8rem;color:#64748b}.report-table-list__details p{margin:.15rem 0 0;font-size:.85rem;color:#475569}.report-table-list__tags{font-style:italic}.report-table-list__count{font-size:.8rem;color:#475569;white-space:nowrap}.report-empty{margin:.5rem 0 0;color:#475569;font-style:italic}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.report-preview,.report-options{border:1px solid #cbd5f5;border-radius:12px;padding:1rem;background:#fff}.report-grid--data{align-items:stretch}.report-data-panel{display:flex;flex-direction:column;gap:.75rem}.report-data-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.report-data-tabs button{border:1px solid #c7d2fe;background:#fff;padding:.4rem .85rem;border-radius:999px;font-size:.9rem;cursor:pointer;color:#4338ca}.report-data-tabs button.is-active{background:#4338ca;color:#fff}.report-preview--data{display:flex;flex-direction:column;gap:.85rem}.report-preview__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.report-preview__stats article{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.report-preview__stats span{display:block;font-size:.8rem;color:#475569}.report-preview__stats strong{display:block;font-size:1.25rem;margin-top:.15rem}.report-preview__badges h5{margin:.75rem 0 .25rem;font-size:.9rem;color:#475569}.report-preview__badges ul{list-style:none;margin:.75rem 0 0;padding:0}.report-preview__badges li{display:flex;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding:.35rem 0;font-size:.9rem}.report-preview__catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.report-dimensions{border:1px solid #cbd5f5;border-radius:12px;padding:1rem;background:#fff}.report-dimensions__header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem}.report-dimensions__header h4{margin:0}.report-dimensions__header p{margin:.15rem 0 0;color:#475569;font-size:.85rem}.report-dimensions__header span{font-size:.9rem;color:#1e1b4b}.report-dimensions__summary{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:#475569;margin-bottom:.75rem}.report-dimensions__table-wrapper{max-height:360px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.report-dimensions__table{width:100%;border-collapse:collapse;font-size:.9rem}.report-dimensions__table th{position:sticky;top:0;background:#eef2ff;padding:.6rem;text-align:left;font-weight:600;border-bottom:1px solid #c7d2fe}.report-dimensions__table td{padding:.6rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.report-dimensions__table td strong{font-weight:600}.report-sources{border:1px dashed #cbd5f5;border-radius:12px;padding:1.5rem;background:#f8fafc;text-align:center}.report-sources__placeholder p{margin:0;font-weight:600;color:#0f172a}.report-sources__placeholder span{display:block;margin-top:.35rem;color:#475569;font-size:.9rem}.report-preview__catalog h5{margin:0 0 .35rem;font-size:.85rem;color:#475569}.report-preview__catalog ul{list-style:none;margin:0;padding:0}.report-preview__catalog li{display:flex;flex-direction:column;gap:.1rem;border:1px solid #e2e8f0;border-radius:10px;padding:.35rem .5rem}.report-preview__catalog li span{font-size:.75rem;color:#475569}.report-options__list{display:flex;flex-direction:column;gap:.6rem}.report-options__divider{height:1px;background:#e2e8f0;margin:1rem 0}.report-options__group{display:flex;flex-direction:column;gap:.75rem}.report-options__dates,.report-options__limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.s3-browser__actions button{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;border-radius:8px;padding:.35rem .75rem;font-size:.85rem;cursor:pointer;transition:background .15s ease}.s3-browser__actions button:hover{background:#e2e8f0}.s3-browser__actions button:disabled{opacity:.6;cursor:not-allowed}.report-chart-style{margin-top:1rem}.report-chart-style__buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.report-chart-style__buttons button{border:1px solid #cbd5f5;border-radius:999px;background:#f8fafc;color:#0f172a;padding:.35rem .9rem;cursor:pointer}.report-chart-style__buttons button.is-active{background:#4f46e5;color:#fff;border-color:#4f46e5}.report-modal__error{margin:0;color:#b91c1c;font-size:.9rem}.workflow-overlay-layers{position:absolute;bottom:.75rem;right:.75rem;display:inline-flex;gap:.4rem;z-index:45}.workflow-overlay-layers__button{border:1px solid #cbd5f5;border-radius:999px;background:#0f172ad9;color:#fff;padding:.2rem .75rem;font-size:.8rem;cursor:pointer}.workflow-overlay-layers__button.is-muted{opacity:.5}.workflow-overlay-layers__button:hover,.workflow-overlay-layers__button:focus-visible{background:#0f172af2}
