.app--v3-flow{--flow-bg:#fff;--flow-surface:#f5f5f5;--flow-surface-warm:#fafafa;--flow-fg:#0d0d0d;--flow-fg-2:#1a1a1a;--flow-muted:#6e6e6e;--flow-meta:#9b9b9b;--flow-border:#e5e5e5;--flow-border-soft:#ededed;--flow-accent:#10a37f;--flow-accent-hover:#0a7a5e;--flow-success:#10a37f;--flow-warn:#f5a623;--flow-danger:#ef4146;--flow-radius-sm:12px;--flow-radius-md:16px;--flow-shadow:0 4px 16px #0d0d0d0f;background:var(--flow-bg);color:var(--flow-fg);font-family:Söhne,Inter,system-ui,-apple-system,Segoe UI,sans-serif,PingFang SC,Microsoft YaHei}.app--v3-flow button,.app--v3-flow input,.app--v3-flow textarea,.app--v3-flow select{font-family:inherit}.app--v3-flow .main--full{background:var(--flow-bg)}.app--v3-flow .topbar{background:var(--flow-bg);border-bottom:1px solid var(--flow-border);height:56px;padding:0 24px}.app--v3-flow .topbar-left,.app--v3-flow .topbar-right{gap:16px}.app--v3-flow .brand-mark{min-width:312px;color:var(--flow-fg);flex:0 0 312px;gap:8px;font-size:13px;font-weight:600}.app--v3-flow .brand-mark .logo{border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-surface-warm);width:28px;height:28px;color:var(--flow-fg);place-items:center;font-size:0;font-weight:600;display:grid}.app--v3-flow .brand-mark .logo:before{content:"TG";font-size:12px}.app--v3-flow .brand-mark .sep,.app--v3-flow .brand-mark .sub{color:var(--flow-muted);font-size:13px;font-weight:500}.app--v3-flow .workspace-switch{border:1px solid var(--flow-border-soft);border-radius:var(--flow-radius-sm);background:var(--flow-surface);color:var(--flow-fg);gap:4px;padding:4px;font-size:16px;line-height:1.65}.app--v3-flow .workspace-switch>a,.app--v3-flow .workspace-switch>button,.app--v3-flow .workspace-switch .workspace-switch-trigger{border-radius:var(--flow-radius-sm);min-width:52px;color:var(--flow-muted);text-align:center;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.2}.app--v3-flow .workspace-switch>a.active,.app--v3-flow .workspace-switch>button.active,.app--v3-flow .workspace-switch .workspace-switch-trigger.active{background:var(--flow-bg);color:var(--flow-fg);box-shadow:var(--flow-shadow)}.app--v3-flow .topbar-create-btn{border:1px solid var(--flow-fg);background:var(--flow-fg);color:#fff;border-radius:12px;min-height:36px;margin-right:0;padding:0 16px;font-size:13px;font-weight:500;line-height:1.2}.app--v3-flow .topbar-create-btn:hover{background:#1a1a1a}.app--v3-flow .topbar-create-icon{display:none}.app--v3-flow .topbar-right .icon-btn{border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-bg);width:36px;min-width:36px;height:36px;color:var(--flow-muted);justify-content:center;align-items:center;padding:0;font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex;position:relative}.app--v3-flow .topbar-right .icon-btn:hover{border-color:var(--flow-meta);background:var(--flow-surface-warm);color:var(--flow-fg)}.app--v3-flow .topbar-right .icon-btn svg{stroke:currentColor;width:18px;height:18px}.app--v3-flow .nk-bell-badge,.app--v3-flow .nk-bell-dot,.app--v3-flow .nk-badge{background:var(--flow-danger);width:7px;min-width:7px;height:7px;box-shadow:0 0 0 2px var(--flow-bg);color:#0000;border-radius:999px;padding:0;font-size:0;line-height:0;top:8px;right:9px}.app--v3-flow .action-center-trigger svg{display:none}.app--v3-flow .action-center-trigger:before{content:"≡";color:var(--flow-fg);font-size:18px;font-weight:500;line-height:1}.app--v3-flow .topbar-user-btn{border:1px solid var(--flow-border);background:var(--flow-bg);border-radius:999px;gap:8px;min-width:110px;min-height:40px;padding:4px 8px 4px 4px}.app--v3-flow .topbar-user-btn:hover{border-color:var(--flow-meta);background:var(--flow-surface-warm)}.app--v3-flow .topbar-user-btn--v3{color:var(--flow-fg);white-space:nowrap;align-items:center;font-size:16px;line-height:1.65;display:inline-flex}.app--v3-flow .topbar-user-avatar{border:1px solid var(--flow-border-soft);background:var(--flow-surface);width:30px;height:30px;color:var(--flow-fg);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.app--v3-flow .topbar-user-main{text-align:left;gap:1px;line-height:1.1;display:grid}.app--v3-flow .topbar-displayname{color:var(--flow-fg);font-size:13px;font-weight:600;line-height:1.1}.app--v3-flow .topbar-role-text{color:var(--flow-muted);font-size:12px;font-weight:500;line-height:1.1}.app--v3-flow .topbar-user-chevron{width:14px;height:14px;color:var(--flow-muted);flex:none}.flow-node-page{background:var(--flow-bg);min-width:1180px;min-height:100%;color:var(--flow-fg);font-family:Söhne,Inter,system-ui,-apple-system,Segoe UI,sans-serif,PingFang SC,Microsoft YaHei;font-size:16px;line-height:1.65}.flow-decision{z-index:18;border-bottom:1px solid var(--flow-border);background:var(--flow-surface-warm);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:82px;padding:16px 24px;display:grid;position:sticky;top:0}.flow-decision--success,.flow-decision--warning,.flow-decision--danger{background:var(--flow-surface-warm)}.flow-decision>.flow-btn:first-child{justify-self:start;width:56px;min-height:32px;padding:0 12px}.flow-decision__main{grid-template-columns:4px minmax(0,1fr);align-items:center;gap:16px;display:grid}.flow-decision__line{background:var(--flow-accent);border-radius:999px;flex:none;width:4px;height:44px}.flow-decision--warning .flow-decision__line,.flow-decision--danger .flow-decision__line{background:var(--flow-accent)}.flow-decision__copy{min-width:0}.flow-decision__copy h2{color:var(--flow-fg);letter-spacing:0;margin:0;font-size:18px;font-weight:600;line-height:1.3}.flow-decision__copy p{color:var(--flow-muted);margin:2px 0 0;font-size:13px;line-height:1.5}.flow-decision__meta{color:var(--flow-muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.flow-page-main{background:var(--flow-bg);padding:24px 24px 48px}.flow-page-header{border-bottom:1px solid var(--flow-border);gap:16px;min-height:120px;padding:0 0 24px;display:grid}.flow-crumbs{color:var(--flow-muted);font-size:13px;line-height:1.35}.flow-page-header__row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid}.flow-page-header h1{color:var(--flow-fg);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:28px;font-weight:600;line-height:1.2;display:flex}.flow-page-header h1>span{color:var(--flow-fg);font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-weight:600}.flow-page-header p{color:var(--flow-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.flow-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:770px;padding-top:0;display:flex}.flow-progress{color:var(--flow-muted);align-items:center;gap:12px;font-size:13px;display:flex}.flow-progress__track{background:var(--flow-surface);width:220px;height:6px;box-shadow:inset 0 0 0 1px var(--flow-border-soft);border-radius:999px;position:relative;overflow:hidden}.flow-progress__track span{border-radius:inherit;background:var(--flow-accent);position:absolute;inset:0 auto 0 0}.flow-progress strong{color:var(--flow-muted);font-family:inherit;font-size:13px;font-weight:400}.flow-node-layout{grid-template-columns:minmax(0,1fr) 384px;align-items:start;gap:20px;margin-top:20px;display:grid}.flow-node-layout__main{gap:16px;min-width:0;display:grid}.flow-node-layout__rail{gap:16px;display:grid;position:sticky;top:92px}.flow-panel,.flow-rail-card{background:var(--flow-bg);border:1px solid var(--flow-border-soft);border-radius:var(--flow-radius-md);box-shadow:none;padding:20px}.flow-panel__title,.flow-rail-card__title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.flow-panel__title h2,.flow-rail-card__title h2{color:var(--flow-fg);margin:0;font-size:18px;font-weight:600;line-height:1.25}.flow-panel__title p{color:var(--flow-muted);margin:3px 0 0;font-size:13px;line-height:1.45}.flow-pill{background:var(--flow-surface);width:fit-content;color:var(--flow-muted);white-space:nowrap;border-radius:9999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;line-height:1.35;display:inline-flex}.flow-pill--success{color:var(--flow-success);background:#10a37f1a}.flow-pill--warning{color:var(--flow-warn);background:#f5a62321}.flow-pill--danger{color:var(--flow-danger);background:#ef41461a}.flow-pill--info{color:var(--flow-success);background:#10a37f1a}.flow-action-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.flow-action-bar--sticky{flex-wrap:nowrap;flex:none}.flow-btn{border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-bg);min-height:36px;color:var(--flow-fg);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.flow-btn:hover:not(:disabled){background:var(--flow-surface-warm);border-color:#d5d5d5}.flow-btn:disabled{opacity:.55;cursor:not-allowed}.flow-btn--primary{border-color:var(--flow-accent);background:var(--flow-accent);color:#fff}.flow-btn--primary:hover:not(:disabled){border-color:var(--flow-accent-hover);background:var(--flow-accent-hover)}.flow-btn--danger{color:var(--flow-danger);border-color:#ef414647}.flow-more{position:relative}.flow-more summary{list-style:none}.flow-more summary::-webkit-details-marker{display:none}.flow-more__menu{z-index:20;border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);background:var(--flow-bg);min-width:220px;box-shadow:var(--flow-shadow);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.flow-more__item{text-align:left;color:var(--flow-fg);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:600}.flow-more__item:hover:not(:disabled){background:var(--flow-surface)}.flow-more__item--danger{color:var(--flow-danger)}.flow-sticky-actions{left:max(24px,50vw - 576px);right:max(24px,50vw - 576px);bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);box-shadow:var(--flow-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;visibility:hidden;background:#ffffffeb;justify-content:space-between;align-items:center;gap:8px;padding:12px;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1),visibility .15s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;transform:translateY(12px)}.flow-sticky-actions.is-visible{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.flow-sticky-actions__leading{flex:auto;min-width:0}.flow-sticky-safe-space{height:calc(76px + env(safe-area-inset-bottom))}.flow-scenario-switcher{flex:auto;align-items:center;gap:8px;min-width:0;max-width:560px;display:flex;position:relative}.flow-scenario-label{color:var(--flow-muted);flex:none;font-size:12px;font-weight:500;line-height:1.2}.flow-scenario-tooltip{border:1px solid var(--flow-border);background:color-mix(in oklab, var(--flow-fg), var(--flow-bg) 10%);max-width:min(360px,70vw);color:var(--flow-bg);white-space:nowrap;box-shadow:var(--flow-shadow);pointer-events:none;z-index:30;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.flow-scenario-strip{scrollbar-width:none;scroll-behavior:smooth;gap:4px;min-width:0;display:flex;overflow-x:auto}.flow-scenario-strip::-webkit-scrollbar{display:none}.flow-scenario-button,.flow-scenario-arrow{border:1px solid var(--flow-border);background:var(--flow-bg);min-width:32px;height:32px;color:var(--flow-muted);border-radius:999px;place-items:center;font-family:Söhne Mono,ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:600;line-height:1;transition:border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1),background .15s cubic-bezier(.16,1,.3,1);display:inline-grid}.app--v3-flow .flow-scenario-button,.app--v3-flow .flow-scenario-arrow{font-family:Söhne Mono,ui-monospace,JetBrains Mono,Menlo,Consolas,monospace}.flow-scenario-button:hover,.flow-scenario-button[aria-current=true]{border-color:var(--flow-accent);background:color-mix(in oklab, var(--flow-accent), var(--flow-bg) 92%);color:var(--flow-accent-hover)}.flow-scenario-arrow{cursor:pointer;background:0 0;min-width:28px;height:28px}.flow-scenario-arrow:disabled{opacity:.34;cursor:default}.flow-step-list{gap:12px;display:grid}.flow-step-card{border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);background:var(--flow-bg);overflow:hidden}.flow-step-card--danger{border-color:#ef414666}.flow-step-card__head{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:16px;display:grid}.flow-step-index{border:1px solid var(--flow-border);background:var(--flow-surface);width:32px;height:32px;color:var(--flow-muted);border-radius:999px;place-items:center;font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;font-weight:600;line-height:1;display:grid}.flow-step-card--success .flow-step-index,.flow-step-card--neutral .flow-step-index{color:var(--flow-success);background:#10a37f1c;border-color:#10a37f3d}.flow-step-card--warning .flow-step-index{color:var(--flow-warn);background:#f5a62321;border-color:#f5a62342}.flow-step-card--danger .flow-step-index{color:var(--flow-danger);background:#ef41461a;border-color:#ef414642}.flow-step-card--info .flow-step-index{color:var(--flow-success);background:#10a37f1a;border-color:#10a37f3d}.flow-step-card__copy{min-width:0}.flow-step-title{color:var(--flow-fg);font-size:16px;font-weight:600;line-height:1.3}.flow-step-summary{color:var(--flow-muted);margin-top:3px;font-size:13px;line-height:1.45}.flow-step-time{color:var(--flow-meta);font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px}.flow-step-card__body{border-top:1px solid var(--flow-border-soft);background:var(--flow-surface-warm);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.flow-mini-field,.flow-kv{border:1px solid var(--flow-border);background:var(--flow-bg);border-radius:10px;gap:4px;min-width:0;padding:12px;display:grid}.flow-mini-field span,.flow-kv span{color:var(--flow-muted);font-size:12px;line-height:1.2}.flow-mini-field strong,.flow-kv strong{color:var(--flow-fg);overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.35}.flow-kv-list{gap:10px;display:grid}.flow-rail-card .flow-kv-list{gap:8px}.flow-rail-card .flow-kv{border:0;border-bottom:1px solid var(--flow-border);background:0 0;border-radius:0;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;padding:0 0 8px;font-size:13px;line-height:1.4}.flow-rail-card .flow-kv:last-child{border-bottom:0;padding-bottom:0}.flow-rail-card .flow-kv span{font-size:13px}.flow-rail-card .flow-kv strong{text-align:right}.flow-rail-card:first-child{min-height:276px}.flow-audit-log,.flow-list,.flow-risk-list,.flow-check-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.flow-audit-log{gap:12px}.flow-rail{gap:16px;display:grid}.flow-audit-log li{color:var(--flow-fg-2);grid-template-columns:48px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.45;display:grid}.flow-audit-log time{color:var(--flow-muted);font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.flow-list li,.flow-risk-list li,.flow-list--inline span{grid-template-columns:8px minmax(0,1fr);gap:8px;padding-left:0;font-size:13px;line-height:1.45;display:grid;position:relative;color:var(--flow-fg-2)!important}.flow-check-list li{grid-template-columns:16px minmax(0,1fr);gap:8px;padding-left:0;font-size:13px;line-height:1.45;display:grid;position:relative;color:var(--flow-fg-2)!important}.flow-list li:before,.flow-risk-list li:before,.flow-list--inline span:before{content:"";background:var(--flow-success);border-radius:999px;width:8px;height:8px;margin-top:7px;position:static}.flow-check-list li:before{content:"✓";color:var(--flow-success);font-weight:600;position:static}.flow-check-list li.tone-warning:before,.flow-check-list li.tone-danger:before{content:"!";color:var(--flow-warn);text-align:center;width:12px;font-size:13px;font-weight:600;background:0 0!important}.flow-risk-list li.tone-warning:before,.flow-list li.tone-warning:before{background:var(--flow-warn)!important}.flow-risk-list li.tone-danger:before,.flow-list li.tone-danger:before{background:var(--flow-danger)!important}.flow-list--inline{flex-wrap:wrap;gap:14px;display:flex}.tone-success{color:var(--flow-success)!important}.tone-warning{color:var(--flow-warn)!important}.tone-danger{color:var(--flow-danger)!important}.tone-info{color:var(--flow-success)!important}.tone-warning:before{background:var(--flow-warn)!important}.tone-danger:before{background:var(--flow-danger)!important}.tone-info:before{background:var(--flow-success)!important}.flow-muted{color:var(--flow-muted);font-size:13px;line-height:1.6}.flow-danger-text{color:var(--flow-danger);font-size:13px}.flow-state-card{max-width:780px;margin:40px auto}.flow-state-card h2{margin:16px 0 6px;font-size:20px;font-weight:600}.flow-skeleton-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.flow-skeleton-stack{gap:10px;display:grid}.flow-skeleton{background:var(--flow-surface);border-radius:8px;height:16px}.flow-skeleton.tall{height:84px}.flow-modal-backdrop{z-index:80;background:#0000005c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.flow-modal{border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);background:var(--flow-bg);width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 16px 40px #0d0d0d24}.flow-modal__header,.flow-modal__footer{border-bottom:1px solid var(--flow-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.flow-modal__footer{border-top:1px solid var(--flow-border);border-bottom:0;justify-content:flex-end}.flow-modal__header h2{margin:0;font-size:18px;font-weight:600}.flow-modal__body{gap:14px;padding:16px;display:grid}.flow-icon-btn{border:1px solid var(--flow-border);background:var(--flow-bg);width:32px;height:32px;color:var(--flow-muted);cursor:pointer;border-radius:10px}.flow-textarea{border:1px solid var(--flow-border);background:var(--flow-bg);width:100%;min-height:96px;color:var(--flow-fg);resize:vertical;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}.flow-modal-note{border-radius:var(--flow-radius-md);color:var(--flow-muted);background:#f5a6231a;border:1px solid #f5a6234d;padding:12px}.flow-modal-note p{margin:0}.flow-modal-backdrop-panel{display:contents}.flow-modal-section-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.node01-contract-grid{grid-template-columns:1.05fr 1fr 1fr;gap:12px;display:grid}.node01-contract-card{border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-surface-warm);flex-direction:column;justify-content:space-between;gap:16px;min-height:178px;padding:16px;display:flex}.node01-contract-card strong{color:var(--flow-fg);margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.35;display:block}.node01-handoff-notice{background:#f5a62314;border-color:#f5a62342}.node01-handoff-notice>div{color:var(--flow-muted);align-items:center;gap:12px;display:flex}.node01-check-result{border-color:var(--flow-border);background:var(--flow-surface-warm);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.node01-check-result strong{color:var(--flow-fg);font-size:16px;font-weight:600;line-height:1.35;display:block}.node01-check-result span:not(.flow-pill){color:var(--flow-muted);margin-top:4px;font-size:13px;line-height:1.45;display:block}.node01-steps-panel{margin-top:-1px}.node01-source-mail{white-space:pre-wrap;border:1px solid var(--flow-border);max-height:220px;color:var(--flow-muted);background:var(--flow-surface);border-radius:10px;padding:10px;font-family:Söhne Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;overflow:auto}.node01-source-files{gap:8px;display:grid}.node01-file-row{border:1px solid var(--flow-border);background:var(--flow-bg);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.node01-file-row small{color:var(--flow-meta)}@media (max-width:1180px){.flow-page-header__row,.flow-decision{grid-template-columns:1fr;align-items:flex-start}.flow-decision__meta{flex-wrap:wrap}.flow-node-layout{grid-template-columns:1fr}.flow-node-layout__rail{position:static}}@media (max-width:760px){.flow-node-page{min-width:0}.flow-page-main{padding:0 14px 40px}.flow-step-card__body,.node01-contract-grid,.flow-skeleton-grid{grid-template-columns:1fr}.flow-sticky-actions{left:12px;right:12px}.flow-sticky-actions .flow-action-bar{justify-content:stretch}.flow-sticky-actions .flow-btn{flex:1}}
