:root{--background:#f4f4f2;--surface:#fff;--surface-subtle:#f8f8f6;--surface-disabled:#f0f0ed;--border:#d7d7d2;--border-strong:#b9bab5;--text:#181a1b;--text-secondary:#4f5559;--text-muted:#72787c;--accent:#7633e8;--accent-hover:#6426cf;--accent-light:#f1eaff;--success:#256244;--success-background:#edf6f0;--success-border:#b9d8c5;--error:#a3362d;--error-background:#fbefed;--error-border:#e5b7b2;--warning:#745817;--warning-background:#faf5e7;--warning-border:#e4d19a;--info:#315c70;--info-background:#edf4f6;--info-border:#b9d0d8;--sidebar-background:#f8f8fa;--sidebar-border:#dedde5;--sidebar-text:#26232c;--sidebar-secondary:#66616f;--header-height:76px;--workspace-gap:14px;--radius:4px}html,body{width:100%;height:100%;margin:0}body{color:var(--text);background:var(--background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,Segoe UI,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.6;overflow:hidden}button,select,textarea{font-family:inherit}button{letter-spacing:0;-webkit-tap-highlight-color:transparent}.app{grid-template-rows:var(--header-height) minmax(0, 1fr);width:100%;height:100dvh;min-height:0;display:grid}.app-header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border-strong);align-items:center;padding:0 28px;display:flex}.app-header h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600;line-height:1.2}.app-header p{color:var(--text-secondary);margin:5px 0 0;font-size:16px;line-height:1.45}.workspace{gap:var(--workspace-gap);min-width:0;min-height:0;padding:var(--workspace-gap);grid-template-columns:minmax(0,30fr) minmax(0,70fr);display:grid}.workflow-shell{gap:var(--workspace-gap);min-width:0;min-height:0;padding:var(--workspace-gap);grid-template-columns:minmax(0,1fr);display:grid}.workflow-shell.has-selection{grid-template-columns:minmax(0,1fr)}.app-body{grid-template-columns:220px minmax(0,1fr);min-width:0;min-height:0;display:grid}.navigation-sidebar{color:#f4f1fb;background:#202a3a;flex-direction:column;min-height:0;padding:28px 14px;display:flex}.navigation-heading{border-bottom:1px solid #ffffff1f;padding:0 12px 28px}.navigation-heading .auth-kicker{color:#bca4f6}.navigation-heading strong{font-size:20px;font-weight:600}.navigation-sidebar nav{gap:5px;margin-top:22px;display:grid}.navigation-sidebar nav button{color:#d9d5e2;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;min-height:48px;padding:0 12px;font-size:15px;display:flex}.navigation-sidebar nav button:hover{color:#fff;background:#ffffff14}.navigation-sidebar nav button.active{color:#fff;background:var(--accent);box-shadow:inset 3px 0 #d7c2ff}.navigation-sidebar nav button span{color:#d6c5f8;text-align:center;background:#ffffff1a;border-radius:12px;min-width:28px;padding:2px 6px;font-size:12px}.navigation-note{color:#aeb0bc;border-top:1px solid #ffffff1f;margin-top:auto;padding:16px 12px 0;font-size:13px}.navigation-note strong{color:#fff;font-size:14px}.navigation-note p{margin:7px 0 0;line-height:1.5}.navigation-logout{color:#d9d5e2;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff29;border-radius:4px;align-items:center;gap:9px;min-height:44px;margin:18px 0 0;padding:0 12px;font-size:14px;display:flex}.navigation-logout:hover{color:#fff;background:#ffffff14;border-color:#ffffff4d}.navigation-logout-icon{place-items:center;width:18px;height:18px;font-size:21px;line-height:1;display:inline-grid;transform:rotate(180deg)}.flow-sections{scrollbar-width:thin;min-height:0;margin-top:18px;overflow-y:auto}.flow-section+.flow-section{margin-top:30px}.flow-section-heading{align-items:center;gap:10px;margin-bottom:12px;display:flex}.flow-section-heading h3{margin:0;font-size:17px;font-weight:600}.flow-section-heading span{color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-size:12px}.flow-card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.flow-card{border:1px solid var(--border);background:linear-gradient(145deg,#fff 35%,#f1eaff);border-radius:8px;flex-direction:column;min-height:210px;padding:18px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex;box-shadow:0 4px 12px #2d1f420f}.flow-card:hover{border-color:#bfa5ec;transform:translateY(-2px);box-shadow:0 10px 24px #2d1f421f}.flow-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #7633e829}.flow-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.flow-card h3{min-height:72px;color:var(--accent);overflow-wrap:anywhere;margin:24px 0 4px;font-size:17px;font-weight:600;line-height:1.45}.flow-card-footer{color:var(--text-muted);border-top:1px solid #7633e821;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:18px;font-size:12px;display:flex}.edit-scope-button{color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;min-height:34px;padding:0 12px;font-size:13px;font-weight:600}.edit-scope-button:hover:not(:disabled){background:var(--accent-hover)}.flow-card-empty{color:var(--text-muted);background:var(--surface-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;padding:44px 20px}.editor-full-page{grid-column:1/-1;width:100%;height:100%}.back-to-workflows{color:var(--accent);cursor:pointer;background:0 0;border:0;margin:0 0 15px;padding:0;font-size:14px;font-weight:600}.back-to-workflows:hover{color:var(--accent-hover);text-decoration:underline}.workflow-directory,.workflow-shell>.editor{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;min-width:0;min-height:0;display:flex}.workflow-shell>.editor-full-page{display:grid}.workflow-directory{padding:22px}.directory-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.directory-header h2{margin:0;font-size:25px;font-weight:600;line-height:1.25}.directory-header p{max-width:620px;color:var(--text-secondary);margin:7px 0 0;font-size:15px}.workflow-count{color:var(--text);justify-items:end;font-size:24px;font-weight:600;line-height:1;display:grid}.workflow-count span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:5px;font-size:12px;font-weight:500}.directory-search-label{color:var(--text-secondary);margin:0;font-size:13px;font-weight:600}.search-toolbar{align-items:center;width:min(360px,42%);display:flex}.search-input-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.search-icon{z-index:1;color:var(--accent);pointer-events:none;font-size:16px;position:absolute;left:14px}.workflow-list{border-top:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-height:0;margin-top:18px;overflow-y:auto}.workflow-row{text-align:left;width:100%;min-height:76px;color:var(--text);background:var(--surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:14px 10px;transition:background-color .12s,padding .12s;display:flex}.workflow-row:hover:not(:disabled){background:var(--accent-light)}.workflow-row.selected{background:var(--accent-light);box-shadow:inset 4px 0 0 var(--accent);padding-left:16px}.workflow-row:disabled{cursor:wait;opacity:.65}.workflow-row-copy{min-width:0}.workflow-row-copy strong{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.4;display:block}.workflow-row-copy span{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.3;display:block}.workflow-list-empty{min-height:180px;color:var(--text-muted);text-align:center;place-items:center;padding:24px;display:grid}.sidebar,.editor{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:0;min-height:0}.section-header{margin-bottom:24px}.section-header h2,.editor-header h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600;line-height:1.3}.section-header p,.editor-header p{max-width:520px;color:var(--text-secondary);margin:7px 0 0;font-size:15px;line-height:1.55}.sidebar{color:var(--sidebar-text);background:var(--sidebar-background);border-color:var(--sidebar-border);flex-direction:column;padding:24px;display:flex;overflow:hidden}.sidebar .section-header h2,.sidebar .form-field label{color:var(--sidebar-text)}.sidebar .section-header p{color:var(--sidebar-secondary)}.environment-tabs{border-radius:var(--radius);background:#fff;border:1px solid #cbc9d2;grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid;overflow:hidden}.environment-tab{color:#5d5865;cursor:pointer;background:#fff;border:0;height:48px;padding:0 16px;font-size:16px;font-weight:600;line-height:1;transition:color .12s,background-color .12s,box-shadow .12s}.environment-tab+.environment-tab{border-left:1px solid #cbc9d2}.environment-tab:hover:not(:disabled){color:#4e1f9c;background:#f8f4ff}.environment-tab.active{color:#fff;background:var(--accent);box-shadow:inset 0 -2px #4a179b33}.environment-tab:disabled{color:#96919e;cursor:not-allowed;opacity:.55;background:#f2f1f4}.form-field{margin-bottom:20px}.form-field label,.editor-body label{color:var(--text);margin-bottom:9px;font-size:16px;font-weight:600;line-height:1.35;display:block}select,textarea{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;transition:border-color .12s,box-shadow .12s}.flow-search{width:100%;height:50px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;padding:0 78px 0 14px;font-size:16px;transition:border-color .12s,box-shadow .12s}.flow-search::placeholder{color:var(--text-muted)}.clear-search{min-height:32px;color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:0 10px;font-size:12px;font-weight:600;position:absolute;right:8px}.clear-search:hover{color:var(--accent);border-color:var(--accent)}.flow-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px #315c5224}.flow-search:disabled{color:var(--text-muted);cursor:not-allowed;background:var(--surface-disabled)}select{cursor:pointer;height:50px;padding:0 42px 0 14px;font-size:16px;line-height:1.4}textarea{letter-spacing:0;font-size:18px;line-height:1.75}select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #315c5224}select:disabled,textarea:disabled{color:var(--text-muted);cursor:not-allowed;background:var(--surface-disabled)}.flow-information{border-radius:var(--radius);background:#fff;border:1px solid #d7d4de;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;margin-bottom:20px;padding:14px;display:grid}.flow-information.hidden{display:none}.flow-name-container{width:100%;min-width:0}.field-caption{color:#77717f;margin-bottom:6px;font-size:13px;font-weight:500;line-height:1.3;display:block}.flow-name-container strong{overflow-wrap:anywhere;word-break:break-word;white-space:normal;color:#27222e;width:100%;max-width:100%;font-size:14px;font-weight:600;line-height:1.5;display:block;overflow:visible}.flow-status,.confirmation-status{border-radius:var(--radius);border:1px solid #0000;flex-shrink:0;padding:6px 9px;font-size:14px;font-weight:600;line-height:1.25}.flow-status{align-self:start;margin-top:1px}.flow-status-active{color:#217149;background:#edf8f1;border-color:#b7dcc5}.flow-status-inactive{color:#6431ad;background:#f3edfc;border-color:#d7c5f1}.confirmation-status-active{color:var(--success);background:var(--success-background);border-color:var(--success-border)}.confirmation-status-inactive{color:#50565a;border-color:var(--border);background:#f0f1ef}.sidebar-note{color:#625d69;border-top:1px solid #d8d6dd;margin-top:auto;padding:14px 0 0}.sidebar-note strong{color:#2e2934;font-size:15px;font-weight:600;line-height:1.4;display:block}.sidebar-note p{color:#625d69;margin:7px 0 0;font-size:14px;line-height:1.6}.native-select{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.custom-select{width:100%;position:relative}.custom-select-button{text-align:left;color:#25212b;border-radius:var(--radius);cursor:pointer;background:#fff;border:1px solid #c9c7d0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;height:auto;min-height:50px;padding:11px 14px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:grid}.custom-select-button:hover:not(:disabled){border-color:#9875cf}.custom-select-button:focus-visible,.custom-select.open .custom-select-button{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7633e81f}.custom-select-button:disabled{color:#8a8591;cursor:not-allowed;background:#efeff2;border-color:#d7d5dc}.custom-select-text{overflow-wrap:anywhere;word-break:break-word;white-space:normal;color:#25212b;width:100%;min-width:0;font-size:14px;font-weight:500;line-height:1.5;display:block;overflow:visible}.custom-select-text.placeholder{color:#77717f;font-weight:400}.custom-select-arrow{border-bottom:2px solid #6c6574;border-right:2px solid #6c6574;flex-shrink:0;align-self:center;width:9px;height:9px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.custom-select.open .custom-select-arrow{border-color:var(--accent);transform:translateY(2px)rotate(225deg)}.custom-select-menu{z-index:500;color:#28232f;border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;background:#fff;border:1px solid #cbc8d2;max-height:min(340px,45vh);padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden auto;box-shadow:0 10px 24px #2d1f4221}.custom-select-menu[hidden]{display:none}.custom-select-option{overflow-wrap:anywhere;word-break:break-word;white-space:normal;text-align:left;color:#302b36;cursor:pointer;background:0 0;border:0;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;min-height:46px;padding:11px 12px;font-size:14px;font-weight:400;line-height:1.5;display:grid}.custom-select-option:hover,.custom-select-option.keyboard-active{color:#4d218f;background:#f8f4ff}.custom-select-option.selected{color:#6525c9;background:var(--accent-light);font-weight:600}.custom-select-option.selected:hover,.custom-select-option.selected.keyboard-active{color:#5920af;background:#eadfff}.custom-select-option.selected:after{content:"✓";color:var(--accent);align-self:start;margin-left:auto;padding-left:10px;font-size:14px;font-weight:600}.custom-select-empty{color:#77717f;padding:12px;font-size:14px;line-height:1.5}.editor{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.editor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;display:flex}.editor-state{color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;padding:6px 10px;font-size:14px;font-weight:500;line-height:1.3}.editor-body{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:20px 24px;display:grid}.editor-body textarea{resize:none;height:100%;min-height:0;padding:18px 20px;overflow:auto}.editor-footer{background:var(--surface-subtle);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:14px 24px;display:flex}.editor-actions{justify-content:flex-end;gap:10px;display:flex}.scope-help{max-width:620px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.primary-button,.secondary-button{border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:155px;height:46px;padding:0 20px;font-size:16px;font-weight:600;line-height:1;transition:color .12s,background-color .12s,border-color .12s;display:inline-flex}.primary-button{color:#fff;background:var(--accent);border:1px solid var(--accent)}.primary-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.secondary-button{color:var(--text);background:var(--surface);border:1px solid var(--border-strong)}.secondary-button:hover:not(:disabled){background:var(--surface-subtle)}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.5}.status{z-index:3000;visibility:hidden;opacity:0;border-radius:var(--radius);pointer-events:none;border:1px solid #0000;width:min(540px,100vw - 44px);padding:15px 17px;font-size:16px;font-weight:500;line-height:1.55;transition:opacity .15s,transform .15s,visibility .15s;position:fixed;top:18px;right:22px;transform:translateY(-5px);box-shadow:0 8px 20px #181a1b1f}.status-success,.status-error,.status-info{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.status-success{color:var(--success);background:var(--success-background);border-color:var(--success-border)}.status-error{color:var(--error);background:var(--error-background);border-color:var(--error-border)}.status-info{color:var(--info);background:var(--info-background);border-color:var(--info-border)}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.75s linear infinite spin;display:none}.spinner.visible{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}body.modal-open{overflow:hidden}.modal-overlay{z-index:2000;visibility:hidden;opacity:0;background:#181a1b85;justify-content:center;align-items:center;padding:20px;transition:visibility .15s,opacity .15s;display:flex;position:fixed;inset:0}.modal-overlay.visible{visibility:visible;opacity:1}.confirmation-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);grid-template-rows:auto minmax(0,1fr) auto;width:min(1040px,96vw);max-height:calc(100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 18px 45px #181a1b3d}.modal-header h2{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600;line-height:1.3}.modal-header p{color:var(--text-secondary);margin:6px 0 0;font-size:15px;line-height:1.5}.icon-button{width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:28px;line-height:1;transition:color .12s,background-color .12s,border-color .12s;display:flex}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-subtle);border-color:var(--border)}.modal-body{min-height:0;padding:20px 22px;overflow-y:auto}.update-details{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;gap:20px;margin-bottom:16px;padding:13px 14px;display:grid}.detail-item{flex-direction:column;gap:4px;min-width:0;display:flex}.detail-item strong{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.5}.warning-message{color:var(--warning);background:var(--warning-background);border:1px solid var(--warning-border);border-radius:var(--radius);align-items:baseline;gap:8px;margin-bottom:16px;padding:13px 14px;font-size:14px;line-height:1.6;display:flex}.warning-message.hidden{display:none}.warning-message strong{flex-shrink:0;font-weight:600}.scope-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.scope-version{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:0;overflow:hidden}.scope-version.changed{border-color:#86a89e}.scope-version-header{background:var(--surface-subtle);border-bottom:1px solid var(--border);padding:13px 16px}.scope-version.changed .scope-version-header{background:var(--accent-light)}.scope-version-header h3{margin:0;font-size:17px;font-weight:600;line-height:1.35}.scope-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#34383b;height:clamp(220px,42vh,390px);padding:16px 18px;font-size:17px;line-height:1.75;overflow:auto}.no-changes-message{text-align:center;color:var(--warning);background:var(--warning-background);border:1px solid var(--warning-border);border-radius:var(--radius);margin-top:14px;padding:13px 14px;font-size:14px;font-weight:600;line-height:1.5}.no-changes-message.hidden{display:none}.modal-footer{background:var(--surface-subtle);border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}textarea,.scope-preview,.modal-body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}textarea::-webkit-scrollbar{width:8px;height:8px}.scope-preview::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar{width:8px;height:8px}.custom-select-menu::-webkit-scrollbar{width:8px;height:8px}textarea::-webkit-scrollbar-track{background:0 0}.scope-preview::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-track{background:0 0}.custom-select-menu::-webkit-scrollbar-track{background:0 0}textarea::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}.scope-preview::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}.modal-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}.custom-select-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}textarea::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box;border:2px solid #0000}.scope-preview::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box;border:2px solid #0000}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box;border:2px solid #0000}.custom-select-menu::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box;border:2px solid #0000}button:focus-visible,select:focus-visible,textarea:focus-visible,.scope-preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (height<=700px) and (width>=901px){:root{--header-height:62px;--workspace-gap:12px}body{font-size:15px}.app-header{padding:0 20px}.app-header h1{font-size:21px}.app-header p{font-size:13px}.workspace{grid-template-columns:340px minmax(0,1fr)}.sidebar{padding:16px}.section-header{margin-bottom:16px}.section-header h2,.editor-header h2{font-size:18px}.section-header p,.editor-header p{font-size:13px}.environment-tabs{margin-bottom:16px}.environment-tab{height:42px;font-size:14px}.form-field label,.editor-body label{font-size:14px}select{height:44px;font-size:14px}textarea,.editor-body textarea{font-size:16px;line-height:1.65}.editor-header,.editor-body{padding:14px 18px}.editor-body textarea{padding:13px 15px}.editor-footer{padding:10px 18px}.primary-button,.secondary-button{height:40px;font-size:14px}.scope-help,.sidebar-note p{font-size:12px}.sidebar-note{padding-top:10px}}@media (width<=900px){html,body{height:100%;min-height:0}body{font-size:16px;overflow:hidden}.app{height:100dvh;min-height:0;display:block}.app-body{grid-template-columns:190px minmax(0,1fr);height:calc(100dvh - 66px);min-height:0}.navigation-sidebar{padding:22px 10px}.navigation-heading{padding-left:8px;padding-right:8px}.navigation-sidebar nav button{padding:0 9px;font-size:14px}.app-header{z-index:100;height:66px;padding:0 18px;position:sticky;top:0}.app-header h1{font-size:23px}.workspace{grid-template-columns:1fr;gap:14px;padding:14px}.workflow-shell,.workflow-shell.has-selection{grid-template-columns:1fr;gap:14px;min-height:0;padding:14px}.workflow-shell>.editor-full-page{min-height:0}.workflow-directory{min-height:58dvh}.workflow-list{max-height:48dvh}.sidebar,.editor{min-height:auto}.sidebar{color:var(--sidebar-text);background:var(--sidebar-background);border-color:var(--sidebar-border)}.sidebar-note{margin-top:18px}.editor{display:block}.section-header h2,.editor-header h2{font-size:20px}textarea,.editor-body textarea{font-size:18px;line-height:1.7}.editor-body textarea{resize:vertical;height:50vh;min-height:320px}.flow-name-container strong,.custom-select-text,.custom-select-option{font-size:14px}.status{width:calc(100vw - 28px);top:78px;right:14px}}@media (width<=600px){body{font-size:16px}.app-header{height:60px;padding:0 14px}.app-header h1{font-size:21px}.app-header p{display:none}.app-body{min-height:auto;display:block}.navigation-sidebar{padding:10px 12px}.navigation-heading,.navigation-note{display:none}.navigation-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.navigation-sidebar nav button{justify-content:center;min-height:42px;padding:0 6px;font-size:12px}.navigation-sidebar nav button span{display:none}.workspace,.workflow-shell,.workflow-shell.has-selection{gap:10px;padding:8px}.workflow-directory{padding:16px}.directory-header{flex-direction:column}.search-toolbar{width:100%}.directory-header h2{font-size:21px}.directory-header p{font-size:14px}.workflow-row{min-height:70px;padding:12px 6px}.flow-sections{margin-top:20px}.flow-card-grid{grid-template-columns:1fr}.sidebar{padding:16px}.section-header{margin-bottom:18px}.section-header h2,.editor-header h2{font-size:20px}.section-header p,.editor-header p{font-size:14px}.environment-tabs{margin-bottom:18px}.environment-tab{height:46px;font-size:15px}.form-field label,.editor-body label{font-size:15px}select{height:48px;font-size:16px}.editor-header{flex-direction:column;gap:10px;padding:16px}.editor-body{padding:16px}textarea,.editor-body textarea{font-size:17px;line-height:1.7}.editor-body textarea{height:45vh;min-height:280px;padding:14px}.editor-footer{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.editor-footer .primary-button{width:100%}.primary-button,.secondary-button{min-height:46px;font-size:15px}.status{width:calc(100vw - 16px);font-size:15px;top:70px;right:8px}.update-details{grid-template-columns:1fr;gap:12px}.scope-comparison{grid-template-columns:1fr}.scope-preview{height:210px;font-size:16px;line-height:1.7}.modal-overlay{align-items:flex-end;padding:8px}.confirmation-modal{width:100%;max-height:calc(100dvh - 16px)}.modal-header,.modal-body{padding:16px}.modal-footer{grid-template-columns:1fr 1fr;padding:12px 16px;display:grid}.modal-footer button{width:100%;min-width:0}.warning-message{flex-direction:column;align-items:flex-start;gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-loading-overlay{z-index:5000;visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#f4f4f2c2;place-items:center;padding:24px;transition:opacity .16s,visibility .16s;display:grid;position:fixed;inset:0}.app-loading-overlay.visible{visibility:visible;opacity:1;pointer-events:auto}.app-loading-panel{min-width:min(320px,100vw - 48px);max-width:440px;color:var(--text);background:#fffffff5;border:1px solid #d7d4de;border-radius:8px;align-items:center;gap:14px;padding:18px 20px;display:flex;box-shadow:0 18px 45px #2d1f4229}.app-loading-spinner{border:3px solid #e5d9fa;border-top-color:var(--accent);border-radius:50%;flex:0 0 34px;width:34px;height:34px;animation:.78s linear infinite app-loading-spin}.app-loading-copy{min-width:0}.app-loading-title{font-size:16px;font-weight:600;line-height:1.35;display:block}.app-loading-message{color:var(--text-secondary);margin-top:3px;font-size:13px;line-height:1.45;display:block}body.app-is-loading{cursor:progress}body.app-is-loading .app{-webkit-user-select:none;user-select:none}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media (width<=600px){.app-loading-overlay{padding:16px}.app-loading-panel{width:100%;min-width:0;max-width:360px;padding:16px 18px}}@media (prefers-reduced-motion:reduce){.app-loading-spinner{animation-duration:1.5s!important}}.auth-page{background:radial-gradient(circle at 15% 10%, #fff 0, transparent 34%), var(--background);place-items:center;width:100%;min-height:100dvh;padding:24px;display:grid}.auth-card,.profile-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;width:min(100%,470px);padding:38px;box-shadow:0 22px 55px #231e2d1f}.auth-brand{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:44px;font-size:15px;font-weight:600;display:flex}.auth-brand-divider{background:var(--border-strong);width:1px;height:28px}.auth-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.auth-heading h1,.profile-modal h2{margin:0;font-size:30px;font-weight:600;line-height:1.2}.auth-heading p,.profile-modal>p{color:var(--text-secondary);margin:12px 0 30px;font-size:15px;line-height:1.55}.auth-form{gap:9px;display:grid}.auth-form label{margin-top:8px;font-size:14px;font-weight:600}.auth-form input{width:100%;height:48px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;padding:0 13px}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #7633e824}.auth-submit{width:100%;min-height:48px;margin-top:18px}.auth-error{color:var(--error);margin:8px 0 0;font-size:14px}.auth-modal-overlay{z-index:6000;background:#181a1b80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.profile-modal h2{font-size:25px}.auth-logout{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;margin:10px auto 0;padding:4px 8px;font-size:14px}@media (width<=600px){.auth-card,.profile-modal{padding:26px}.auth-heading h1{font-size:26px}}.header-brand{align-items:center;gap:18px;min-width:0;display:flex}.logo-link{flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.c5i-logo{object-fit:contain;width:auto;max-width:120px;height:38px;display:block}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:36px}.header-title{min-width:0}.header-title h1{margin:0}.header-title p{margin:4px 0 0}@media (height<=700px) and (width>=901px){.header-brand{gap:14px}.c5i-logo{max-width:105px;height:32px}.header-divider{height:30px}}@media (width<=600px){.header-brand{gap:11px}.c5i-logo{max-width:88px;height:29px}.header-divider{height:28px}.header-title h1{font-size:18px}.header-title p{display:none}}.app-header{align-items:center;gap:22px;display:flex}.admin-portal-button{color:#fff;text-align:center;white-space:nowrap;background:var(--accent);border:1px solid var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:9px;height:42px;min-height:42px;padding:0 15px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:color .14s,background-color .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:0 3px 9px #7633e833}.admin-portal-button span{justify-content:center;align-items:center;line-height:1;display:inline-flex}.admin-portal-icon{stroke:currentColor;stroke-width:1.7px;flex-shrink:0;width:22px;height:22px;display:block}.admin-portal-button:hover{color:#fff;background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 14px #7633e840}.admin-portal-button:active{transform:translateY(0);box-shadow:0 2px 5px #7633e82e}.admin-portal-button:focus-visible{outline-offset:3px;outline:3px solid #7633e840}.header-brand{flex:1;min-width:0}@media (height<=700px) and (width>=901px){.app-header{gap:16px}.admin-portal-button{height:38px;min-height:38px;padding:0 13px;font-size:13px}.admin-portal-icon{width:19px;height:19px}}@media (width<=900px){.app-header{gap:14px}.admin-portal-button{height:40px;min-height:40px;padding:0 12px}}@media (width<=600px){.app-header{gap:10px;padding:0 12px}.admin-portal-button{border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;min-height:42px;padding:0;display:inline-flex}.admin-portal-button span{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-portal-icon{width:21px;height:21px}.header-brand{gap:9px}.c5i-logo{max-width:78px;height:27px}}:root{--background:#f5f5f7;--surface:#fff;--border:#d8d8df;--border-strong:#bfc0c8;--text:#1d1d22;--secondary:#60616b;--accent:#7132d4;--accent-light:#f2ebff;--success:#24734c;--radius:4px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:var(--background);font-family:Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}.admin-page{grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:0;display:grid}.admin-header{background:var(--surface);border-bottom:1px solid var(--border-strong);min-height:76px;padding:0 28px}.admin-header .admin-portal-button span:first-child{font-size:19px}.admin-content{width:100%;min-width:0;height:100%;min-height:0;padding:var(--workspace-gap) var(--workspace-gap) 24px;grid-template-rows:auto auto auto minmax(0,1fr);row-gap:10px;display:grid;overflow:hidden}.page{row-gap:var(--workspace-gap);flex:auto;grid-template-rows:auto auto auto minmax(0,1fr);width:100%;min-width:0;height:auto;min-height:0;padding:0;display:grid;overflow:hidden}.page-header{justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex}.page-header h1{margin:0;font-size:25px;font-weight:600}.page-header p{color:var(--secondary);margin:5px 0 0}.page-header button,.filters button{color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);min-height:42px;padding:0 17px}.page-header button:focus-visible,.admin-header .admin-portal-button:focus-visible{outline-offset:3px;outline:3px solid #7132d440}.filters{grid-template-columns:minmax(260px,1fr) 220px 180px;gap:14px;margin:0;display:grid}.filters label{gap:6px;display:grid}.filters span{font-size:13px;font-weight:600}.filters input,.filters select{width:100%;min-height:43px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 11px}.filters input:focus,.filters select:focus{border-color:var(--accent);outline:2px solid #7132d433}.message{min-height:0;color:var(--secondary)}.message:empty{display:none}.message.error{color:#a42d25}.table-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:auto;grid-row:4;align-self:stretch;min-width:0;min-height:0;display:flex;overflow:hidden}.table-summary{color:var(--secondary);border-bottom:1px solid var(--border);padding:12px 14px}.table-scroll{overscroll-behavior:contain;scrollbar-color:#aaa5b4 transparent;scrollbar-width:thin;flex:1 1 0;min-height:0;padding-bottom:20px;overflow:auto scroll}.table-scroll::-webkit-scrollbar{width:10px;height:10px}.table-scroll::-webkit-scrollbar-track{background:#f4f3f7}.table-scroll::-webkit-scrollbar-thumb{background:#aaa5b4;border:2px solid #f4f3f7;border-radius:10px}.table-scroll::-webkit-scrollbar-thumb:hover{background:#817a8f}table{border-collapse:collapse;width:100%;min-width:1000px}tbody tr:last-child td{border-bottom:0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:13px 14px}th{z-index:1;color:#494a53;background:#fafafd;font-size:13px;font-weight:600;position:sticky;top:0}td{font-size:14px}tbody tr:hover{background:#fcfaff}.event-label{color:var(--accent);background:var(--accent-light);border-radius:var(--radius);padding:4px 7px;font-size:12px;font-weight:600;display:inline-block}.change-text{max-width:400px;color:var(--secondary)}.view-button{color:var(--accent);border-radius:var(--radius);background:#fff;border:1px solid #bda7df;padding:6px 10px}.empty-row{text-align:center;color:var(--secondary);padding:38px}.modal{z-index:1000;background:#18161d80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(1000px,96vw);max-height:calc(100vh - 48px);display:grid}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.modal-header h2{margin:0;font-size:20px}.modal-header p{color:var(--secondary);margin:4px 0 0}.modal-header button{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:26px;line-height:1;display:flex}.modal-close-glyph{line-height:1;display:block;transform:translateY(-1px)}.modal-content{padding:20px;overflow:auto}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.detail-item{border:1px solid var(--border);background:#fafafa;padding:12px}.detail-item span{color:var(--secondary);font-size:12px;display:block}.detail-item strong{overflow-wrap:anywhere;margin-top:4px;display:block}.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.scope-box{border:1px solid var(--border)}.scope-box h3{border-bottom:1px solid var(--border);background:#fafafa;margin:0;padding:10px 12px;font-size:14px}.scope-box pre{white-space:pre-wrap;overflow-wrap:anywhere;height:340px;margin:0;padding:13px;font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.6;overflow:auto}.status-change{text-align:center;border:1px solid var(--border);background:#fafafa;padding:18px;font-size:18px}.status-change strong{color:var(--success)}@media (width<=800px){.admin-header{min-height:64px;padding:0 16px}.admin-content{padding:16px}.admin-header .admin-portal-button{min-height:38px;padding:0 11px}.page{row-gap:14px;padding:0}.page-header{align-items:flex-start}.page-header h1{font-size:22px}.page-header p{font-size:14px}.filters,.detail-grid,.scope-grid{grid-template-columns:1fr}.scope-box pre{height:240px}}@media (width<=520px){.admin-header{gap:12px}.admin-header .admin-portal-button{width:40px;padding:0}.admin-header .admin-portal-button span:last-child{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-header{flex-direction:column;gap:10px}.page-header button{align-self:flex-start}.table-summary{padding:10px 12px}th,td{padding:11px 12px}}
