.login-screen{--login-text:#1f2937;--login-muted:#626d7d;--login-border:#e3e7ed;--login-subtle:#f8f9fb;--login-blue:#2563eb;background:var(--login-subtle);min-height:100dvh;color:var(--login-text);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.login-header{border-bottom:1px solid var(--login-border);background:#fff;justify-content:space-between;align-items:center;gap:24px;min-height:80px;padding:18px max(28px,50vw - 590px);display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-mark{object-fit:cover;border-radius:8px;flex:none;width:36px;height:36px;display:block}.login-brand b{letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.3;display:block}.login-brand span{color:var(--login-muted);margin-top:2px;font-size:12px;display:block}.login-organization{color:var(--login-muted);font-size:13px}.login-content{flex:1;width:min(460px,100% - 40px);margin:48px auto}.login-account{border:1px solid var(--login-border);background:#fff;border-radius:12px;min-width:0;padding:30px}.login-intro h1{font-size:23px;font-weight:650;line-height:1.45}.login-intro p{color:var(--login-muted);margin-top:8px;font-size:13px;line-height:1.7}.login-form{flex-direction:column;gap:18px;margin-top:26px;display:flex}.login-form .field{gap:7px}.login-form .field>span{color:var(--login-text);font-size:13px;font-weight:550}.login-form .input{height:42px;color:var(--login-text);background:#fff;border:1px solid #8993a3;border-radius:8px;padding:10px 12px;line-height:1.4}.login-form .input:focus{border-color:var(--login-blue);outline-offset:1px;outline:2px solid #bfdbfe}.login-form .input:disabled{background:var(--login-subtle)}.login-password-field{display:block;position:relative}.login-password-field>.input{padding-right:44px}.login-show-password{width:36px;height:36px;color:var(--login-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:3px;right:3px}.login-show-password:hover{background:var(--login-subtle)}.login-account .login-submit{background:var(--login-blue);border-color:var(--login-blue);color:#fff;border-radius:8px;width:100%;height:42px;margin-top:2px;font-weight:600}.login-account .login-submit:hover{background:#1d4ed8;border-color:#1d4ed8}.login-account .login-submit:disabled{opacity:.6;cursor:wait}.login-divider{color:var(--login-muted);align-items:center;gap:12px;margin:24px 0 16px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--login-border);flex:1;height:1px}.feishu-login-button{width:100%;min-height:42px}.feishu-brand-icon{object-fit:contain;flex:none;display:block}.login-form[hidden],.login-divider[hidden]{display:none}.feishu-qr-toggle{min-height:38px;margin:6px auto 0;font-size:13px;display:block}.feishu-qr{margin:24px 0 18px}.feishu-qr-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.feishu-qr-toolbar h2{font-size:14px;font-weight:550}.feishu-qr-code,.feishu-qr-frame,.feishu-qr-frame iframe{width:250px;height:250px;display:block}.feishu-qr-code{margin-inline:auto;position:relative}.feishu-qr-frame iframe{border:0}.feishu-qr-overlay{color:var(--login-muted,#626d7d);text-align:center;background:#fff;place-items:center;padding:20px;font-size:13px;display:grid;position:absolute;inset:0}.feishu-qr-status{text-align:center;color:var(--login-muted,#626d7d);margin-top:12px;font-size:12px;line-height:1.7}.auth-help{color:var(--muted,#626d7d);margin-top:8px;font-size:12px;line-height:1.7}.auth-inline-error{color:#b3261e;overflow-wrap:anywhere;margin-top:10px;font-size:12px;line-height:1.7}.auth-text-button{color:#1e40af;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:3px 5px;text-decoration:underline}.login-onboarding{border-top:1px solid var(--login-border);margin-top:24px;padding-top:20px}.login-onboarding h2{font-size:13px;font-weight:600}.login-onboarding p{color:var(--login-muted);margin-top:6px;font-size:12px;line-height:1.8}.login-current{border-top:1px solid var(--login-border);align-items:center;gap:9px;margin-top:22px;padding-top:18px;display:flex}.login-avatar{color:#475569;background:#eff2f6;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:grid}.login-current>div{flex:1;min-width:0}.login-current>div>span{color:var(--login-muted);font-size:11px;display:block}.login-current b{font-size:13px;font-weight:600;display:block}.login-return{color:#1d4ed8;white-space:nowrap;font-size:12px;text-decoration:none}.login-return:hover{text-decoration:underline}.login-error{color:#b91c1c;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:9px;margin-top:20px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.login-error svg{flex:none;margin-top:2px}.login-form .login-error{margin-top:0}.login-demo-details{border:1px solid var(--login-border);background:#fff;border-radius:12px;margin-top:20px;padding:16px}.login-demo-details>summary{color:var(--login-muted);cursor:pointer;font-size:12px}.login-demo-list{gap:0;margin-top:12px;display:grid}.login-demo-user{text-align:left;border:0;border-top:1px solid var(--login-border);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 4px;font-size:12px;display:flex}.login-demo-user:hover{background:var(--login-subtle)}.login-demo-user>b{font-weight:550}.login-demo-user>span{color:var(--login-muted);text-align:right}.login-demo-user:disabled{opacity:.6;cursor:wait}.login-bottom-link{text-align:center;color:#1e40af;margin-top:20px;font-size:13px}.login-footer{border-top:1px solid var(--login-border);color:var(--login-muted);text-align:center;background:#fff;padding:18px 28px;font-size:12px}.login-screen--blueprint{isolation:isolate;background:#fff;position:relative}.login-screen--blueprint>.login-header,.login-screen--blueprint>.login-content,.login-screen--blueprint>.login-footer{z-index:1;position:relative}.login-screen--blueprint>.login-content{margin-bottom:136px}.login-screen--blueprint .login-account{border:0;box-shadow:0 12px 54px #2e483d0e}.login-blueprint{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:80px 0 54px;overflow:hidden}.blueprint-sheet{stroke-linecap:round;stroke-linejoin:round;width:min(1440px,100%);height:auto;position:absolute;bottom:0;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(27% 42% at 50% 42%,#0000 55%,#000 100%);mask-image:radial-gradient(27% 42% at 50% 42%,#0000 55%,#000 100%)}.blueprint-module-compact{display:none}.blueprint-guides{stroke:#edf1f3;stroke-width:1px;stroke-dasharray:4 7}.blueprint-frame{stroke:#d4e0e5;stroke-width:1.3px}.blueprint-registration{stroke:#d4e0e5;stroke-width:1px}.blueprint-seedling{stroke:#8bb79b;stroke-width:1.15px;fill:#e8f2eb}.blueprint-root{stroke:#bad1c2;fill:none}.blueprint-process{position:absolute}.blueprint-process-line{stroke:#dce6e9;stroke-width:1px;stroke-dasharray:4 5}.blueprint-stage-ring{fill:#fff;stroke:#c6d9cf;stroke-width:1px}.blueprint-stage-dot{fill:#9bbfa9}.blueprint-stage-code{fill:#96aaa1;letter-spacing:.06em;font-size:11px;font-weight:600}.blueprint-stage-name{fill:#8a9ba5;font-size:12px}.blueprint-process-horizontal,.blueprint-route-short{display:none}@media (width>=951px) and (height<=900px){.login-screen--blueprint>.login-content{margin-bottom:48px}.blueprint-sheet{top:0;bottom:auto}.blueprint-route-bottom{display:none}.blueprint-route-short{display:block}}@media (width>=951px) and (width<=1100px) and (height<=900px){.blueprint-route-short .blueprint-stage-code,.blueprint-route-short .blueprint-stage-name{font-size:16px}}@media (width<=950px){.blueprint-sheet{display:none}.blueprint-module-compact{opacity:.7;stroke-linecap:round;stroke-linejoin:round;width:410px;height:auto;display:block;position:absolute;bottom:68px;left:-185px;-webkit-mask-image:linear-gradient(90deg,#000 55%,#0000);mask-image:linear-gradient(90deg,#000 55%,#0000)}.blueprint-process-horizontal{width:min(440px,100% - 40px);display:block;inset:auto auto 20px 50%;transform:translate(-50%)}}@media (width<=600px){.login-blueprint{top:72px}.login-header{min-height:72px;padding:16px 20px}.login-organization{display:none}.login-content{margin:28px auto 36px}.login-account{padding:24px 20px}.login-intro h1{font-size:22px}.login-demo-user{min-height:52px}.login-form .input,.login-account .login-submit,.feishu-login-button{min-height:44px}}.dashboard-page{--dash-border:#e3e7ed;--dash-subtle:#f8f9fb;--dash-muted:#626d7d;--dash-text:#1f2937;color:var(--dash-text);font-variant-numeric:tabular-nums}.dashboard-page .page-head{align-items:center;margin-bottom:24px}.dashboard-page .page-head h1{letter-spacing:-.025em;font-size:25px;font-weight:650}.dashboard-page .lede{color:var(--dash-muted);margin-top:7px;font-size:13px;line-height:1.65}.dash-summary{border:1px solid var(--dash-border);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;display:grid;overflow:hidden}.dash-stat{min-width:0;padding:20px}.dash-stat+.dash-stat{border-left:1px solid var(--dash-border)}.dash-stat>span{color:var(--dash-muted);font-size:13px;display:block}.dash-stat>strong{letter-spacing:-.025em;margin:10px 0 5px;font-size:29px;font-weight:650;line-height:1.3;display:block}.dash-stat>small{color:var(--dash-muted);font-size:12px}.dashboard-page .dash-danger{color:#b3261e}.dash-panel{border:1px solid var(--dash-border);background:#fff;border-radius:12px;min-width:0;overflow:hidden}.dash-panel-head{border-bottom:1px solid var(--dash-border);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:18px 20px;display:flex}.dash-panel-head h2{letter-spacing:0;font-size:16px;font-weight:650;line-height:1.45}.dash-panel-head p{color:var(--dash-muted);margin:5px 0 0;font-size:12px;line-height:1.6}.dash-secondary{color:var(--dash-muted);font-size:12px}.dash-panel-head>.dash-secondary,.dash-panel-head>.dash-text-link{flex-shrink:0}.dash-phase-panel{margin-bottom:24px}.dash-phases{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dash-phase{min-width:0;padding:20px}.dash-phase+.dash-phase{border-left:1px solid var(--dash-border)}.dash-phase-name{flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;display:flex}.dash-phase-name>span{color:#1e40af;font-size:12px;font-weight:600}.dash-phase-name>b{font-weight:550}.dash-phase-value{align-items:baseline;gap:6px;margin:14px 0 12px;display:flex}.dash-phase-value>strong{font-size:25px;font-weight:600;line-height:1.2}.dash-phase-value>span,.dash-phase>small{color:var(--dash-muted);font-size:12px}.dash-distribution{background:#edf0f5;border-radius:3px;height:5px;margin-bottom:7px;overflow:hidden}.dash-distribution>span{border-radius:inherit;background:#6a91df;height:100%;display:block}.dash-filters{background:var(--dash-subtle);border-bottom:1px solid var(--dash-border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 20px;display:flex}.dash-filters>label{flex:0 170px;gap:6px;min-width:0;display:grid}.dash-filters>label>span{font-size:12px;font-weight:550}.dash-filters>.dash-search{flex:0 340px}.dash-filters .input{background:#fff}.dash-filters .btn{flex-shrink:0}.dashboard-page .portfolio-table{font-size:13px}.dashboard-page .portfolio-table th{background:var(--dash-subtle);color:var(--dash-muted);border-color:var(--dash-border);padding:11px 14px;font-size:12px;position:static}.dashboard-page .portfolio-table td{border-color:var(--dash-border);padding:14px}.dashboard-page .portfolio-table .dash-project-cell{min-width:185px;max-width:280px}.dash-project-link{color:var(--dash-text);gap:4px;text-decoration:none;display:grid}.dash-project-link b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.dash-project-link:hover b{color:#1e40af;text-underline-offset:4px;text-decoration:underline}.dash-tags{flex-wrap:wrap;gap:4px;display:flex}.dash-tags:not(:empty){margin-top:6px}.dash-stage-label{margin-bottom:5px;font-size:12px}.dash-gate-name,.dashboard-page .portfolio-table td>small{display:block}.dash-gate-name{margin-bottom:4px;font-size:13px;font-weight:550}.dash-completeness{gap:6px;min-width:76px;max-width:120px;display:grid}.dash-completeness>span{font-size:12px}.dash-risk-count{white-space:nowrap}.dash-panel-foot{color:var(--dash-muted);background:var(--dash-subtle);border-top:1px solid var(--dash-border);padding:12px 20px;font-size:12px;line-height:1.6}.dash-state{padding:20px}.dashboard-page .skeleton{background:#f1f3f6;animation:none}.dash-error{color:#8f241e;background:#fef4f3;border:1px solid #e8a49e;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px;padding:16px;display:flex}.dash-error>div{flex:180px;min-width:0}.dash-error b{font-size:14px;font-weight:600}.dash-error p{color:inherit;overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.dashboard-page .empty{color:var(--dash-muted);padding:40px 20px;font-size:13px;line-height:1.7}.dashboard-page .empty b{color:var(--dash-text);font-size:15px}.dash-workbench-grid{grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);align-items:start;gap:24px;display:grid}.dash-task-filters{border-bottom:1px solid var(--dash-border);flex-wrap:wrap;gap:8px;padding:14px 20px;display:flex}.dash-task-filters>button{border:1px solid var(--dash-border);color:#515c6c;cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:5px 10px;font-size:12px;display:inline-flex}.dash-task-filters>button:hover{background:var(--dash-subtle)}.dash-task-filters>button[aria-pressed=true]{color:#1e40af;background:#eff6ff;border-color:#b8cdf7}.dash-task-filters>button>span{font-variant-numeric:tabular-nums}.dash-task-list,.dash-mine-list{margin:0;padding:0;list-style:none}.dash-task-list>li{align-items:center;gap:18px;padding:18px 20px;display:flex}.dash-task-list>li+li{border-top:1px solid var(--dash-border)}.dash-task-main{flex:1;min-width:0}.dash-task-title{flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.dash-task-title .tag{flex-shrink:0}.dash-task-title>a,.dash-task-title>b{color:var(--dash-text);overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.65;text-decoration:none}.dash-task-title>a:hover{color:#1e40af;text-underline-offset:4px;text-decoration:underline}.dash-task-meta{color:var(--dash-muted);flex-wrap:wrap;gap:4px 10px;margin-top:7px;font-size:12px;display:flex}.dash-task-meta>span{overflow-wrap:anywhere}.dash-task-due{flex-shrink:0;gap:4px;font-size:12px;display:grid}.dash-task-due>span:not(.tag){color:var(--dash-muted)}.dash-task-due time{color:var(--dash-text)}.dash-task-list>li>.btn{flex-shrink:0;min-height:32px}.dash-no-action{text-align:center;width:48px}.dash-text-link{color:#1e40af;text-underline-offset:4px;font-size:12px;text-decoration:none}.dash-text-link:hover{text-decoration:underline}.dash-mine-list>li+li{border-top:1px solid var(--dash-border)}.dash-mine-link{color:var(--dash-text);padding:18px 20px;text-decoration:none;display:block}.dash-mine-link:hover{background:var(--dash-subtle)}.dash-mine-meta{color:var(--dash-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.dash-mine-link h3{overflow-wrap:anywhere;margin:7px 0 5px;font-size:14px;font-weight:600}.dash-mine-link p{color:var(--dash-muted);margin:0;font-size:12px;line-height:1.65}.dash-mine-progress{color:var(--dash-muted);justify-content:space-between;gap:12px;margin:10px 0 6px;font-size:12px;display:flex}@media (width<=1180px){.dash-workbench-grid{grid-template-columns:minmax(0,1fr)}.dash-mine-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dash-mine-list>li{min-width:0}.dash-mine-list>li:nth-child(2){border-top:0}.dash-mine-list>li:nth-child(2n){border-left:1px solid var(--dash-border)}}@media (width<=800px){.dashboard-page .page-head{gap:14px}.dashboard-page .page-head h1{font-size:24px}.dash-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.dash-stat{padding:16px}.dash-stat:nth-child(3){border-left:0}.dash-stat:nth-child(n+3){border-top:1px solid var(--dash-border)}.dash-stat>strong{font-size:27px}.dash-panel-head{align-items:flex-start;padding:16px}.dash-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-phase{padding:16px}.dash-phase:nth-child(3){border-left:0}.dash-phase:nth-child(n+3){border-top:1px solid var(--dash-border)}.dash-phase-panel{margin-bottom:20px}.dash-filters{gap:12px;padding:16px}.dash-filters>.dash-search{flex:100%}.dash-filters>label{flex:140px}.dashboard-page .portfolio-table,.dashboard-page .portfolio-table tbody{width:100%;display:block}.dashboard-page .portfolio-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-page .portfolio-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:16px;display:grid}.dashboard-page .portfolio-table tr+tr{border-top:1px solid var(--dash-border)}.dashboard-page .portfolio-table td{border:0;min-width:0;padding:0;display:block}.dashboard-page .portfolio-table .dash-project-cell{border-bottom:1px solid var(--dash-border);grid-column:1/-1;min-width:0;max-width:none;padding-bottom:12px}.dashboard-page .portfolio-table td[data-label]:before{content:attr(data-label);color:var(--dash-muted);margin-bottom:5px;font-size:12px;font-weight:400;display:block}.dashboard-page .portfolio-table td.right{text-align:left}.dashboard-page .portfolio-table td .bar{max-width:140px}.dashboard-page .portfolio-table tr.clickable:hover td{background:0 0}.dashboard-page .portfolio-table tr.clickable:hover{background:var(--dash-subtle)}.dashboard-page .dash-project-table-wrap{overflow:visible}.dashboard-page .dash-project-table-wrap .portfolio-table{min-width:0}.dash-task-list>li{gap:14px;padding:16px}.dash-task-filters,.dash-panel-foot{padding:12px 16px}.dash-workbench-grid{gap:20px}}@media (width<=520px){.dash-mine-list{display:block}.dash-mine-list>li:nth-child(2){border-top:1px solid var(--dash-border)}.dash-mine-list>li:nth-child(2n){border-left:0}.dash-mine-link{padding:16px}.dash-task-list>li{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.dash-task-main{grid-column:1/-1}.dash-task-due{align-items:center;gap:8px;display:flex}.dash-task-list>li>.btn{justify-self:end;min-height:40px;padding-inline:14px}.dash-stat>small{line-height:1.6;display:block}.dash-panel-head p{max-width:32ch}.dash-error{margin:16px}}.project-new-grid{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.project-owner-panel .panel-head{flex-wrap:wrap}.project-owner-panel .panel-pad{padding:20px}.project-owner-tools>span{margin-right:auto}.project-owner-list{border:1px solid var(--line);border-radius:var(--r-ctl);max-height:640px;overflow:auto}.project-owner-table{table-layout:fixed}.project-owner-table th:first-child{width:42%}.project-owner-table th:nth-child(2){width:20%}.project-owner-table th{z-index:1;position:sticky;top:0}.project-owner-table td{overflow-wrap:anywhere;padding:12px}.project-owner-table th{padding-inline:12px}.project-owner-basis{margin-top:5px}.project-owner-control .input{text-overflow:ellipsis}.project-owner-control>div{margin-top:5px}@media (width<=1240px){.project-new-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.project-owner-panel .panel-pad{padding:16px}.project-owner-panel .seg{flex-wrap:wrap;display:flex}.project-owner-panel .seg button{flex:40%;min-height:40px}.project-owner-list{border:0;max-height:none;overflow:visible}.project-owner-panel .project-owner-table{min-width:0}.project-owner-table,.project-owner-table tbody{display:block}.project-owner-table thead{display:none}.project-owner-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);padding:16px 0;display:grid}.project-owner-table tr:first-child{padding-top:0}.project-owner-table tr:last-child{border-bottom:0;padding-bottom:0}.project-owner-panel .project-owner-table td,.project-owner-table tr.indent td:first-child{border:0;padding:0;display:block}.project-owner-table .project-owner-dept{color:var(--muted);font-size:var(--fs-12);margin:6px 0 12px}.project-owner-dept .sr-only{clip:auto;width:auto;height:auto;position:static}.project-owner-control .input{min-height:44px}.project-owner-tools .btn{min-height:40px}}.rack-wrap{border-radius:var(--r-panel);background:var(--chamber);border:1px solid #1f2d25;position:relative;overflow:hidden}.rack{width:100%;height:auto;display:block}.rack-scroll{overflow-x:auto}@media (width<=860px){.rack{min-width:900px}}.rack text{font-family:var(--font)}.rack .strip{animation:1.3s ease-out both lighton}.rack .cone{animation:1.8s ease-out .25s both conein}.rack .curtain{animation:1.6s ease-out .1s both conein}.rack .grow-in{transform-box:fill-box;transform-origin:50% 100%;animation:.9s cubic-bezier(.2,.8,.2,1) both sprout;animation-delay:calc(var(--i,0) * 70ms + .45s)}.rack .plant-hit{cursor:pointer;outline:none}.rack .plant-hit:focus-visible .focus-ring{opacity:1}.rack .focus-ring{opacity:0}.rack .plant-hit:hover .code-label{fill:#fff}@keyframes lighton{0%{opacity:.05}8%{opacity:.9}12%{opacity:.2}20%{opacity:1}to{opacity:1}}@keyframes conein{0%{opacity:0}to{opacity:1}}@keyframes sprout{0%{opacity:0;transform:scaleY(.02)}40%{opacity:1}to{opacity:1;transform:scaleY(1)}}.rack-tip{z-index:5;pointer-events:none;color:#16261e;background:#f5f8f4;border-radius:8px;width:280px;padding:10px 12px;font-size:13px;position:absolute;box-shadow:0 14px 34px #00000059}.rack-tip b{font-size:14px}.rack-tip .reasons{color:#3b4d43;margin:6px 0 0;padding-left:16px}.rack-legend{color:#9fb3a6;border-top:1px solid #1f2d25;flex-wrap:wrap;gap:18px;padding:10px 16px;font-size:12px;display:flex}.rack-legend span{align-items:center;gap:6px;display:inline-flex}.rack-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.track{width:100%;height:auto;display:block;overflow:visible}.track-wrap{overflow-x:auto}@media (width<=860px){.track,.flow{min-width:760px}.flow-wrap{overflow-x:auto}}.track text{font-family:var(--font);fill:var(--canopy-2)}.track .lbl{fill:var(--canopy);font-size:13px;font-weight:600}.track .sub{fill:var(--muted);font-size:11px;font-stretch:80%}.track .tr-node{cursor:default}.tray{flex-wrap:wrap;gap:6px;display:flex}.tray button.plug{cursor:pointer;background:var(--tray-2);border:1px solid var(--line);border-radius:7px;place-items:center;width:30px;height:30px;padding:0;display:grid;position:relative}.tray button.plug:hover{border-color:var(--canopy-2)}.tray button.plug.optional{border-style:dashed}.tray button.plug.na{background:repeating-linear-gradient(45deg, var(--tray-2), var(--tray-2) 4px, var(--line) 4px, var(--line) 5px)}.tray button.plug.overdue{box-shadow:0 0 0 2px var(--red);border-color:#0000}.tray button.plug.recheck{box-shadow:0 0 0 2px var(--amber);border-color:#0000}.tray button.plug.active{outline:2px solid var(--grow);outline-offset:2px}.tray-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.tray-legend span{align-items:center;gap:5px;display:inline-flex}.tray-group{background:color-mix(in srgb, var(--line) 35%, transparent);border-radius:9px;flex-wrap:wrap;gap:6px;padding:4px 6px;display:flex}.flow{width:100%;height:auto;display:block}.flow text{font-family:var(--font);fill:var(--canopy)}.flow .t-sub{fill:var(--muted);font-size:11.5px}.flow .node rect,.flow .node polygon{fill:var(--tray);stroke:var(--line-strong);stroke-width:1.2px}.flow .node.ok rect,.flow .node.ok polygon{stroke:var(--leaf);stroke-width:2px}.flow .node.bad rect,.flow .node.bad polygon{stroke:var(--red);stroke-width:2px}.flow .node.now rect,.flow .node.now polygon{stroke:var(--grow);stroke-width:2.4px}.flow .node.dim{opacity:.45}.flow .exit rect{stroke-width:1.4px}.flow .exit.go rect{stroke:var(--leaf)}.flow .exit.cond rect{stroke:var(--amber)}.flow .exit.redirect rect{stroke:var(--red);stroke-dasharray:5 3}.flow .exit.kill rect{stroke:var(--canopy-2)}.flow .exit.chosen rect{stroke-width:3px}.flow .exit.chosen.go rect{fill:var(--leaf-soft)}.flow .exit.chosen.cond rect{fill:var(--amber-soft)}.flow .exit.chosen.redirect rect{fill:var(--red-soft)}.flow .exit.chosen.kill rect{fill:var(--tray-2)}.flow .exit.likely rect{stroke:var(--grow)}.flow .edge{fill:none;stroke:var(--line-strong);stroke-width:1.4px}.flow .edge.hot{stroke:var(--grow);stroke-width:2.2px}.flow .edge.fail{stroke-dasharray:5 4}.flow .elabel{fill:var(--muted);font-size:11.5px}.chain{align-items:stretch;gap:0;padding:4px 2px 8px;display:flex;overflow-x:auto}.chain .seat{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--tray);flex:1;min-width:150px;padding:12px 14px;position:relative}.chain .seat+.link{background:var(--line-strong);flex:0 0 22px;align-self:center;height:2px}.chain .seat.approve{border-color:var(--leaf);background:var(--leaf-soft)}.chain .seat.reject{border-color:var(--red);background:var(--red-soft)}.chain .seat.turn{border-color:var(--grow);box-shadow:0 0 0 3px color-mix(in srgb, var(--grow) 22%, transparent)}.chain .seat.void{opacity:.55;border-style:dashed}.chain .seat .n{color:var(--muted);font-size:11px;font-stretch:80%}.chain .seat b{font-size:14px;display:block}.trace{width:100%;height:auto;display:block}.trace text{font-family:var(--font);fill:var(--canopy)}.trace .card rect{fill:var(--tray);stroke:var(--line)}.trace .card.bad rect{stroke:var(--red);stroke-width:1.6px;fill:var(--red-soft)}.trace .card.na rect{stroke-dasharray:4 3;fill:var(--tray-2)}.trace .card.hl rect{stroke:var(--grow);stroke-width:2px}.trace .link{fill:none;stroke:var(--leaf);stroke-opacity:.55;stroke-width:1.6px}.trace .link.hl{stroke:var(--grow);stroke-opacity:1;stroke-width:2.4px}.trace .card{cursor:pointer}.hbars{flex-direction:column;gap:8px;display:flex}.hbar{grid-template-columns:120px 1fr 56px;align-items:center;gap:10px;font-size:13px;display:grid}.hbar .track-b{border-left:1px solid var(--line-strong);background:0 0;height:14px;position:relative}.hbar .track-b i{background:var(--leaf);border-radius:0 4px 4px 0;max-width:100%;position:absolute;top:0;bottom:0;left:0}.hbar .track-b i[data-tone=red]{background:var(--red)}.hbar .track-b i[data-tone=amber]{background:var(--amber)}.hbar .v{text-align:right;font-variant-numeric:tabular-nums;font-stretch:80%}.hbar:hover .track-b i{filter:brightness(1.1)}.account-page{min-width:0;max-width:1140px;margin-inline:auto}.account-page .lede,.accounts-page .lede{font-size:13px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.account-grid .panel-head h2,.account-pending h2{font-size:16px;font-weight:600}.account-grid .panel-head{justify-content:space-between}.account-password{grid-column:1/-1}.account-profile{margin:0;padding:8px 20px}.account-profile>div{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr);gap:16px;padding:13px 0;font-size:13px;display:grid}.account-profile>div:last-child{border-bottom:0}.account-profile dt{color:var(--muted)}.account-profile dd{overflow-wrap:anywhere;margin:0}.account-subsection{border-top:1px solid var(--line);padding:18px 20px}.account-subsection h3{margin-bottom:12px;font-size:13px}.account-directory-row{justify-content:space-between;align-items:center;gap:12px;padding-block:8px;font-size:12px;display:flex}.account-directory-row>div{min-width:0}.account-directory-row b,.account-directory-row span:not(.tag){overflow-wrap:anywhere;display:block}.account-directory-row span:not(.tag){color:var(--muted);margin-top:3px}.account-copy{color:var(--muted);max-width:70ch;font-size:13px;line-height:1.8}.account-copy+.feishu-entry,.account-copy+.btn{margin-top:18px}.account-linked-name{margin:16px 0;font-size:15px;font-weight:550}.account-form{gap:18px;display:grid}.account-form>.field{max-width:360px}.account-password-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.account-pending{background:#f8faff;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:22px 24px;display:flex}.account-pending>div{max-width:74ch}.account-pending p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.8}.account-pending>.btn{flex-shrink:0}.account-alert,.account-message{overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.7;display:flex}.account-alert{color:#a32922;background:#fff3f2;border:1px solid #edb9b6}.account-message{color:#166534;background:#f0f8f2;border:1px solid #b6d7c0}.account-message .btn,.account-alert .btn{flex-shrink:0}.accounts-page{min-width:0}.accounts-scroll-hint{display:none}.accounts-section h2,.accounts-activation{scroll-margin-top:80px}.accounts-tabs{border-bottom:1px solid var(--line);gap:24px;margin-bottom:24px;display:flex}.accounts-tabs>button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 2px;font-weight:500}.accounts-tabs>button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.accounts-toolbar{background:var(--tray-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 20px;display:flex}.accounts-toolbar .field{flex:0 180px}.accounts-toolbar .field:first-child{flex-basis:320px}.accounts-toolbar>.accounts-count{color:var(--muted);align-self:center;margin-left:auto;font-size:12px}.accounts-toolbar .input{background:#fff}.accounts-table .account-name b,.accounts-table .account-name small{display:block}.accounts-table .account-name small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.accounts-table .account-name{min-width:180px}.accounts-table td{vertical-align:top}.accounts-table .row{gap:5px}.accounts-table .account-row-actions{flex-wrap:wrap;gap:6px;display:flex}.accounts-table .account-row-actions .btn{white-space:nowrap}.accounts-role-tags{flex-wrap:wrap;gap:5px;max-width:280px;display:flex}.accounts-section{margin-bottom:24px}.accounts-editor-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.accounts-editor-head h2{font-size:17px}.accounts-editor-head p{color:var(--muted);margin-top:6px;font-size:13px}.accounts-editor-form{gap:20px;padding:22px;display:grid}.accounts-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.accounts-editor-form fieldset{border:1px solid var(--line);border-radius:8px;min-width:0;margin:0;padding:14px 16px 16px}.accounts-editor-form legend{padding:0 5px;font-size:13px;font-weight:550}.accounts-role-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:13px;display:grid}.accounts-check{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:flex}.accounts-check>input{accent-color:var(--primary);flex-shrink:0;margin-top:4px}.accounts-editor-foot{border-top:1px solid var(--line);gap:10px;padding-top:18px;display:flex}.accounts-editor-form .account-copy{font-size:12px}.accounts-edit-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.accounts-edit-status>.field{min-width:180px}.accounts-activation{background:#f8faff;border:1px solid #b8cdf7;border-radius:12px;margin-bottom:24px;padding:20px}.accounts-activation h2{font-size:16px}.accounts-activation p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.8}.accounts-activation .row{align-items:stretch;margin-top:14px}.accounts-activation .input{background:#fff;flex:280px}.accounts-activation>.accounts-activation-head{justify-content:space-between;gap:16px;display:flex}.accounts-directory-info{color:var(--muted);border-bottom:1px solid var(--line);background:#f8faff;padding:18px 20px;font-size:13px;line-height:1.8}.accounts-directory-info strong{color:var(--canopy);font-weight:550}.accounts-sync-summary{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 20px;font-size:13px;display:flex}.accounts-preview-scroll{max-height:360px;overflow:auto}.accounts-preview-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:16px 20px;display:flex}.accounts-preview-actions>.muted{margin-right:auto;font-size:12px}.accounts-conflict{color:#a32922;overflow-wrap:anywhere;max-width:320px;font-size:12px}.accounts-pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:12px;display:flex}.accounts-link-review{gap:16px;padding:22px;display:grid}.accounts-link-review h2{font-size:17px}.accounts-link-review>.row label{font-size:13px}.accounts-link-source{border:1px solid var(--line);background:var(--tray-2);border-radius:8px;padding:14px 16px}.accounts-link-source b,.accounts-link-source span{display:block}.accounts-link-source span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px}.accounts-link-review .field{max-width:520px}.accounts-link-review .accounts-checked{background:#f8faff;border-radius:8px;padding:14px}@media (width<=860px){.accounts-scroll-hint{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:10px 16px;font-size:12px;display:block}.account-grid{grid-template-columns:minmax(0,1fr);gap:20px}.account-password-grid{grid-template-columns:minmax(0,1fr);max-width:420px}.account-pending{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.accounts-role-options{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-editor-form,.accounts-link-review{padding:20px}.accounts-page .account-row-actions{min-width:170px}}@media (width<=520px){.account-profile{padding-inline:16px}.account-profile>div{grid-template-columns:76px minmax(0,1fr);gap:12px}.account-alert,.account-message{flex-wrap:wrap}.accounts-editor-grid,.accounts-role-options{grid-template-columns:minmax(0,1fr)}.accounts-toolbar{padding:16px}.accounts-toolbar .field,.accounts-toolbar .field:first-child{flex:100%}.accounts-editor-form,.accounts-link-review{padding:16px}.accounts-page .page-head .actions>.btn{flex:1}.accounts-edit-status{flex-direction:column;align-items:flex-start}.accounts-preview-actions{justify-content:flex-start}.accounts-activation{padding:16px}}:root{--substrate:#fff;--tray:#fff;--tray-2:#f8f9fb;--canopy:#1f2937;--canopy-2:#475569;--muted:#626d7d;--line:#e3e7ed;--line-strong:#c4cbd4;--primary:#2563eb;--primary-hover:#1d4ed8;--leaf:#15803d;--leaf-soft:#edf8f0;--grow:#2563eb;--grow-soft:#eff5ff;--grow-glow:#2563eb;--chamber:#f8f9fb;--chamber-2:#f0f2f5;--blue:#2563eb;--blue-soft:#eff5ff;--amber:#d49718;--amber-ink:#946200;--amber-soft:#fff7e5;--red:#c53030;--red-soft:#fff1f0;--focus:#2563eb;--r-tag:5px;--r-ctl:8px;--r-panel:12px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-26:26px;--fs-34:34px;--fs-52:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--primary);scrollbar-color:#c4cbd4 transparent;scrollbar-width:thin}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--substrate);color:var(--canopy);font-family:var(--font);font-size:var(--fs-14);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}::selection{color:#1e3a8a;background:#dbeafe}a{color:inherit;text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,textarea{caret-color:var(--primary)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-weight:600}h1{font-size:24px;line-height:1.4}h2{font-size:19px;line-height:1.45}h3{font-size:var(--fs-16);line-height:1.5}p{margin:0}.num,.code{font-variant-numeric:tabular-nums}.code{font-weight:500}.muted{color:var(--muted)}.small{font-size:var(--fs-12)}.s13{font-size:var(--fs-13)}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:#fff;border-radius:8px;padding:10px 16px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--tray);border-right:1px solid var(--line);z-index:35;flex-direction:column;min-width:0;height:100dvh;padding:0 14px 18px;display:flex;position:sticky;top:0}.rail-brand-row{flex:none;align-items:center;min-height:80px;display:flex}.brand{align-items:center;gap:11px;min-width:0;padding:0 10px;text-decoration:none;display:flex}.brand-mark{object-fit:cover;border-radius:8px;flex:none;width:34px;height:34px;display:block}.brand b{white-space:nowrap;font-size:16px;font-weight:700;display:block}.brand span{color:var(--muted);white-space:nowrap;margin-top:1px;font-size:11px;display:block}.rail nav{flex-direction:column;gap:4px;padding-bottom:16px;display:flex;overflow:hidden auto}.rail-group{color:var(--muted);white-space:nowrap;margin:22px 12px 5px;font-size:12px;font-weight:500}.rail-group:first-child{margin-top:10px}.rail a.nav{border-radius:var(--r-ctl);min-height:42px;color:var(--canopy-2);white-space:nowrap;align-items:center;gap:11px;padding:9px 12px;font-size:14px;text-decoration:none;display:flex;position:relative}.rail a.nav svg{flex:none;width:18px;height:18px}.rail a.nav:hover{background:var(--tray-2);color:var(--canopy)}.rail a.nav.active{color:var(--primary);background:#f0f2f5;font-weight:600}.rail .badge{color:#1d4ed8;font-variant-numeric:tabular-nums;background:#e7edfa;border-radius:5px;margin-left:auto;padding:0 6px;font-size:11px;line-height:20px}.rail-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:18px 10px 0;font-size:12px}.rail-company{align-items:center;gap:9px;display:flex}.company-mark{border:1px solid var(--line);width:32px;height:32px;color:var(--canopy-2);border-radius:8px;flex:none;place-items:center;font-size:10px;display:grid}.rail-company b{color:var(--canopy);font-size:12px;font-weight:600;display:block}.rail-company div>span{white-space:nowrap;font-size:10px;display:block}.rail-foot .demo{color:var(--amber-ink);margin-top:14px;font-size:11px;display:block}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:var(--tray);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .crumbs{color:var(--muted);align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.topbar .crumbs a{white-space:nowrap;text-decoration:none}.topbar .crumbs a:hover{color:var(--primary)}.topbar .crumbs>svg{color:#8993a3;flex:none;width:13px;height:13px}.topbar .crumbs b{color:var(--canopy);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.topbar .spacer{flex:1}.account-divider{background:var(--line);width:1px;height:24px}.header-account{border-radius:8px;flex:none;align-items:center;gap:10px;padding:5px 8px;text-decoration:none;display:flex}.header-account:hover{background:var(--tray-2)}.avatar{color:#475569;background:#eff3f9;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:grid}.account-copy{line-height:1.4}.account-copy b{font-size:13px;font-weight:500;display:block}.account-copy>span{color:var(--muted);font-size:11px;display:block}.page{width:100%;max-width:1680px;margin:0 auto;padding:28px 28px 64px}.page:focus{outline:none}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-head .lede{color:var(--muted);max-width:78ch;margin-top:6px;line-height:1.7}.page-head .actions{flex-wrap:wrap;align-self:center;gap:8px;margin-left:auto;display:flex}.rail-close{display:none!important}.is-collapsed{grid-template-columns:76px minmax(0,1fr)}.is-collapsed .rail{padding-inline:12px}.is-collapsed .brand{padding-inline:8px}.is-collapsed .brand>div,.is-collapsed .rail .label,.is-collapsed .rail-foot,.is-collapsed .rail .badge{display:none}.is-collapsed .rail-group{background:var(--line);color:#0000;height:1px;min-height:1px;margin:16px 10px 10px;overflow:hidden}.is-collapsed .rail a.nav{justify-content:center;padding-inline:0}.notifications,.notifications>button{position:relative}.notification-count{background:var(--red);color:#fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:1px;right:0}.notification-panel{z-index:30;width:380px;max-height:min(480px,75dvh);position:absolute;top:46px;right:0;overflow-y:auto;box-shadow:0 12px 35px #1f293721}.btn{border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--tray);height:36px;color:var(--canopy);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--tray-2);border-color:#8993a3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary,.btn.grow{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover,.btn.grow:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{color:var(--red);border-color:#e5bcbc}.btn.danger:hover{background:var(--red-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:#f0f2f5}.btn.sm{height:30px;font-size:var(--fs-12);padding:0 10px}.btn svg{flex:none;width:16px;height:16px}.icon-btn{flex:none;width:36px;padding:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{font-size:var(--fs-13);color:var(--canopy-2);font-weight:500}.field>em{font-style:normal;font-size:var(--fs-12);color:var(--muted)}.input,select.input,textarea.input{border-radius:var(--r-ctl);background:var(--tray);border:1px solid #8993a3;width:100%;min-width:0;height:36px;padding:0 11px;font-size:13px}select.input:not([multiple]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23626d7d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:36px}@media (forced-colors:active){select.input:not([multiple]){appearance:auto;background-image:none;padding-right:11px}}.input:hover{border-color:var(--canopy-2)}textarea.input{resize:vertical;height:auto;min-height:86px;padding:9px 11px;line-height:1.6}.input:focus{outline-offset:1px;border-color:var(--primary);outline:2px solid #b8cdf7}.input:disabled{background:var(--tray-2);color:var(--muted);cursor:not-allowed}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;display:grid}.grid2>*,.grid3>*,.grid4>*{min-width:0}.span2{grid-column:span 2}.span-all{grid-column:1/-1}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:20px;min-width:0;display:flex}.check{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.seg{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--tray-2);gap:3px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg button{cursor:pointer;min-height:30px;font-size:var(--fs-13);color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:0 12px}.seg button:hover{color:var(--canopy);background:#eef1f5}.seg button[aria-pressed=true]{background:var(--tray);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #1f29371f}.panel{background:var(--tray);border:1px solid var(--line);border-radius:var(--r-panel);min-width:0}.panel-pad{padding:20px}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:17px 20px;display:flex}.panel-head h3{font-size:15px}.panel-head .actions{gap:8px;margin-left:auto;display:flex}.section{margin-top:28px}.section>h2,.section>section>h2{margin-bottom:14px}.divider{background:var(--line);border:0;height:1px;margin:20px 0}.tag{border-radius:var(--r-tag);min-height:23px;font-size:var(--fs-12);white-space:nowrap;background:var(--tray-2);color:var(--canopy-2);border:1px solid var(--line);justify-content:center;align-items:center;gap:5px;padding:1px 8px;font-weight:500;display:inline-flex}.tag .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tag.leaf{background:var(--leaf-soft);color:var(--leaf);border-color:#0000}.tag.grow,.tag.blue{background:var(--blue-soft);color:var(--blue);border-color:#0000}.tag.amber{background:var(--amber-soft);color:var(--amber-ink);border-color:#0000}.tag.red{background:var(--red-soft);color:var(--red);border-color:#0000}.tag.solid-red{background:var(--red);color:#fff;border-color:#0000}.tag.outline{background:0 0}button.tag{cursor:pointer;min-height:30px}button.tag:hover{border-color:var(--primary)}.health{font-size:var(--fs-13);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.health i{border-radius:50%;width:7px;height:7px;display:inline-block}.health.red i{background:var(--red)}.health.yellow i{background:var(--amber)}.health.green i{background:var(--leaf)}.health.none i{border:1px solid var(--muted);background:0 0}.table{border-collapse:collapse;width:100%;font-size:var(--fs-13);line-height:1.6}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--tray-2);padding:11px 16px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#f8faff}.table tr.focus td{background:var(--grow-soft)}.table tr.indent td:first-child{padding-left:32px}.table .right{text-align:right}:is(.table-wrap,.panel:has(>.table)){overflow-x:auto}.table-wrap .table{min-width:620px}.matrix-guide{color:var(--canopy-2);gap:8px;display:grid}.matrix-legend{flex-wrap:wrap;gap:8px 24px;display:flex}.matrix-legend strong{color:var(--canopy);font-weight:600}.matrix-table-wrap{max-height:620px;overflow-y:auto}.matrix-table-wrap .matrix-table{min-width:1440px}.matrix-table th:nth-child(2){min-width:220px}.matrix-table .matrix-rule-heading{text-align:center;padding:11px 10px}.matrix-table .matrix-rule-cell{text-align:center;padding:8px 10px}.matrix-status{min-width:64px;min-height:32px;font-size:var(--fs-12);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:4px 8px;font-weight:500;display:inline-flex}.matrix-status:not(:disabled):hover{text-underline-offset:3px;text-decoration:underline}.matrix-status:disabled{cursor:default;opacity:1}@media (width<=600px){.matrix-status{min-height:44px}}.tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:24px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);font-size:var(--fs-14);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 2px;font-weight:500}.tabs button:hover{color:var(--primary)}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.tabs .count{color:var(--muted);background:#f0f2f5;border-radius:4px;margin-left:5px;padding:0 5px;font-size:11px;line-height:18px;display:inline-block}.scrim{z-index:40;background:#0f172a52;position:fixed;inset:0}.drawer{z-index:41;background:var(--tray);flex-direction:column;width:min(720px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #1f293724}.drawer-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.drawer-body{flex:1;padding:24px 24px 40px;overflow-y:auto}.modal{z-index:41;background:var(--tray);border-radius:var(--r-panel);width:min(620px,100vw - 32px);max-height:84dvh;position:fixed;top:8vh;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 20px 60px #1f293733}.modal.wide{width:min(900px,100vw - 32px)}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:18px 22px;display:flex}.modal-body{padding:22px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:16px 22px;display:flex}.toast-wrap{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--canopy);color:#fff;border-radius:var(--r-ctl);min-width:260px;max-width:min(420px,100vw - 40px);font-size:var(--fs-13);padding:12px 16px;box-shadow:0 8px 24px #1f29372e}.toast.err{background:var(--red);color:#fff}.blockers{background:var(--red-soft);border-radius:var(--r-ctl);font-size:var(--fs-13);border:1px solid #f3cccc;padding:12px 14px}.blockers b{color:var(--red)}.blockers ul{margin:7px 0 0;padding-left:18px}.empty{text-align:center;color:var(--muted);padding:44px 20px}.empty b{color:var(--canopy);font-size:var(--fs-16);margin-bottom:5px;font-weight:500;display:block}.skeleton{border-radius:var(--r-panel);background:var(--tray-2);height:120px;animation:1.4s ease-in-out infinite alternate loading-pulse}@keyframes loading-pulse{to{opacity:.45}}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--tray);min-width:0;padding:20px}.kpi .v{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:8px;font-size:30px;font-weight:600;line-height:1.2}.kpi .v small{font-size:var(--fs-13);color:var(--muted);margin-left:4px;font-weight:400}.kpi .k{font-size:var(--fs-13);color:var(--muted)}.kpi .f{font-size:var(--fs-12);color:var(--muted);margin-top:9px;line-height:1.6}.bar{background:#edf0f5;border-radius:3px;height:5px;overflow:hidden}.bar>i{background:var(--primary);border-radius:3px;height:100%;display:block}.bar.amber>i{background:var(--amber)}.bar.red>i{background:var(--red)}.watermark{pointer-events:none;position:absolute;inset:0;overflow:hidden}.watermark span{color:#1f293724;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:15px;position:absolute;transform:rotate(-24deg)}.watermark.dark span{color:#ffffff29}@media (width<=1200px){.grid4,.kpis.four,.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.shell,.shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.rail{visibility:hidden;width:268px;max-width:calc(100vw - 48px);height:100dvh;position:fixed;top:0;left:0;transform:translate(-100%);padding:0 14px 18px!important}.nav-open .rail{visibility:visible;transform:none;box-shadow:12px 0 35px #1f293724}.nav-scrim{z-index:34;background:#0f172a52;position:fixed;inset:0}.rail-close{margin-left:auto;display:inline-flex!important}.rail-brand-row{min-height:76px}.is-collapsed .brand{padding-inline:10px}.is-collapsed .brand>div,.is-collapsed .rail .label,.is-collapsed .rail-foot,.is-collapsed .rail .badge{display:block}.is-collapsed .rail a.nav{justify-content:flex-start;padding-inline:12px}.is-collapsed .rail-group{height:auto;min-height:0;color:var(--muted);background:0 0;margin:22px 12px 5px}.is-collapsed .rail-group:first-child{margin-top:10px}.topbar{gap:8px;padding:0 16px}.workspace-label,.topbar .crumbs>svg{display:none}.page{padding:24px 20px 48px}.grid2,.grid3,.grid4{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}.notification-panel{width:min(380px,100vw - 32px);position:fixed;top:62px;right:16px}.table{min-width:580px}.panel-pad:has(>.table){overflow-x:auto}.seg{max-width:100%}}@media (width<=520px){h1{font-size:22px}.topbar{gap:6px;min-height:60px;padding-inline:12px}.header-account .account-copy,.header-account .account-divider,.header-account>svg{display:none}.header-account{padding:4px}.page{padding:22px 16px 40px}.page-head{gap:12px;margin-bottom:20px}.page-head .actions{width:100%;margin-left:0}.page-head .lede{font-size:13px}.panel-head{flex-wrap:wrap;padding:15px 16px}.panel-pad{padding:16px}.kpis.four{gap:12px}.kpi{padding:16px}.kpi .v{font-size:26px}.drawer-body{padding:20px 16px 32px}.drawer-head{padding:18px 16px}.hbar{grid-template-columns:90px minmax(0,1fr) 46px}.modal-foot{flex-wrap:wrap}.icon-btn{width:36px;min-height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.rail,.topbar,.no-print,.skip-link{display:none!important}.shell{display:block}body{background:#fff}}
