.field-mapper-page{min-height:100%;color:#172033;background:transparent;font-size:17px}.field-mapper-page *{box-sizing:border-box}.field-mapper-page button,.field-mapper-page input,.field-mapper-page select{font:inherit}.field-mapper-page button{cursor:pointer}.field-mapper-page button:disabled{cursor:not-allowed;opacity:.45}.field-mapper-header{min-height:142px;padding:28px 36px;display:flex;justify-content:space-between;align-items:center;gap:26px;background:#153f49;color:#fff}.field-mapper-header h1{margin:6px 0 8px;font-size:32px;line-height:1.25}.field-mapper-header p{margin:0;max-width:1050px;color:#d1e2e5;font-size:17px;line-height:1.6}.field-mapper-page .brand-kicker{color:#9fd5db;font-size:13px;font-weight:850;letter-spacing:.14em}.field-mapper-page .frontend-only-badge{flex:0 0 auto;border:1px solid #5f8e97;border-radius:999px;padding:10px 16px;color:#d7f1f3;font-size:14px;font-weight:800}.field-mapper-content{max-width:1680px;margin:0 auto;padding:0 0 52px}.field-mapper-page .field-mapper-simple-header{align-items:center;margin-bottom:28px}.field-mapper-page .field-mapper-simple-header .eyebrow{margin:0 0 7px;color:#8b95a5;font-size:10px;font-weight:900;letter-spacing:.16em}.field-mapper-page .field-mapper-simple-header h1{margin:0;color:#111827;font-size:28px;line-height:1.25;letter-spacing:-.025em}.field-mapper-page .field-mapper-simple-header .subtitle{max-width:760px;margin:7px 0 0;color:#6b7280;font-size:13px;line-height:1.6}.field-mapper-page .field-mapper-project-context{max-width:360px}.field-mapper-page .field-mapper-project-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-mapper-page .card{background:#fff;border:1px solid #dfe4ed;border-radius:15px;box-shadow:0 3px 10px #1d28460b}.field-mapper-page .card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.field-mapper-page .section-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.field-mapper-page .section-collapse-btn{min-width:78px;min-height:45px;padding:9px 16px;font-size:15px}.field-mapper-page .collapsible-section-body{min-width:0}.field-mapper-page .card-heading h2,.field-mapper-page .panel-title-row h2,.field-mapper-page .machine-workspace-toolbar h2{margin:5px 0 7px;font-size:23px;line-height:1.35}.field-mapper-page .card-heading p,.field-mapper-page .machine-workspace-toolbar p{margin:0;color:#6f7b90;font-size:16px;line-height:1.6}.field-mapper-page .eyebrow{color:#63728a;font-weight:850;font-size:13px;letter-spacing:.1em}.field-mapper-page .upload-card{padding:24px 27px;margin-bottom:20px}.field-mapper-page .drop-zone{margin-top:18px;min-height:106px;border:2px dashed #b8c3d5;border-radius:13px;display:flex;align-items:center;padding:20px 24px;gap:18px;background:#fafbfe;cursor:pointer;transition:.15s ease}.field-mapper-page .drop-zone:hover{border-color:#4e8d98;background:#f7fbfb}.field-mapper-page .drop-zone.loaded{border-style:solid;border-color:#b9d4d8;background:#f7fbfc}.field-mapper-page .drop-zone input{display:none}.field-mapper-page .drop-zone strong{display:block;font-size:18px}.field-mapper-page .drop-zone span{display:block;color:#6f7b90;font-size:15px;margin-top:6px}.field-mapper-page .drop-icon{width:62px;height:62px;flex:0 0 auto;border-radius:12px;background:#e4f2f4;color:#276d79;display:grid;place-items:center;font-size:15px;font-weight:900}.field-mapper-page .error-text{margin:12px 0 0;color:#b74343;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.field-mapper-page .csv-column-panel{padding:24px 27px;margin-bottom:20px;display:flex;flex-direction:column}.field-mapper-page .csv-column-preview-panel{position:static;max-height:none}.field-mapper-page .csv-column-preview-panel.embedded{margin:24px 0 0;padding:22px 0 0;border:0;border-top:1px solid #e2e7ee;border-radius:0;box-shadow:none;background:transparent}.field-mapper-page .panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.field-mapper-page .panel-title-row h2{margin-bottom:0}.field-mapper-page .csv-column-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.field-mapper-page .count-badge{background:#e5f1f3;color:#306c77;border-radius:999px;padding:7px 11px;font-size:14px;font-weight:800;white-space:nowrap}.field-mapper-page .count-badge.used-count{background:#e9f5ef;color:#24684f}.field-mapper-page .panel-help{margin:8px 0 0;color:#69768b;font-size:15px;line-height:1.6;max-width:900px}.field-mapper-page .control,.field-mapper-page .cell-input{width:100%;border:1px solid #cfd6e1;border-radius:9px;min-height:45px;padding:9px 12px;color:#27344b;background:#fff;outline:none;font-size:16px}.field-mapper-page .control:focus,.field-mapper-page .cell-input:focus{border-color:#4d8f9a;box-shadow:0 0 0 3px #4d8f9a1c}.field-mapper-page .column-search{margin:18px 0 14px;max-width:560px}.field-mapper-page .csv-column-list{max-height:255px;overflow:auto;padding:2px 6px 2px 2px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;align-content:start}.field-mapper-page .csv-column-item{min-width:0;padding:11px 12px;border:1px solid #e0e5ed;border-radius:10px;background:#fbfcfe;display:flex;flex-direction:column;gap:7px}.field-mapper-page .csv-column-item code{color:#253651;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-mapper-page .use-badge{width:fit-content;border-radius:999px;padding:3px 8px;background:#e9f5ef;color:#24684f;font-size:12px;font-weight:800}.field-mapper-page .use-badge.unused{background:#f0f2f5;color:#788295}.field-mapper-page .list-empty{padding:30px 14px;text-align:center;color:#8490a4;font-size:15px}.field-mapper-page .list-empty.large{padding:66px 20px;border:1px dashed #d8dee8;border-radius:10px}.field-mapper-page .mapping-workspace{display:block}.field-mapper-page .machine-workspace{min-width:0}.field-mapper-page .machine-workspace-toolbar{padding:23px 25px;margin-bottom:17px}.field-mapper-page .machine-add-buttons{margin-top:18px;display:flex;flex-wrap:wrap;gap:11px}.field-mapper-page .btn{border-radius:9px;padding:9px 14px;min-height:43px;border:1px solid transparent;font-size:15px;font-weight:800}.field-mapper-page .machine-add-btn{min-height:47px;padding:9px 17px;background:#eaf4f5;color:#286a76;border:1px solid #bfd8dc;font-size:16px;font-weight:850}.field-mapper-page .machine-add-btn:hover:not(:disabled){background:#deeff1;border-color:#8eb9c0}.field-mapper-page .workspace-empty{min-height:250px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#758197}.field-mapper-page .workspace-empty strong{color:#34435e;font-size:23px;margin-bottom:10px}.field-mapper-page .workspace-empty span{font-size:16px;line-height:1.65}.field-mapper-page .workspace-empty.ready{border-style:dashed;background:#fbfcfe}.field-mapper-page .empty-example{margin-top:10px;color:#33717c;font-weight:750}.field-mapper-page .machine-tabs-card{margin-bottom:17px;padding:10px 12px 0;overflow:hidden}.field-mapper-page .machine-tabs{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 3px 0;scrollbar-width:thin}.field-mapper-page .machine-tab{flex:0 0 auto;min-width:124px;min-height:57px;padding:9px 15px 10px;border:1px solid #d7deea;border-bottom:0;border-radius:11px 11px 0 0;background:#f4f6fa;color:#66748a;display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;font-weight:750;white-space:nowrap}.field-mapper-page .machine-tab:hover{background:#eef6f7;color:#296a75}.field-mapper-page .machine-tab.active{position:relative;z-index:1;background:#fff;color:#23616c;border-color:#83b4bc;box-shadow:0 -2px #3c8a96 inset}.field-mapper-page .machine-tab-type{min-width:38px;padding:4px 7px;border-radius:7px;background:#e4f1f3;color:#34717c;font-size:13px;font-weight:900}.field-mapper-page .machine-tab-content{min-width:0}.field-mapper-page .machine-block{overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.field-mapper-page .machine-block.active{border-color:#83b4bc;box-shadow:0 0 0 3px #3c8a9614}.field-mapper-page .machine-block-header{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fbfcfe}.field-mapper-page .machine-identity{display:flex;align-items:center;gap:14px;min-width:0}.field-mapper-page .machine-type-badge{min-width:58px;max-width:110px;min-height:47px;padding:0 10px;display:inline-grid;place-items:center;border-radius:10px;background:#e4f1f3;color:#2f6d78;font-size:16px;font-weight:900;text-align:center}.field-mapper-page .machine-identity h3{margin:0;color:#263651;font-size:24px}.field-mapper-page .machine-identity p{margin:5px 0 0;color:#748095;font-size:14px}.field-mapper-page .machine-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.field-mapper-page .summary-text{color:#66748b;font-size:14px;font-weight:700}.field-mapper-page .summary-rate{min-width:62px;text-align:center;background:#edf4f5;color:#376f78;padding:6px 9px;border-radius:999px;font-size:14px;font-weight:850}.field-mapper-page .small-action{padding:8px 11px!important;min-height:39px!important;font-size:14px!important}.field-mapper-page .match-progress{height:5px;background:#e9edf3}.field-mapper-page .match-progress>div{height:100%;background:#4b98a4;transition:width .2s ease}.field-mapper-page .machine-block-body{padding:20px 22px 22px}.field-mapper-page .mapping-guide{margin-bottom:14px;padding:13px 15px;border-radius:10px;background:#f2f8f9;color:#58677f;font-size:15px;line-height:1.55}.field-mapper-page .mapping-guide strong{color:#2e707b}.field-mapper-page .custom-field-toolbar{margin:0 0 15px;padding:14px 16px;border:1px solid #dce3ef;border-radius:10px;background:#fbfcff;display:flex;align-items:center;justify-content:space-between;gap:18px}.field-mapper-page .custom-field-toolbar>div{min-width:0}.field-mapper-page .custom-field-toolbar strong{display:block;color:#344a70;font-size:17px}.field-mapper-page .custom-field-toolbar span{display:block;margin-top:4px;color:#748095;font-size:14px;line-height:1.5}.field-mapper-page .btn-custom-add{flex:0 0 auto;min-height:45px;padding:9px 16px;background:#edf5f2;color:#276653;border-color:#bdd9cf;font-size:15px}.field-mapper-page .btn-custom-add:hover{background:#e2f0eb;border-color:#9fc8b9}.field-mapper-page .custom-empty-state{min-height:145px;border:1px dashed #cfd8e7;border-radius:10px;background:#fcfdff;color:#78859a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.field-mapper-page .custom-empty-state strong{color:#42526d;font-size:18px}.field-mapper-page .custom-empty-state span{margin-top:7px;font-size:15px}.field-mapper-page .table-shell{border:1px solid #dfe4ec;border-radius:10px;overflow:auto;background:#fff}.field-mapper-page .manual-mapping-shell{max-height:650px}.field-mapper-page table{border-collapse:separate;border-spacing:0;width:100%}.field-mapper-page .manual-mapping-table{min-width:980px}.field-mapper-page th{position:sticky;top:0;z-index:2;background:#f5f7fa;color:#5b687e;font-size:14px;font-weight:850;text-align:left;padding:13px 12px;border-bottom:1px solid #dde3ec;white-space:nowrap}.field-mapper-page td{padding:11px 12px;border-bottom:1px solid #edf0f4;font-size:15px;color:#334056;vertical-align:middle}.field-mapper-page tbody tr:last-child td{border-bottom:0}.field-mapper-page tbody tr:hover td{background:#fafbfe}.field-mapper-page .group-badge{display:inline-flex;padding:5px 8px;border-radius:7px;background:#f0f3f8;color:#5e6d84;font-size:13px;font-weight:800;white-space:nowrap}.field-mapper-page .field-label-cell{min-width:210px}.field-mapper-page .field-label-cell strong{display:block;color:#263650;font-size:15px}.field-mapper-page .field-label-cell span{display:block;margin-top:5px;color:#7a8699;font-size:13px;line-height:1.45;white-space:pre-line}.field-mapper-page .cell-input.csv-pair-input{min-width:285px;background:#fffefb;border-color:#d6cda9}.field-mapper-page .cell-input.target-input{min-width:240px}.field-mapper-page .mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px}.field-mapper-page .status-pill{display:inline-flex;padding:6px 9px;border-radius:7px;font-size:13px;font-weight:850;white-space:nowrap}.field-mapper-page .status-pill.success{color:#247157;background:#e8f5ef}.field-mapper-page .status-pill.danger{color:#a4473f;background:#fbecea}.field-mapper-page .status-pill.muted{color:#6f7a8c;background:#eff2f5}.field-mapper-page .custom-field-row td{background:#fffdf8}.field-mapper-page .custom-field-row:hover td{background:#fffaf0!important}.field-mapper-page .group-badge.custom{background:#fff0d5;color:#8a621f}.field-mapper-page .custom-label-input{min-width:205px;font-weight:750}.field-mapper-page .row-action-cell{text-align:center;min-width:96px}.field-mapper-page .row-delete-btn{min-width:70px;min-height:38px;padding:7px 10px;font-size:13px}.field-mapper-page .machine-card-actions{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:18px}.field-mapper-page .machine-card-actions>span{color:#748095;font-size:14px}.field-mapper-page .btn-primary{background:#287986;color:#fff;border-color:#287986}.field-mapper-page .btn-primary:hover:not(:disabled){background:#236d78}.field-mapper-page .btn-secondary{background:#fff;color:#40506b;border-color:#cdd5e1}.field-mapper-page .btn-secondary:hover:not(:disabled),.field-mapper-page .btn-ghost:hover:not(:disabled){background:#f5f7fa}.field-mapper-page .btn-ghost{background:transparent;color:#66738a;border-color:#d2d9e4}.field-mapper-page .btn-danger-ghost{background:#fff;color:#9e4d46;border-color:#e8cfcc}.field-mapper-page .preview-heading{display:flex;justify-content:space-between;margin-bottom:12px}.field-mapper-page .preview-heading h3{margin:0;font-size:19px}.field-mapper-page .preview-heading span{display:block;margin-top:4px;font-size:14px;color:#7f8a9d}.field-mapper-page .preview-table-shell{max-height:390px}.field-mapper-page .preview-table{min-width:max-content}.field-mapper-page .preview-table th{min-width:170px}.field-mapper-page .preview-table td{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-mapper-page .empty-preview{padding:44px;text-align:center;color:#8490a4;border:1px dashed #d6dde7;border-radius:10px;font-size:16px}@media (max-width: 1320px){.field-mapper-content{padding-left:20px;padding-right:20px}}.field-mapper-page.project-setup-mode{min-height:100%}.field-mapper-page .time-field-card{margin-bottom:20px;padding:24px 26px;border-width:2px}.field-mapper-page .time-field-card.ready{border-color:#8fc8b7}.field-mapper-page .time-field-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px}.field-mapper-page .time-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.field-mapper-page .time-field-heading h2{margin:4px 0 7px;font-size:25px;color:#263650}.field-mapper-page .time-field-heading p{margin:0;color:#68768b;font-size:16px;line-height:1.65}.field-mapper-page .time-step-number,.field-mapper-page .machine-step-number,.field-mapper-page .finalize-step-number{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#e5f1f3;color:#287986;font-size:18px;font-weight:900}.field-mapper-page .time-status{margin-top:2px;padding:8px 13px;border-radius:999px;background:#fff0df;color:#a46724;font-size:14px;font-weight:900;white-space:nowrap}.field-mapper-page .time-status.ok{background:#e7f5ef;color:#27715b}.field-mapper-page .time-field-grid{margin-top:20px;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.field-mapper-page .time-control{display:block}.field-mapper-page .time-control>span{display:block;margin-bottom:8px;color:#3a4962;font-size:16px;font-weight:850}.field-mapper-page .time-control select,.field-mapper-page .time-control input{width:100%;min-height:49px;border:1px solid #cbd4e1;border-radius:9px;padding:10px 13px;background:#fff;color:#263650;font-size:16px}.field-mapper-page .time-control input:disabled{background:#f3f5f8;color:#5e6b80}.field-mapper-page .time-control small{display:block;margin-top:7px;color:#7b8799;font-size:13px;line-height:1.45}.field-mapper-page .time-validation-panel{margin-top:18px;border:1px solid #dce3ec;border-radius:11px;overflow:hidden}.field-mapper-page .time-validation-summary{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f7f9fb;color:#42516a;font-size:15px}.field-mapper-page .time-validation-summary>span{color:#27715b;font-weight:850}.field-mapper-page .time-validation-summary>span.danger{color:#b14a42}.field-mapper-page .time-preview-head,.field-mapper-page .time-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 16px}.field-mapper-page .time-preview-head{color:#758196;background:#fbfcfd;font-size:13px;font-weight:850;border-top:1px solid #e3e7ee;border-bottom:1px solid #e3e7ee}.field-mapper-page .time-preview-row{color:#526078;font-size:14px;border-bottom:1px solid #edf0f4}.field-mapper-page .time-preview-row:last-child{border-bottom:0}.field-mapper-page .time-preview-row .invalid{color:#b14a42;font-weight:800}.field-mapper-page .time-lock-message{margin-bottom:20px;padding:16px 20px;display:flex;align-items:center;gap:15px;border-color:#ead6b6;background:#fffaf1}.field-mapper-page .time-lock-message strong{color:#8f6327;font-size:17px}.field-mapper-page .time-lock-message span{color:#7d6b53;font-size:15px}.field-mapper-page .machine-step-copy{display:flex;align-items:flex-start;gap:14px}.field-mapper-page .project-finalize-card{margin-top:20px;padding:25px 27px}.field-mapper-page .project-finalize-heading{display:flex;align-items:flex-start;gap:15px}.field-mapper-page .project-finalize-heading h2{margin:4px 0 7px;font-size:24px;color:#263650}.field-mapper-page .project-finalize-heading p{margin:0;color:#6f7b90;font-size:15px;line-height:1.6}.field-mapper-page .finalize-summary{margin:20px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field-mapper-page .finalize-summary>div{padding:15px 17px;border:1px solid #dfe5ed;border-radius:10px;background:#f9fafc}.field-mapper-page .finalize-summary span{display:block;color:#778398;font-size:13px}.field-mapper-page .finalize-summary strong{display:block;margin-top:5px;color:#2e405d;font-size:24px}.field-mapper-page .project-finalize-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.field-mapper-page .create-project-final-btn{min-width:270px}@media (max-width: 1100px){.field-mapper-page .time-field-grid{grid-template-columns:1fr}.field-mapper-page .finalize-summary{grid-template-columns:repeat(2,1fr)}}.field-mapper-page .target-column-wrap{display:flex;align-items:center;gap:9px;min-width:0}.field-mapper-page .target-column-wrap .target-input{flex:1 1 auto;min-width:0}.field-mapper-page .shared-field-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #b9d8dc;border-radius:999px;background:#eef7f7;color:#39717a;font-size:13px;font-weight:850;white-space:nowrap}.field-mapper-page .machine-card-actions.export-only{justify-content:flex-end}.field-mapper-page .csv-reupload-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.field-mapper-page .csv-reupload-button input{display:none}.field-mapper-page .csv-file-summary{cursor:default}.field-mapper-page .csv-file-summary:hover{border-color:#b9d4d8;background:#f7fbfc}.field-mapper-page .csv-file-summary.replacement-pending{border-color:#d7b261;background:#fffaf0}.field-mapper-page .csv-file-summary-copy{min-width:0;flex:1 1 auto}.field-mapper-page .csv-file-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-mapper-page .csv-file-title-row strong{overflow-wrap:anywhere}.field-mapper-page .status-pill.warning{color:#8b651f;background:#fff0cc}.field-mapper-page .mapping-reupload-status{margin:-2px 0 20px;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#e2c47e;background:#fffaf0}.field-mapper-page .mapping-reupload-status>div:first-child{min-width:0}.field-mapper-page .mapping-reupload-status strong{display:block;color:#66501f;font-size:16px}.field-mapper-page .mapping-reupload-status>div:first-child>span{display:block;margin-top:5px;color:#7b6b49;font-size:14px;line-height:1.55}.field-mapper-page .mapping-reupload-counts{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.field-mapper-page .machine-tab.warning{border-color:#e1a8a2;background:#fff5f4;color:#9c4039}.field-mapper-page .machine-tab.warning.active{border-color:#d4776f;background:#fff1ef;color:#92372f;box-shadow:0 -3px #c95850 inset,0 0 0 2px #c9585014}.field-mapper-page .machine-tab.warning .machine-tab-type{background:#f9deda;color:#9f3c35}.field-mapper-page .machine-tab.warning strong{color:#9c4039}.field-mapper-page .machine-tab-warning{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:999px;background:#fbe4e1;color:#a34039;font-size:12px;font-weight:900}.field-mapper-page .manual-mapping-table tr.missing-source-field td{background:#fff5f4;border-bottom-color:#f2d4d1}.field-mapper-page .manual-mapping-table tr.missing-source-field:hover td{background:#ffefed!important}.field-mapper-page .cell-input.csv-pair-input.missing-input{border-color:#d45c54;background:snow;color:#9d3731;box-shadow:0 0 0 3px #c9494014}.field-mapper-page .cell-input.csv-pair-input.missing-input:focus{border-color:#c44740;box-shadow:0 0 0 3px #c4474026}.field-mapper-page .missing-field-help{display:block;margin-top:6px;color:#b0443d;font-size:12px;font-weight:750;line-height:1.4}.field-mapper-page .time-field-card.has-missing-field{border-color:#d46b63;background:snow}.field-mapper-page .time-status.danger{color:#a53f38;background:#fbe7e4}.field-mapper-page .time-missing-warning{margin-top:18px;padding:13px 15px;border:1px solid #e7b2ad;border-radius:10px;background:#fff1f0}.field-mapper-page .time-missing-warning strong{display:block;color:#9f3d36;font-size:15px}.field-mapper-page .time-missing-warning span{display:block;margin-top:5px;color:#8c5b57;font-size:13px;line-height:1.5}.field-mapper-page .time-control select.missing-select{border-color:#d45c54;background:snow;color:#9d3731;box-shadow:0 0 0 3px #c9494014}@media (max-width: 900px){.field-mapper-page .mapping-reupload-status{align-items:flex-start;flex-direction:column}.field-mapper-page .mapping-reupload-counts{justify-content:flex-start}}.data-time-range[data-v-68a6dea0]{color:#666;font-size:13px}.date-range-picker[data-v-a54c77e7]{display:flex;gap:.2rem}.chart-date[data-v-a54c77e7]{padding:.25rem .5rem;font-size:14px;border:1px solid #ccc;border-radius:6px}.chart-layout[data-v-87b4ea7d]{display:flex;flex-direction:column}.chart-body[data-v-87b4ea7d]{display:flex;gap:1rem;align-items:flex-start}.pie-chart[data-v-87b4ea7d]{width:72%;height:100%}.label-panel[data-v-87b4ea7d]{width:28%;display:flex;flex-direction:column;font-size:14px;overflow:auto;max-height:100%}.label-unit[data-v-87b4ea7d]{margin-bottom:.2rem;align-self:flex-end}.label-row[data-v-87b4ea7d]{display:flex;align-items:flex-start;gap:.4rem;margin-bottom:4px}.label-dot[data-v-87b4ea7d]{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px}.label-content[data-v-87b4ea7d]{display:flex;flex-wrap:wrap;flex:1;min-width:0;word-break:break-word}.label-key[data-v-87b4ea7d],.label-value[data-v-87b4ea7d]{flex-shrink:0;text-align:left}.line-chart[data-v-cce0330a]{width:100%;height:100%}.line-chart[data-v-fbf26f5e]{width:50%;height:100%}.value-table[data-v-fbf26f5e]{width:50%;padding:.1rem;overflow-x:auto}.accuracy-table[data-v-fbf26f5e]{width:100%;table-layout:auto;border-collapse:collapse;font-size:13px;word-break:break-word}.accuracy-table td[data-v-fbf26f5e],.accuracy-table th[data-v-fbf26f5e]{padding:2.5px;border:1px solid #ccc;text-align:center;white-space:nowrap}.accuracy-table th[data-v-fbf26f5e]{background-color:#f0f0f0;font-weight:700}.table-caption-relative[data-v-fbf26f5e]{caption-side:top;position:relative;height:2em;margin-bottom:1px;font-weight:700;font-size:13px;color:#333;padding:4px 8px}.caption-left[data-v-fbf26f5e]{position:absolute;left:0}.caption-right[data-v-fbf26f5e]{position:absolute;right:0}[data-v-fbf26f5e] .on-text{color:#67c23a!important;font-weight:700}[data-v-fbf26f5e] .off-text{color:#f56c6c!important;font-weight:700}.accuracy-table[data-v-8cd0ee7a]{width:100%;table-layout:auto;border-collapse:collapse;font-size:13px;word-break:break-word}.accuracy-table td[data-v-8cd0ee7a],.accuracy-table th[data-v-8cd0ee7a]{padding:4px;border:1px solid #ccc;text-align:center;white-space:nowrap;max-width:1px}.accuracy-table th[data-v-8cd0ee7a]{background-color:#f0f0f0;font-weight:700}.model-label[data-v-8cd0ee7a]{font-size:13px;color:#333}.table-caption[data-v-8cd0ee7a]{caption-side:top;text-align:right;font-weight:700;padding:4px;color:#333}.data-visualization-page{width:100%;max-width:1600px;margin:0 auto;padding:28px 32px 48px;color:#12313b}.data-visualization-page .visualization-page-header,.data-visualization-page .visualization-source-card,.data-visualization-page .visualization-data-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}.data-visualization-page .visualization-page-header{margin-bottom:22px}.data-visualization-page .visualization-eyebrow{font-size:12px;letter-spacing:.18em;color:#78939b;font-weight:800}.data-visualization-page .visualization-page-header h1{margin:6px 0 8px;font-size:34px}.data-visualization-page .visualization-page-header p{margin:0;color:#68818a;font-size:15px}.data-visualization-page .visualization-file-select{min-height:42px;border:1px solid #cbd8dc;border-radius:10px;background:#fff;color:#274751;padding:0 12px;font-size:14px}.data-visualization-page .visualization-source-card{background:#fff;border:1px solid #dce6e9;border-radius:18px;padding:20px 22px;margin-bottom:18px}.data-visualization-page .visualization-source-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.data-visualization-page .visualization-source-copy strong{font-size:17px}.data-visualization-page .visualization-source-copy span{color:#748b93;font-size:13px}.data-visualization-page .visualization-file-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.data-visualization-page .visualization-upload-button{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid #9dc8d0;border-radius:10px;background:#eaf6f7;color:#176979;font-weight:800;cursor:pointer}.data-visualization-page .visualization-upload-button.disabled{opacity:.55;cursor:not-allowed}.data-visualization-page .visualization-file-input{display:none}.data-visualization-page .visualization-file-status{font-size:12px;color:#789099;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-visualization-page .visualization-empty-state,.data-visualization-page .visualization-unsupported-card{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;background:#fff;border:1px dashed #bed0d6;border-radius:18px;color:#6e858d}.data-visualization-page .visualization-empty-state strong,.data-visualization-page .visualization-unsupported-card strong{color:#31535d;font-size:18px}.data-visualization-page .visualization-data-summary{justify-content:flex-start;flex-wrap:wrap;margin:16px 0;color:#67808a;font-size:13px}.data-visualization-page .visualization-data-summary span{background:#eef5f6;border-radius:999px;padding:7px 11px}.data-visualization-page .visualization-data-summary b{color:#176979}.data-visualization-page .visualization-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.data-visualization-page .visualization-chart-card{min-width:0;height:410px;background:#fff;border:1px solid #dce6e9;border-radius:18px;padding:16px;overflow:hidden}.data-visualization-page .visualization-chart-card-wide,.data-visualization-page .visualization-unsupported-card{grid-column:1 / -1}.data-visualization-page .chart-layout,.data-visualization-page .power-sensor-trend-layout,.data-visualization-page .sensor-trend-layout,.data-visualization-page .power-trend-layout,.data-visualization-page .power-saving-layout,.data-visualization-page .power-saved-layout,.data-visualization-page .mau-humi-trend-layout,.data-visualization-page .mau-value-trend-layout,.data-visualization-page .ahu-trend-layout,.data-visualization-page .model-accuracy-layout{width:100%;height:100%;min-width:0;display:flex;flex-direction:column}.data-visualization-page .chart-header{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 8px;font-size:18px;font-weight:700;color:#24464f}.data-visualization-page .chart-title{font-size:18px;font-weight:700;color:#24464f}.data-visualization-page .chart-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.data-visualization-page .chart-body{flex:1 1 auto;min-height:0;display:flex;align-items:center;padding:2px}.data-visualization-page .chart-select,.data-visualization-page .chart-date{padding:5px 8px;font-size:13px;border:1px solid #cedadd;border-radius:7px;background:#fff}.data-visualization-page .chart-footer{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;font-size:12px}.data-visualization-page .chart-footer-actions{margin-left:auto;display:flex;gap:6px}.data-visualization-page .custom-btn{padding:6px 9px;font-size:12px;background:#fff;color:#24464f;border:1px solid #cbd8dc;border-radius:7px;cursor:pointer}.data-visualization-page .custom-btn:hover{background:#f1f6f7}.data-visualization-page .no-data-message{font-size:14px;color:#98a7ac;margin:auto;padding:16px;text-align:center}.data-visualization-page .line-chart{width:100%;height:100%}@media (max-width: 1050px){.data-visualization-page{padding:22px 20px 40px}.data-visualization-page .visualization-source-card{align-items:flex-start;flex-direction:column}.data-visualization-page .visualization-file-controls{justify-content:flex-start;width:100%}.data-visualization-page .visualization-dashboard-grid{grid-template-columns:1fr}.data-visualization-page .visualization-chart-card-wide{grid-column:auto}}.visualization-manager-page .visualization-list-icon{background:#e7f5f6;color:#176979}.visualization-source-cell,.visualization-size-cell{display:flex;flex-direction:column;gap:5px;min-width:0}.visualization-source-cell strong,.visualization-size-cell strong{color:#274751;font-size:14px}.visualization-source-cell span,.visualization-size-cell span,.visualization-created-at,.visualization-updated-at{color:#789099;font-size:13px}.visualization-source-cell span{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visualization-create-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:32px;background:#142d346b}.visualization-create-dialog{width:min(980px,100%);max-height:calc(100vh - 64px);overflow:auto;border:1px solid #d9e4e7;border-radius:20px;background:#fff;box-shadow:0 22px 70px #16373f38;padding:28px}.visualization-create-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e4ecee}.visualization-create-header .eyebrow{margin:0 0 7px;color:#7c939b;font-size:12px;font-weight:800;letter-spacing:.16em}.visualization-create-header h2{margin:0;color:#12313b;font-size:28px}.visualization-create-header p{margin:8px 0 0;color:#718891;font-size:14px}.visualization-dialog-close{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:11px;background:#f2f6f7;color:#56727a;font-size:26px;cursor:pointer}.visualization-create-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.visualization-create-method{min-width:0;min-height:290px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;border:1px solid #dce7e9;border-radius:16px;background:#fbfdfd}.visualization-create-method-icon{min-width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:14px;background:#e6f4f5;color:#176979;font-size:15px;font-weight:900}.visualization-create-method h3{margin:0 0 8px;color:#234750;font-size:20px}.visualization-create-method p{margin:0;color:#728990;font-size:14px;line-height:1.65}.visualization-create-action{width:100%;min-height:48px;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.visualization-create-action.disabled{opacity:.6;cursor:not-allowed}.visualization-create-action input[type=file]{display:none}.visualization-project-select{width:100%;min-height:48px;padding:0 12px;border:1px solid #cbd9dd;border-radius:10px;background:#fff;color:#294b54;font-size:14px}.visualization-no-project-result{width:100%;margin-top:auto;padding:14px 16px;border:1px dashed #ccdadd;border-radius:10px;background:#f6f9fa;color:#748a92;font-size:13px;line-height:1.6}.data-visualization-page .visualization-detail-actions{display:flex;align-items:center;gap:12px}.data-visualization-page .visualization-detail-source-card{margin-bottom:4px}.data-visualization-page .visualization-detail-file-name{max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border-radius:9px;background:#eef5f6;color:#176979;font-size:13px;font-weight:800}@media (max-width: 900px){.visualization-create-overlay{padding:16px}.visualization-create-dialog{max-height:calc(100vh - 32px);padding:20px}.visualization-create-methods{grid-template-columns:1fr}.data-visualization-page .visualization-page-header{align-items:flex-start;flex-direction:column}.data-visualization-page .visualization-detail-actions{width:100%;justify-content:space-between}}.visualization-manager-page .visualization-source-cell{max-width:220px}.visualization-manager-page .visualization-source-cell strong,.visualization-manager-page .visualization-source-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 980px){.visualization-manager-page .visualization-source-cell{max-width:165px}}.data-visualization-page .visualization-chart-card-configurable{position:relative}.data-visualization-page .visualization-chart-settings-button{position:absolute;z-index:8;top:10px;right:12px;min-height:34px;padding:0 11px;border:1px solid #c9d9dd;border-radius:9px;background:#fffffff5;color:#31535d;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #18424c0f}.data-visualization-page .visualization-chart-settings-button:hover{border-color:#7fb9c2;background:#eef8f9;color:#176979}.data-visualization-page .visualization-chart-card-configurable .chart-header{padding-right:84px}.data-visualization-page .visualization-chart-card-wide:first-child{min-height:430px}.visualization-chart-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:28px;background:#142d3475}.visualization-chart-settings-dialog{width:min(820px,100%);max-height:calc(100vh - 56px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9e4e7;border-radius:20px;background:#fff;box-shadow:0 22px 70px #16373f3d}.visualization-chart-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px 20px;border-bottom:1px solid #e4ecee}.visualization-chart-settings-header h2{margin:3px 0 5px;color:#173d47;font-size:25px}.visualization-chart-settings-header p{margin:0;color:#789099;font-size:14px}.visualization-chart-settings-body{overflow:auto;padding:24px 28px}.visualization-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.visualization-setting-field{display:flex;flex-direction:column;gap:7px;min-width:0}.visualization-setting-field-full{grid-column:1 / -1}.visualization-setting-field>span{color:#516d75;font-size:13px;font-weight:700}.visualization-setting-field input,.visualization-setting-field select{width:100%;min-height:43px;box-sizing:border-box;border:1px solid #cedadd;border-radius:9px;background:#fff;color:#25434c;padding:8px 11px;font:inherit}.visualization-setting-field input:focus,.visualization-setting-field select:focus{outline:none;border-color:#6eb5c0;box-shadow:0 0 0 3px #3e94a21a}.visualization-setting-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 12px}.visualization-setting-section-head>div{display:flex;flex-direction:column;gap:3px}.visualization-setting-section-head strong{color:#24464f;font-size:15px}.visualization-setting-section-head span{color:#82969d;font-size:12px}.visualization-setting-secondary-head{margin-top:20px}.visualization-setting-series-list{display:flex;flex-direction:column;gap:10px}.visualization-setting-series-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:13px;border:1px solid #e0e9eb;border-radius:12px;background:#fbfdfd}.visualization-setting-series-row.is-missing{border-color:#d8dfe1;background:#f1f4f4}.visualization-setting-series-row.is-missing .visualization-setting-field>span{color:#89979c}.visualization-setting-series-row.is-missing select,.visualization-setting-series-row.is-missing input{border-color:#d7dfe1;background:#edf1f2;color:#7f8e93}.visualization-setting-missing-note{display:block;margin-top:6px;color:#8b989d;font-size:12px;line-height:1.45}.visualization-setting-remove{min-height:43px;padding:0 12px;border:1px solid #efc7c1;border-radius:9px;background:#fff;color:#c94b3d;cursor:pointer}.visualization-setting-switch-row{display:flex;align-items:flex-start;gap:11px;margin-top:22px;padding:14px 16px;border:1px solid #d9e7e9;border-radius:12px;background:#f6fafb;cursor:pointer}.visualization-setting-switch-row input{width:18px;height:18px;margin-top:2px}.visualization-setting-switch-row span{display:flex;flex-direction:column;gap:3px}.visualization-setting-switch-row strong{color:#24464f;font-size:14px}.visualization-setting-switch-row small{color:#82969d;font-size:12px}.visualization-setting-hint{margin-top:20px;padding:14px 16px;border-radius:10px;background:#f3f7f8;color:#6f858c;font-size:13px;line-height:1.6}.visualization-chart-settings-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px 20px;border-top:1px solid #e4ecee;background:#fff}@media (max-width: 760px){.visualization-chart-settings-overlay{padding:12px}.visualization-chart-settings-header,.visualization-chart-settings-body,.visualization-chart-settings-footer{padding-left:18px;padding-right:18px}.visualization-setting-grid,.visualization-setting-series-row{grid-template-columns:1fr}.data-visualization-page .visualization-chart-card-configurable .chart-header{padding-right:72px}}.data-visualization-page .visualization-chart-settings-button{width:36px;height:36px;min-height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#45636c;font-size:25px;font-weight:700;line-height:1;box-shadow:none}.data-visualization-page .visualization-chart-settings-button:hover,.data-visualization-page .visualization-chart-settings-button:focus-visible{border-color:transparent;background:#eef3f4;color:#173f49;outline:none}.data-visualization-page .visualization-chart-card-configurable .chart-header{padding-right:52px}.visualization-chart-settings-dialog-wide{width:min(1120px,100%)}.visualization-setting-switch-row-top{margin-top:16px;margin-bottom:4px}.visualization-setting-group-list{display:flex;flex-direction:column;gap:16px}.visualization-setting-group-card{padding:18px;border:1px solid #dce7e9;border-radius:14px;background:#fbfdfd}.visualization-setting-group-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.visualization-setting-group-title{display:flex;align-items:baseline;gap:10px;min-width:0}.visualization-setting-group-title strong{color:#21464f;font-size:16px}.visualization-setting-group-title span{overflow:hidden;color:#789099;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.visualization-setting-group-name{margin-bottom:16px}.visualization-axis-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.visualization-axis-config-grid.single-axis{grid-template-columns:minmax(0,1fr)}.visualization-axis-config-panel{min-width:0;padding:14px;border:1px solid #e0e9eb;border-radius:12px;background:#fff}.visualization-axis-config-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.visualization-axis-config-head>div{display:flex;flex-direction:column;gap:2px}.visualization-axis-config-head strong{color:#24464f;font-size:15px}.visualization-axis-config-head span{color:#82969d;font-size:12px}.visualization-add-axis-field{flex:0 0 auto;min-height:36px!important;padding:0 12px!important;font-size:13px!important}.visualization-axis-name-field{margin-bottom:12px}.visualization-axis-series-list{display:flex;flex-direction:column;gap:10px}.visualization-axis-series-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:8px;align-items:end;padding:10px;border:1px solid #e6edef;border-radius:10px;background:#f9fbfb}.visualization-axis-empty{padding:18px 12px;border:1px dashed #d6e1e4;border-radius:10px;color:#8ba0a7;font-size:13px;text-align:center}.visualization-setting-remove-compact{min-height:36px}.visualization-setting-remove-icon{width:36px;min-width:36px;min-height:43px;padding:0;font-size:19px}.visualization-chart-settings-footer-split{justify-content:space-between;align-items:center}.visualization-chart-settings-footer-actions{display:flex;gap:10px}.visualization-delete-block-button{min-height:42px;padding:0 16px;border:1px solid #efc7c1;border-radius:9px;background:#fff;color:#c94b3d;font:inherit;font-weight:700;cursor:pointer}.visualization-delete-block-button:hover{background:#fff5f3;border-color:#e89f95}@media (max-width: 900px){.visualization-axis-config-grid,.visualization-axis-config-grid.single-axis{grid-template-columns:1fr}}@media (max-width: 620px){.visualization-axis-series-row{grid-template-columns:1fr}.visualization-setting-remove-icon{width:100%}.visualization-chart-settings-footer-split{align-items:stretch;flex-direction:column-reverse}.visualization-chart-settings-footer-actions{justify-content:flex-end}}.data-visualization-page .visualization-add-chart-fab-wrap{position:fixed;z-index:80;right:34px;bottom:30px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.data-visualization-page .visualization-add-chart-fab{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#0d8798;color:#fff;font:inherit;font-size:38px;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 10px 28px #1458653d;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.data-visualization-page .visualization-add-chart-fab:hover,.data-visualization-page .visualization-add-chart-fab:focus-visible{background:#0a7484;box-shadow:0 13px 32px #1458654d;transform:translateY(-2px);outline:none}.data-visualization-page .visualization-add-chart-fab.is-open{font-size:32px;background:#176979}.data-visualization-page .visualization-add-chart-menu{width:270px;overflow:hidden;border:1px solid #d8e5e8;border-radius:15px;background:#fff;box-shadow:0 16px 38px #1b424b33}.data-visualization-page .visualization-add-chart-menu>button{width:100%;min-height:72px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:12px 15px;border:0;border-bottom:1px solid #e8eff1;background:#fff;color:#24464f;text-align:left;cursor:pointer}.data-visualization-page .visualization-add-chart-menu>button:last-child{border-bottom:0}.data-visualization-page .visualization-add-chart-menu>button:hover,.data-visualization-page .visualization-add-chart-menu>button:focus-visible{background:#f2f9fa;outline:none}.data-visualization-page .visualization-add-chart-menu-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e6f4f6;color:#167484;font-size:25px;line-height:1}.data-visualization-page .visualization-add-chart-menu strong,.data-visualization-page .visualization-add-chart-menu small{display:block}.data-visualization-page .visualization-add-chart-menu strong{font-size:15px}.data-visualization-page .visualization-add-chart-menu small{margin-top:4px;color:#81969d;font-size:12px;line-height:1.4}@media (max-width: 760px){.data-visualization-page .visualization-add-chart-fab-wrap{right:18px;bottom:18px}.data-visualization-page .visualization-add-chart-fab{width:56px;height:56px;font-size:34px}.data-visualization-page .visualization-add-chart-menu{width:min(270px,calc(100vw - 36px))}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;color:#1f2937;background:#f4f6f9;font-synthesis:none;--navy: #111827;--navy-2: #1f2937;--line: #e5e7eb;--muted: #6b7280;--primary: #2563eb;--primary-soft: #eff6ff;--green: #059669;--danger: #dc2626}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--navy);color:#fff;padding:22px 16px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--navy);font-weight:900}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{font-size:11px;color:#9ca3af;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-label{color:#6b7280;font-size:10px;letter-spacing:.16em;font-weight:800;padding:20px 10px 8px;text-transform:uppercase}.project-list{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow:auto}.project-item,.nav-item{width:100%;border:0;color:#cbd5e1;background:transparent;text-align:left;border-radius:9px}.project-item{display:flex;gap:10px;padding:10px;align-items:center}.project-item:hover,.project-item.active,.nav-item:hover,.nav-item.active{background:#ffffff17;color:#fff}.project-copy{min-width:0}.project-copy strong,.project-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-copy strong{font-size:13px}.project-copy small{font-size:10px;color:#7f8da3;margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px #34d3991f;flex:none}.status-dot.disabled{background:#6b7280;box-shadow:none}.clone-project-button{margin:9px 4px 0;border:1px dashed rgba(255,255,255,.16);background:transparent;color:#8fa0b7;border-radius:8px;padding:8px 10px;font-size:10px;text-align:left}.clone-project-button:hover{color:#fff;border-color:#ffffff4d}.nav-label{margin-top:4px}.nav-list{display:flex;flex-direction:column;gap:3px}.nav-item{padding:10px 12px;font-size:13px;display:flex;align-items:center;gap:10px}.nav-icon{width:19px;text-align:center;color:#9ca3af;font-family:monospace;font-weight:800}.sidebar-refresh{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:transparent;color:#9ca3af;border-radius:9px;padding:10px;font-size:12px}.sidebar-refresh:hover{color:#fff;border-color:#ffffff40}.main-content{margin-left:258px;padding:34px 38px 60px;min-height:100vh}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-title-row.compact{margin-bottom:22px;align-items:center}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#8b95a5;margin:0 0 7px}.page-title-row h1{font-size:28px;letter-spacing:-.025em;margin:0;color:#111827}.subtitle{color:#6b7280;font-size:13px;margin:7px 0 0;max-width:760px;line-height:1.6}.project-badge{border-radius:999px;padding:6px 10px;background:#ecfdf5;color:#047857;font-size:11px;font-weight:800}.project-badge.off{background:#f3f4f6;color:#6b7280}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px #00000005}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{font-size:11px;color:#6b7280;font-weight:700}.metric-card strong{font-size:25px;margin:7px 0 3px;color:#111827}.metric-card small{font-size:10px;color:#9ca3af}.content-grid{display:grid;gap:16px}.two-col{grid-template-columns:1.4fr 1fr}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 1px 2px #00000005}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel-header h2,.job-title h2{font-size:16px;margin:0;color:#111827}.panel-header small{color:#9ca3af;font-size:10px}.flow-list{display:flex;align-items:stretch;gap:8px}.flow-list>i{align-self:center;color:#c4cbd5;font-style:normal}.flow-step{flex:1;border:1px solid #e8ebef;border-radius:10px;padding:13px;display:flex;gap:10px;align-items:center}.flow-step b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#f3f4f6;font-size:9px;color:#6b7280}.flow-step span strong,.flow-step span small{display:block}.flow-step strong{font-size:12px}.flow-step small{font-size:9px;color:#9ca3af;margin-top:4px;line-height:1.3}.info-list{margin:0}.info-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f0f2f4}.info-list>div:last-child{border-bottom:0}.info-list dt{font-size:11px;color:#7b8492}.info-list dd{margin:0;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#374151;text-align:right;word-break:break-all}.config-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px}.config-tabs{display:flex;flex-direction:column;gap:5px}.config-tabs button{background:transparent;border:1px solid transparent;border-radius:9px;text-align:left;padding:10px 12px;color:#596273}.config-tabs button.active{background:#fff;border-color:var(--line);color:#111827;box-shadow:0 1px 2px #00000005}.config-tabs span,.config-tabs small{display:block}.config-tabs span{font-size:12px;font-weight:800}.config-tabs small{font-size:9px;color:#9ca3af;margin-top:3px}.config-panel{padding:0;overflow:hidden}.editor-header{padding:16px 18px;margin:0;border-bottom:1px solid var(--line)}.yaml-editor,.json-editor{display:block;width:100%;resize:vertical;border:0;outline:none;background:#111827;color:#dbeafe;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:18px;-moz-tab-size:2;tab-size:2}.yaml-editor{min-height:590px}.json-editor{min-height:360px;border-radius:9px;margin-top:6px}.unsaved-badge{font-size:10px;color:#b45309;background:#fffbeb;padding:5px 8px;border-radius:999px}.btn{border-radius:8px;padding:9px 13px;border:1px solid transparent;font-size:11px;font-weight:800}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:#111827;color:#fff}.btn.primary:hover:not(:disabled){background:#263244}.btn.secondary{background:#fff;border-color:#dfe3e8;color:#374151}.btn.secondary:hover:not(:disabled){background:#f8fafc}.button-row{display:flex;gap:8px;align-items:center}.button-row.end{justify-content:flex-end;margin-top:16px}.test-control-panel{margin-bottom:16px}.form-grid{display:grid;gap:14px}.form-grid.four{grid-template-columns:1.3fr 1.2fr 1.2fr .65fr}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:block}.field>span,.check-field span{display:block;font-size:10px;font-weight:800;color:#6b7280;margin-bottom:6px}.field input,.field select{width:100%;height:38px;border:1px solid #dfe3e8;border-radius:8px;padding:0 10px;background:#fff;color:#374151;font-size:11px}.field input[type=file]{padding:7px}.field.full{margin-top:14px}.check-field{display:flex;align-items:center;gap:8px;margin-top:18px;background:#f8fafc;border:1px solid #e5e7eb;padding:10px;border-radius:8px}.check-field span{margin:0}.preview-metrics{grid-template-columns:repeat(3,1fr)}.table-wrap{width:100%;overflow:auto;border:1px solid #e9edf1;border-radius:9px}.data-table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:10px}.data-table th{position:sticky;top:0;background:#f8fafc;color:#6b7280;font-weight:800;text-align:left;padding:9px 10px;border-bottom:1px solid #e5e7eb}.data-table td{padding:8px 10px;border-bottom:1px solid #f0f2f4;color:#374151;max-width:180px;overflow:hidden;text-overflow:ellipsis}.data-table tr:last-child td{border-bottom:0}.empty-cell{text-align:center!important;padding:28px!important;color:#9ca3af!important}.result-block{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid #273244;background:#111827}.result-title{padding:11px 15px;border-bottom:1px solid #273244;color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.result-block pre{margin:0;padding:16px;max-height:520px;overflow:auto;color:#d1fae5;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.model-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.model-chip{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;color:#6b7280;font-size:10px}.model-chip b{color:#111827;margin-right:8px}.model-chip.disabled{opacity:.45}.scheduler-status{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:15px;font-size:11px;font-weight:800}.job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.job-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.job-title code{font-size:9px;color:#9ca3af}.compact-list>div{padding:8px 0}.error-text{color:#b91c1c!important;max-width:330px}.full-button{width:100%;margin-top:14px}.empty-panel{grid-column:1/-1;border:1px dashed #d1d5db;border-radius:12px;padding:34px;text-align:center;color:#9ca3af;font-size:12px}.toast{position:fixed;right:24px;bottom:24px;z-index:99;max-width:520px;padding:12px 16px;border-radius:9px;color:#fff;background:#111827;box-shadow:0 12px 36px #00000038;font-size:12px;line-height:1.5;white-space:pre-wrap}.toast.success{background:#065f46}.toast.error{background:#991b1b}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.loading-screen,.empty-screen{min-height:70vh;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px;gap:10px}.spinner{width:18px;height:18px;border:2px solid #d1d5db;border-top-color:#111827;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1350px){.metric-grid{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}}:root{--navy: #0b2f3a;--navy-2: #114b5f;--primary: #0f7a8a;--primary-soft: #ecfeff;--green: #0f9f82}body{background:linear-gradient(180deg,#eef7f9 0,#f5f8fa 260px,#f4f6f9)}.sidebar{background:linear-gradient(180deg,#082d38,#0b3e4d 58%,#092c36)}.chiller-mark{color:#0f7a8a;font-size:20px;box-shadow:0 0 0 6px #ffffff0f}.project-item:hover,.project-item.active,.nav-item:hover,.nav-item.active{background:#7dd3fc1f}.project-item.active,.nav-item.active{box-shadow:inset 3px 0 #67e8f9}.sidebar-footer-copy{margin-top:auto;padding:16px 10px 10px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer-copy span,.sidebar-footer-copy small{display:block}.sidebar-footer-copy span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#67e8f9}.sidebar-footer-copy small{font-size:10px;color:#7f9eaa;margin-top:4px}.sidebar-refresh{margin-top:0}.chiller-hero{position:relative;overflow:hidden;min-height:188px;margin-bottom:18px;padding:30px 34px;border-radius:18px;background:linear-gradient(125deg,#0b3e4d,#0e6272 55%,#12889a);color:#fff;box-shadow:0 18px 40px #073b4829}.chiller-hero:before{content:"";position:absolute;right:-90px;top:-110px;width:330px;height:330px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.chiller-hero:after{content:"";position:absolute;right:-25px;top:-45px;width:205px;height:205px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.hero-copy{position:relative;z-index:2;max-width:720px}.chiller-hero .eyebrow{color:#a5f3fc}.chiller-hero h1{font-size:30px;margin:0;letter-spacing:-.03em}.chiller-hero .subtitle{color:#d8f4f7;max-width:650px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hero-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;font-size:10px;color:#e6fbfd}.hero-badge{position:absolute;right:24px;top:22px;z-index:3;background:#d1fae5;color:#047857}.plant-visual{position:absolute;right:38px;bottom:18px;width:210px;height:105px;opacity:.88}.chiller-unit{position:absolute;right:42px;bottom:10px;width:100px;height:62px;border:2px solid rgba(255,255,255,.65);border-radius:12px;background:#ffffff14;display:flex;align-items:center;justify-content:center;gap:9px}.chiller-unit b{font-size:18px}.chiller-unit span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d8fbff;color:#0f6573;font-size:9px;font-weight:900}.water-loop{position:absolute;right:0;bottom:20px;width:38px;height:38px;border:2px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center}.pipe{position:absolute;height:2px;background:#ffffff73}.pipe-a{right:0;bottom:70px;width:92px}.pipe-b{right:115px;bottom:88px;width:76px}.chiller-metric{border-top:3px solid #94e5ed}.chiller-metric strong{color:#0d5664}.chiller-flow .flow-step{background:linear-gradient(180deg,#fff,#f7fcfd)}.chiller-flow .flow-step b{background:#e6f8fa;color:#0b6d7b}.btn.primary{background:#0d6877}.btn.primary:hover:not(:disabled){background:#095563}.project-badge{background:#e6fffb;color:#087c6c}.spinner{border-top-color:#0f7a8a}@media (max-width:1400px){.plant-visual{opacity:.35}.hero-copy{max-width:70%}}.flow-designer-page{max-width:1600px;margin:0 auto}.flow-page-header{align-items:center}.flow-project-context{min-width:220px;padding:11px 14px;border:1px solid #dbe4e8;border-radius:10px;background:#fffc;text-align:right}.flow-project-context small,.flow-project-context strong{display:block}.flow-project-context small{color:#8b95a5;font-size:9px;font-weight:800;letter-spacing:.08em}.flow-project-context strong{color:#164e59;font-size:12px;margin-top:3px}.flow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin-bottom:12px;border:1px solid #dce6e9;border-radius:12px;background:#fff}.flow-toolbar-copy{display:flex;align-items:center;gap:8px;min-width:0}.flow-toolbar-copy strong{font-size:12px;color:#183b43}.flow-toolbar-copy small{color:#8a9aa0;font-size:10px}.flow-live-dot{width:8px;height:8px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 4px #14b8a61a}.flow-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;align-items:stretch}.flow-canvas-panel,.node-inspector{background:#fff;border:1px solid #dce6e9;border-radius:14px;box-shadow:0 3px 14px #1e424b0a}.flow-canvas-panel{min-width:0;overflow:hidden}.flow-canvas-grid{min-height:520px;padding:72px 34px 96px;display:grid;grid-template-columns:minmax(190px,1fr) 72px minmax(190px,1fr) 72px minmax(210px,1fr) minmax(100px,.65fr);align-items:center;position:relative;overflow:auto;background-color:#fbfdfe;background-image:linear-gradient(#edf2f4 1px,transparent 1px),linear-gradient(90deg,#edf2f4 1px,transparent 1px);background-size:24px 24px}.workflow-node{position:relative;min-width:0;min-height:170px;padding:15px 16px 17px;border:1px solid #d8e1e5;border-radius:13px;background:#fff;color:#24383e;text-align:left;box-shadow:0 8px 18px #19414a0f;transition:border-color .15s,box-shadow .15s,transform .15s}.workflow-node:hover{transform:translateY(-2px);border-color:#9dcbd2;box-shadow:0 12px 24px #19414a1a}.workflow-node.selected{border-color:#0f7a8a;box-shadow:0 0 0 3px #0f7a8a1a,0 12px 24px #19414a14}.node-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:20px}.node-kind{font-size:8px;color:#8a989d;letter-spacing:.16em;font-weight:900}.node-state{padding:4px 6px;border-radius:999px;background:#f3f4f6;color:#7a858b;font-size:8px;font-weight:800}.status-ready .node-state{background:#fff7ed;color:#c2410c}.status-running .node-state{background:#ecfeff;color:#0e7490}.status-done .node-state{background:#ecfdf5;color:#047857}.node-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;margin-bottom:13px;font-weight:900}.file-icon{background:#edf9fb;color:#0e7281;font-size:20px}.transform-icon{background:#f1f5f9;color:#475569;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace}.json-icon{background:#ecfdf5;color:#047857;font:900 10px ui-monospace,SFMono-Regular,Menlo,monospace}.workflow-node>strong,.workflow-node>small{display:block;overflow:hidden;text-overflow:ellipsis}.workflow-node>strong{font-size:14px;color:#163840}.workflow-node>small{font-size:9px;color:#89969c;margin-top:6px;white-space:nowrap}.node-port{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:#cbd5da;box-shadow:0 0 0 1px #b8c8cd;z-index:2}.node-port-in{left:-7px}.node-port-out{right:-7px}.status-done .node-port,.status-ready .node-port-out{background:#14b8a6;box-shadow:0 0 0 1px #14b8a6}.json-start-port{background:#0f7a8a!important;box-shadow:0 0 0 1px #0f7a8a,0 0 0 5px #0f7a8a1a!important}.json-start-label{position:absolute;right:11px;bottom:10px;color:#0f7a8a;font-size:8px;font-weight:900;letter-spacing:.04em}.flow-connector{display:flex;align-items:center;color:#bdc9cd}.flow-connector span{height:2px;flex:1;background:#d9e1e4}.flow-connector i{font-style:normal;font-size:25px;line-height:1;margin-left:-1px}.flow-connector.active{color:#14b8a6}.flow-connector.active span{background:#14b8a6}.future-flow{align-self:center;display:flex;align-items:center;min-width:0}.future-line{width:28px;height:2px;background:repeating-linear-gradient(90deg,#a8c4ca 0 5px,transparent 5px 9px)}.future-flow button{width:100%;min-height:88px;border:1px dashed #b8ccd1;border-radius:11px;background:#ffffffb3;color:#668089;display:grid;place-items:center;align-content:center;gap:6px}.future-flow button:hover{border-color:#0f7a8a;color:#0f7a8a;background:#f6fdfe}.future-flow button span{font-size:18px}.future-flow button small{font-size:8px;line-height:1.3}.flow-hint-bar{display:flex;gap:12px;align-items:center;min-height:50px;padding:10px 16px;border-top:1px solid #e9eff1;background:#fff}.flow-hint-bar span{flex:none;color:#0e7281;font-size:9px;font-weight:900}.flow-hint-bar p{margin:0;color:#8a989d;font-size:9px;line-height:1.5}.node-inspector{min-width:0;padding:20px}.inspector-heading{display:flex;align-items:center;gap:11px;padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid #edf1f3}.inspector-step{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e9f8fa;color:#0f7180;font-size:10px;font-weight:900}.inspector-heading small,.inspector-heading h2{display:block;margin:0}.inspector-heading small{color:#9aa6aa;font-size:8px;letter-spacing:.13em;font-weight:900}.inspector-heading h2{margin-top:2px;color:#173b43;font-size:17px}.flow-upload-zone{min-height:210px;border:1.5px dashed #bfd0d5;border-radius:12px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fbfdfe;transition:.15s;cursor:pointer}.flow-upload-zone:hover,.flow-upload-zone.active{border-color:#0f7a8a;background:#f2fcfd}.flow-upload-zone.filled{border-style:solid}.upload-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eaf8fa;color:#0c7280;font-size:20px;margin-bottom:12px}.flow-upload-zone strong{max-width:300px;color:#23434a;font-size:12px;word-break:break-all}.flow-upload-zone small{color:#72868c;font-size:10px;margin-top:6px}.flow-upload-zone span{color:#9ba8ac;font-size:9px;margin-top:13px}.inspector-note{margin-top:13px;padding:11px 12px;border-left:3px solid #8bd8e1;background:#f5fbfc;color:#688087;font-size:9px;line-height:1.65}.inspector-fields{display:flex;flex-direction:column;gap:13px}.conversion-rule-list{display:flex;flex-direction:column;gap:8px;margin-top:2px}.conversion-rule-list>div{display:flex;gap:9px;align-items:center;padding:9px 10px;border:1px solid #e7edef;border-radius:9px;color:#5e7076;font-size:9px}.conversion-rule-list b{width:21px;height:21px;display:grid;place-items:center;flex:none;border-radius:6px;background:#edf8fa;color:#0f7180;font-size:8px}.flow-run-button{height:42px;margin-top:16px}.json-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px}.json-summary-grid>div{padding:12px;border:1px solid #e5ecee;border-radius:10px;background:#fbfdfd}.json-summary-grid span,.json-summary-grid strong{display:block}.json-summary-grid span{color:#8b999e;font-size:8px}.json-summary-grid strong{margin-top:3px;color:#155b67;font-size:20px}.json-field-preview{margin-bottom:13px}.json-field-preview>span{display:block;color:#788a90;font-size:9px;font-weight:800;margin-bottom:7px}.json-field-preview>div{display:flex;gap:5px;flex-wrap:wrap;max-height:72px;overflow:auto}.json-field-preview code{padding:4px 6px;border-radius:5px;background:#f1f5f6;color:#53666c;font-size:8px}.json-preview-box{border:1px solid #263d43;border-radius:10px;overflow:hidden;background:#102a31}.json-preview-head{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #29434a;color:#80cbd5;font-size:8px;font-weight:900;letter-spacing:.08em}.json-preview-head small{color:#789197;font-weight:600;letter-spacing:0}.json-preview-box pre{margin:0;padding:11px;height:205px;overflow:auto;color:#d3f4e8;font:9px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.flow-output-actions{margin-top:11px;justify-content:flex-end}.json-origin-callout{display:flex;gap:10px;margin-top:14px;padding:12px;border:1px solid #b9e7df;border-radius:10px;background:#f0fdfa}.origin-dot{width:9px;height:9px;flex:none;margin-top:3px;border-radius:50%;background:#0f9f82;box-shadow:0 0 0 4px #0f9f821a}.json-origin-callout strong{color:#116455;font-size:10px}.json-origin-callout p{margin:4px 0 0;color:#64817a;font-size:8px;line-height:1.55}.inspector-empty{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#839399}.inspector-empty>div{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#f1f6f7;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#789096}.inspector-empty strong{color:#52676d;font-size:12px;margin-top:13px}.inspector-empty p{max-width:230px;margin:6px 0 14px;font-size:9px;line-height:1.6}@media (max-width:1450px){.flow-workspace{grid-template-columns:minmax(0,1fr) 330px}.flow-canvas-grid{grid-template-columns:180px 52px 180px 52px 195px 110px;padding-left:24px;padding-right:24px}}.root-nav-list{margin-bottom:4px}.root-nav-item{min-height:48px}.root-nav-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.root-nav-copy strong{font-size:13px}.root-nav-copy small{font-size:9px;color:#78939b;font-weight:600}.sidebar-project-tree{position:relative;margin:12px 0 2px 10px;padding-left:13px}.tree-rail{position:absolute;top:0;bottom:8px;left:1px;width:1px;background:#67e8f92e}.tree-project-head{width:100%;border:0;border-radius:9px;background:#ffffff0b;color:#d9f4f7;display:flex;align-items:center;gap:9px;padding:10px;text-align:left}.tree-project-head:hover{background:#7dd3fc17}.project-child-nav{display:flex;flex-direction:column;gap:2px;margin-top:5px}.child-nav-item{position:relative;padding:8px 9px 8px 4px;font-size:11px}.child-nav-item.active{background:#7dd3fc1f;box-shadow:inset 2px 0 #67e8f9}.tree-elbow{width:15px;color:#547985;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.sidebar-no-project{margin:14px 10px;padding:12px;border:1px dashed rgba(255,255,255,.12);border-radius:9px;color:#78939b}.sidebar-no-project span,.sidebar-no-project small{display:block}.sidebar-no-project span{font-size:10px;font-weight:800;color:#a6bec5}.sidebar-no-project small{margin-top:5px;font-size:9px;line-height:1.5}.project-manager-page{max-width:1450px;margin:0 auto}.project-manager-header{align-items:center}.project-empty-state{min-height:520px;border:1px solid #dce6e9;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:54px 28px;box-shadow:0 3px 14px #1e424b0a}.project-empty-icon{width:68px;height:68px;display:grid;place-items:center;border-radius:18px;background:#eaf8fa;color:#0f7180;font-size:30px;font-weight:400;margin-bottom:18px}.project-empty-state .eyebrow{margin-bottom:8px}.project-empty-state h2{margin:0;color:#173b43;font-size:22px}.project-empty-state>p:not(.eyebrow){max-width:490px;color:#829298;font-size:12px;line-height:1.65;margin:9px 0 20px}.project-empty-button{min-width:180px;height:42px}.project-hierarchy-preview{display:flex;align-items:center;gap:9px;margin-top:28px;padding:10px 14px;border-radius:999px;background:#f7fafb;color:#84959b;font-size:10px}.project-hierarchy-preview i{color:#b4c1c5;font-style:normal}.project-hierarchy-preview strong{color:#0f7180}.project-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.managed-project-card,.new-project-card{min-height:230px;border:1px solid #dce6e9;border-radius:14px;background:#fff;padding:20px;box-shadow:0 2px 8px #1e424b09}.managed-project-head{display:flex;justify-content:space-between;align-items:center}.managed-project-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eaf8fa;color:#0f7180}.managed-project-card h2{margin:17px 0 5px;font-size:16px;color:#173b43}.managed-project-card code{color:#789097;font-size:9px}.managed-project-card p{min-height:42px;margin:12px 0 18px;color:#7f9096;font-size:10px;line-height:1.6}.managed-project-actions{display:flex;justify-content:flex-end}.new-project-card{border-style:dashed;color:#779097;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.new-project-card:hover{border-color:#0f7a8a;background:#f7fdfe;color:#0f7180}.new-project-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eef8fa;font-size:21px}.new-project-card strong{font-size:12px}.new-project-card small{font-size:9px;color:#98a6aa}.project-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:30px;background:#061d2361;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.project-create-modal{width:min(520px,calc(100vw - 60px));padding:22px;border-radius:15px;background:#fff;box-shadow:0 22px 70px #05222938}.project-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid #edf1f3}.project-modal-head h2{margin:0;color:#173b43;font-size:20px}.modal-close{width:34px;height:34px;border:0;border-radius:8px;background:#f3f6f7;color:#667c83;font-size:20px}.project-create-modal .field{margin-bottom:14px}.project-create-modal .field textarea{width:100%;border:1px solid #dfe3e8;border-radius:8px;padding:10px;resize:vertical;color:#374151;font-size:11px}.field-help{display:block;margin-top:5px;color:#9aa7ab;font-size:8px;line-height:1.5}.project-create-note{padding:10px 12px;border-left:3px solid #8bd8e1;background:#f5fbfc;color:#688087;font-size:9px;line-height:1.6}@media (max-width:1300px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-upload-create{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.3fr) 190px;gap:18px;align-items:center;padding:24px;border:1px solid #dce6e9;border-radius:16px;background:#fff;box-shadow:0 3px 14px #1e424b0a;min-height:220px;margin-bottom:18px}.project-upload-create.compact{min-height:150px;padding:18px 20px}.upload-create-copy h2{margin:9px 0 7px;color:#173b43;font-size:18px}.upload-create-copy p{margin:0;max-width:390px;color:#819298;font-size:10px;line-height:1.65}.upload-create-copy code{color:#0f7180}.step-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf8fa;color:#0f7180;font-size:9px;font-weight:900;letter-spacing:.06em}.project-source-drop{min-height:130px;border:1.5px dashed #bfd0d5;border-radius:12px;background:#fbfdfe;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:.15s}.project-source-drop:hover,.project-source-drop.active{border-color:#0f7a8a;background:#f3fcfd}.project-source-drop.filled{border-style:solid}.upload-source-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#eaf8fa;color:#0f7180;font-size:18px;margin-bottom:8px}.project-source-drop strong{max-width:100%;color:#25454c;font-size:11px;word-break:break-all}.project-source-drop small{margin-top:4px;color:#798c92;font-size:9px}.project-source-drop em{margin-top:8px;color:#9ba7ab;font-size:8px;font-style:normal}.project-source-submit{height:44px}.project-card-grid-v3{margin-top:4px}.flow-designer-v3{max-width:1680px;margin:0 auto}.flow-v3-header{align-items:center}.flow-v3-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:14px;align-items:start}.flow-v3-canvas,.flow-v3-inspector{border:1px solid #dce6e9;border-radius:15px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.flow-v3-canvas{min-width:0;overflow:hidden}.flow-v3-inspector{position:sticky;top:24px;min-width:0;padding:20px;max-height:calc(100vh - 80px);overflow:auto}.flow-v3-no-source{padding:50px;border:1px dashed #cbd8dc;border-radius:14px;background:#fff;text-align:center;color:#7a8d93}.flow-v3-no-source strong{color:#294c54;font-size:15px}.flow-v3-no-source p{font-size:10px}.flow-lane{background:#fbfdfe}.flow-lane+.flow-lane{border-top:1px solid #e7eef0}.flow-lane-header{min-height:80px;padding:16px 20px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #e7eef0;background:#fff}.flow-lane-header>div{display:flex;gap:11px;align-items:center}.flow-lane-header>div>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#e9f8fa;color:#0f7180;font-size:10px;font-weight:900}.flow-lane-header small,.flow-lane-header h2{display:block;margin:0}.flow-lane-header small{color:#9aa6aa;font-size:8px;font-weight:900;letter-spacing:.12em}.flow-lane-header h2{margin-top:1px;color:#173b43;font-size:16px}.flow-lane-header p{margin:0;max-width:530px;text-align:right;color:#829399;font-size:9px;line-height:1.55}.flow-lane-body{min-height:215px;padding:26px 28px;display:flex;align-items:center;gap:16px;overflow:auto;background-image:linear-gradient(#edf2f4 1px,transparent 1px),linear-gradient(90deg,#edf2f4 1px,transparent 1px);background-size:24px 24px}.preprocess-node-row{min-height:250px}.lane-connector{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fbfdfe;color:#38a6b4}.lane-connector span{width:2px;height:17px;background:#70c9d3}.lane-connector i{font-size:14px;font-style:normal;line-height:1}.flow-v3-node{position:relative;flex:none;width:245px;min-height:165px;padding:14px;border:1px solid #d7e2e5;border-radius:13px;background:#fff;color:#233c42;text-align:left;box-shadow:0 7px 16px #173c430f;transition:.15s}.flow-v3-node:hover{border-color:#9bcbd2;transform:translateY(-1px)}.flow-v3-node.selected{border-color:#0f7a8a;box-shadow:0 0 0 3px #0f7a8a1a,0 8px 18px #173c4314}.flow-v3-node-head{display:flex;justify-content:space-between;gap:7px;align-items:center}.flow-v3-node-head span{color:#87979c;font-size:8px;font-weight:900;letter-spacing:.08em}.flow-v3-node-head i{max-width:110px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#ecfdf5;color:#08785d;font-size:7px;font-style:normal;font-weight:900}.source-node-icon,.pre-node-icon{width:37px;height:37px;display:grid;place-items:center;margin:14px 0 10px;border-radius:9px;background:#eaf8fa;color:#0f7180;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.pre-node-icon{background:#f1f5f6;color:#526e75}.flow-v3-node>strong{display:block;color:#173b43;font-size:13px}.flow-v3-node>p{margin:5px 0 9px;color:#89979b;font-size:9px}.flow-v3-node>em{display:block;margin-top:10px;color:#9aa6aa;font-size:8px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-node-tags,.selected-field-tags{display:flex;gap:4px;flex-wrap:wrap}.source-node-tags span,.selected-field-tags code{max-width:105px;padding:3px 5px;border-radius:5px;background:#f2f6f7;color:#62767b;font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-v3-port{position:absolute;right:-6px;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#18a5b4;box-shadow:0 0 0 1px #79cbd4}.node-inline-connector{flex:none;width:42px;display:flex;align-items:center;color:#79cbd4}.node-inline-connector span{flex:1;height:2px;background:#9fd7dd}.node-inline-connector i{font-style:normal;font-size:18px}.preprocess-node-row>.node-inline-connector:last-of-type{display:none}.add-preprocess-node{flex:none;width:210px;min-height:155px;border:1.5px dashed #9ccbd2;border-radius:13px;background:#f6fdfef0;color:#0f7180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.add-preprocess-node:hover{background:#effbfc;border-color:#0f7a8a}.add-preprocess-node>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e6f7f9;font-size:21px}.add-preprocess-node strong{font-size:10px}.add-preprocess-node small{color:#8ba0a5;font-size:8px}.source-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:13px}.source-summary-cards>div{padding:10px;border:1px solid #e6edef;border-radius:9px;background:#fbfdfd}.source-summary-cards span,.source-summary-cards strong{display:block}.source-summary-cards span{color:#8a999e;font-size:8px}.source-summary-cards strong{margin-top:3px;color:#155b67;font-size:15px}.field-search-input{width:100%;height:36px;border:1px solid #dce5e8;border-radius:8px;padding:0 10px;outline:none;color:#344c52;font-size:10px;background:#fff}.field-search-input:focus{border-color:#65b9c4;box-shadow:0 0 0 3px #0f7a8a12}.source-field-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:530px;overflow:auto}.source-field-item{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;padding:9px 10px;border:1px solid #e8edef;border-radius:8px;background:#fff}.source-field-item>div:last-child{text-align:right}.source-field-item strong,.source-field-item small,.source-field-item span{display:block}.source-field-item strong{overflow:hidden;text-overflow:ellipsis;color:#334f56;font-size:9px;white-space:nowrap}.source-field-item small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#9aa5a8;font-size:7px;white-space:nowrap}.source-field-item span{color:#0f7180;font-size:8px;font-weight:800}.flow-field-picker{margin-top:14px}.flow-field-picker-head{display:flex;justify-content:space-between;margin-bottom:7px;color:#6d8086;font-size:9px;font-weight:800}.flow-field-picker-head b{color:#0f7180}.flow-field-check-list{max-height:260px;overflow:auto;margin-top:8px;border:1px solid #e5ecee;border-radius:9px}.flow-field-check{display:flex;gap:8px;align-items:center;min-height:38px;padding:6px 9px;border-bottom:1px solid #eef2f3;cursor:pointer}.flow-field-check:last-child{border-bottom:0}.flow-field-check:hover{background:#f8fbfc}.flow-field-check input{accent-color:#0f7a8a}.flow-field-check span{min-width:0}.flow-field-check strong,.flow-field-check small{display:block}.flow-field-check strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#405a61;font-size:8px}.flow-field-check small{margin-top:2px;color:#9aa5a9;font-size:7px}.operation-config-box{margin-top:14px;padding:12px;border:1px solid #dfebed;border-radius:10px;background:#f9fcfc}.operation-config-box>strong{display:block;margin-bottom:9px;color:#526c72;font-size:9px}.rename-row{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:5px;align-items:center;margin-top:6px}.rename-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64787e;font-size:7px}.rename-row span{text-align:center;color:#a0adb1}.rename-row input{width:100%;height:31px;border:1px solid #dce5e8;border-radius:7px;padding:0 7px;font-size:8px}.flow-editor-actions{position:sticky;bottom:-20px;margin:18px -20px -20px;padding:12px 20px;border-top:1px solid #e8eef0;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.selected-node-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.selected-node-summary>span,.selected-node-summary>strong{padding:9px 10px;border:1px solid #e8edef}.selected-node-summary>span{border-radius:8px 0 0 8px;color:#86969b;font-size:8px}.selected-node-summary>strong{margin-left:-9px;border-radius:0 8px 8px 0;color:#244b54;font-size:9px;text-align:right}.selected-field-tags{max-height:145px;overflow:auto;margin-bottom:13px}.selected-field-tags code{max-width:165px;font-size:8px}.node-config-preview{max-height:220px;margin:0 0 13px;overflow:auto;border-radius:9px;background:#102a31;color:#d3f4e8;padding:11px;font:8px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.node-manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.node-manage-actions .btn:first-child{grid-column:1/-1}.btn.danger{background:#fff;border-color:#f0caca;color:#b42318}.btn.danger:hover{background:#fff6f6}@media (max-width:1400px){.flow-v3-layout{grid-template-columns:minmax(0,1fr) 340px}.project-upload-create{grid-template-columns:1fr 1.25fr 165px}}.sidebar{transition:width .18s ease,padding .18s ease}.main-content{transition:margin-left .18s ease}.sidebar-collapse-toggle{position:absolute;top:25px;right:-13px;width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0d4654;color:#d9f5f7;font-size:18px;line-height:1;box-shadow:0 2px 7px #00000024;z-index:12}.sidebar-collapse-toggle:hover{background:#0f5a6a;color:#fff}.sidebar.collapsed{width:82px;padding-left:12px;padding-right:12px}.sidebar.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .brand-mark{flex:none}.sidebar.collapsed .root-nav-item,.sidebar.collapsed .sidebar-refresh{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .nav-icon{margin:0}.sidebar.collapsed .sidebar-footer-copy{display:none}.sidebar.collapsed .sidebar-refresh{margin-top:auto;min-height:40px}.sidebar.collapsed .sidebar-refresh>span:first-child{font-size:17px}.sidebar.collapsed .sidebar-hide-when-collapsed{display:none!important}.app-shell.sidebar-collapsed .main-content{margin-left:82px}.project-list-page{max-width:1500px;margin:0 auto}.project-manager-actions{display:flex;align-items:center;gap:9px}.project-create-button{min-width:112px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.project-create-button>span{font-size:17px;line-height:1}.project-list-panel{margin-top:22px;overflow:hidden;border:1px solid #dce6e9;border-radius:13px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.project-list-toolbar{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edef;background:#fbfdfd}.project-list-toolbar>div{display:flex;align-items:baseline;gap:9px}.project-list-toolbar strong{color:#25454c;font-size:12px}.project-list-toolbar span{color:#8c9ba0;font-size:9px}.project-table-wrap{width:100%;overflow-x:auto}.project-list-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}.project-list-table th,.project-list-table td{padding:13px 16px;border-bottom:1px solid #edf1f2;text-align:left;vertical-align:middle}.project-list-table th{background:#f7fafb;color:#73858a;font-size:9px;font-weight:900;letter-spacing:.04em}.project-list-table tbody tr:last-child td{border-bottom:0}.project-list-table tbody tr:hover{background:#fbfefe}.project-list-table th:nth-child(3){width:12%}.project-list-table th:nth-child(4){width:27%}.project-list-table th:nth-child(5){width:16%}.project-name-link{max-width:100%;padding:0;border:0;background:transparent;display:inline-flex;align-items:center;gap:10px;color:inherit;text-align:left}.project-name-link:hover strong{color:#0f7180}.project-list-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:9px;background:#eaf8fa;color:#0f7180;font-size:15px}.project-name-link>span:last-child{min-width:0}.project-name-link strong,.project-name-link small{display:block}.project-name-link strong{overflow:hidden;color:#24474f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.project-name-link small{margin-top:3px;color:#9aa7ab;font-size:8px}.project-id-code{padding:5px 7px;border-radius:6px;background:#f3f6f7;color:#61757b;font-size:9px}.project-list-status{display:inline-flex;align-items:center;gap:6px;color:#0b7564;font-size:9px;font-weight:800}.project-list-status i{width:7px;height:7px;border-radius:50%;background:#24a88b}.project-list-status.disabled{color:#8b9699}.project-list-status.disabled i{background:#9ca6a9}.project-description-text{display:block;overflow:hidden;color:#7f9095;font-size:9px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.project-action-column{text-align:right!important}.project-open-button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.project-open-button>span{font-size:16px;line-height:1}.project-list-empty{min-height:330px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a999e;text-align:center}.project-list-empty .spinner{margin-bottom:12px}.project-list-empty strong{color:#36545b;font-size:13px}.project-list-empty p{margin:8px 0 17px;color:#8c9ba0;font-size:9px}.empty-project-icon{width:52px;height:52px;margin-bottom:14px;display:grid;place-items:center;border-radius:14px;background:#edf8fa;color:#0f7180;font-size:22px}.create-project-flow-page{max-width:1450px;margin:0 auto}.flow-create-breadcrumb{display:flex;align-items:center;gap:7px;margin-bottom:16px;color:#98a5aa;font-size:9px}.flow-create-breadcrumb button{padding:0;border:0;background:transparent;color:#6d858b;font-size:inherit}.flow-create-breadcrumb button:hover{color:#0f7180}.flow-create-breadcrumb strong{color:#36545b}.flow-create-header{margin-bottom:20px}.flow-create-stage{max-width:880px;overflow:hidden;border:1px solid #dce6e9;border-radius:14px;background:#fff;box-shadow:0 3px 14px #1e424b0a}.flow-create-stage-head{min-height:72px;padding:14px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e7edef;background:#fbfdfd}.flow-create-stage-head>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e8f7f9;color:#0f7180;font-size:10px;font-weight:900}.flow-create-stage-head small,.flow-create-stage-head h2{display:block;margin:0}.flow-create-stage-head small{color:#99a6aa;font-size:8px;font-weight:900;letter-spacing:.12em}.flow-create-stage-head h2{margin-top:2px;color:#24474f;font-size:15px}.flow-create-dropzone{min-height:285px;margin:22px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #b8cdd2;border-radius:12px;background:#fbfefe;color:#75898e;text-align:center;transition:.15s ease}.flow-create-dropzone:hover,.flow-create-dropzone.active{border-color:#0f7a8a;background:#f3fbfc}.flow-create-dropzone.filled{border-style:solid}.flow-create-upload-icon{width:48px;height:48px;margin-bottom:13px;display:grid;place-items:center;border-radius:13px;background:#e9f8fa;color:#0f7180;font-size:22px}.flow-create-dropzone strong{max-width:100%;color:#2c4d55;font-size:12px;word-break:break-all}.flow-create-dropzone small,.flow-create-dropzone em{display:block}.flow-create-dropzone small{margin-top:5px;color:#7c8f94;font-size:9px}.flow-create-dropzone em{margin-top:9px;color:#9ba8ac;font-size:8px;font-style:normal}.flow-create-actions{padding:14px 22px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e9eef0;background:#fbfdfd}.flow-v3-layout{display:block}.flow-v3-canvas{width:100%}.flow-v3-inspector{display:none}.flow-lane-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}.flow-lane-header-actions p{margin:0;max-width:500px;color:#829399;font-size:9px;line-height:1.55;text-align:right}.btn.compact{flex:none;padding:7px 10px;font-size:9px}.data-lane-body{min-height:270px;overflow-x:auto;overflow-y:visible}.data-source-layout{display:grid;grid-template-columns:245px 72px minmax(320px,1fr);align-items:center;width:100%;min-width:720px}.data-branch-connector{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;color:#78aeb6}.data-branch-connector span{height:2px;background:#9fd7dd}.data-branch-connector i{padding:3px 5px;border:1px solid #cce5e8;border-radius:999px;background:#fff;color:#6c979e;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.data-group-grid{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}.data-group-node{width:230px;min-height:165px}.data-group-icon{background:#eef7f1;color:#3d7652}.add-data-node{flex:none;width:205px;min-height:155px;border:1.5px dashed #9ccbd2;border-radius:13px;background:#f6fdfef0;color:#0f7180;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.add-data-node:hover{background:#effbfc;border-color:#0f7a8a}.add-data-node>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e6f7f9;font-size:21px}.add-data-node strong{font-size:10px}.add-data-node small{color:#8ba0a5;font-size:8px}.flow-node-modal{max-height:calc(100vh - 54px);overflow:auto}.flow-node-modal-wide{width:min(860px,calc(100vw - 60px))}.modal-field-list{max-height:520px}.modal-check-list{max-height:390px}.field-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.flow-modal-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:22px;align-items:start}.preprocess-picker{margin-top:0}.flow-modal-actions{position:sticky;bottom:-22px;margin:20px -22px -22px;padding:14px 22px;border-top:1px solid #e8eef0;background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-action-spacer{flex:1}@media (max-width: 1100px){.flow-lane-header{align-items:flex-start;flex-direction:column}.flow-lane-header-actions{width:100%;justify-content:space-between}.flow-lane-header-actions p{text-align:left}.flow-modal-grid{grid-template-columns:1fr}}.data-lane-side-layout{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:310px;background:#fff}.flow-stage-side-title{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:28px 14px;border-right:1px solid #e3ecee;background:#fff}.flow-stage-number{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e9f8fa;color:#0f7180;font-size:11px;font-weight:900}.flow-stage-side-title>div{text-align:center}.flow-stage-side-title small{display:block;color:#94a4a9;font-size:8px;font-weight:900;letter-spacing:.14em}.flow-stage-side-title h2{margin:4px 0 0;color:#173b43;font-size:18px}.flow-stage-main{min-width:0;background:#fbfdfe}.data-stage-toolbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;border-bottom:1px solid #e7eef0;background:#fff}.data-stage-toolbar p{margin:0;color:#829399;font-size:9px;line-height:1.55}.data-lane-side-layout .data-lane-body{min-height:248px;padding:28px}.data-block-grid{width:100%;display:flex;flex-wrap:wrap;align-items:stretch;gap:18px}.data-source-block-node{width:235px;min-height:180px}.data-source-block-node .flow-v3-port{display:block}.data-source-block-node .flow-v3-node-head i{background:#edf8fa;color:#0f7180}.data-source-block-node .flow-v3-node-head i:first-letter{text-transform:uppercase}.data-lane-side-layout .add-data-node{width:215px;min-height:180px}.data-upload-modal{width:min(620px,calc(100vw - 60px));max-height:calc(100vh - 54px);overflow:auto}.data-upload-intro{margin-bottom:18px;padding:13px 14px;border:1px solid #e0ecee;border-radius:11px;background:#f8fcfc}.data-upload-intro strong{display:block;color:#244c55;font-size:11px}.data-upload-intro p{margin:5px 0 0;color:#7d9197;font-size:9px;line-height:1.6}.data-block-name-field input{height:42px;font-size:11px}.data-block-upload-zone{min-height:210px;margin-top:10px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #9ecbd2;border-radius:14px;background:#f9fdfd;cursor:pointer;transition:.15s ease;outline:none}.data-block-upload-zone:hover,.data-block-upload-zone.active,.data-block-upload-zone:focus-visible{border-color:#0f7a8a;background:#f1fbfc;box-shadow:0 0 0 3px #0f7a8a14}.data-block-upload-zone.filled{border-style:solid;background:#fbfefe}.data-upload-file-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:12px;border-radius:13px;background:#e5f7f9;color:#0f7180;font-size:23px;font-weight:700}.data-block-upload-zone strong{max-width:100%;color:#25464e;font-size:12px;word-break:break-word}.data-block-upload-zone span{margin-top:6px;color:#0f7180;font-size:9px;font-weight:800}.data-block-upload-zone small{max-width:430px;margin-top:8px;color:#8d9da2;font-size:8px;line-height:1.55}.data-upload-format-row{display:flex;justify-content:center;gap:8px;margin-top:12px}.data-upload-format-row span{min-width:54px;padding:5px 9px;border:1px solid #dce8ea;border-radius:999px;background:#fff;color:#688087;font-size:8px;font-weight:900;text-align:center}.data-upload-actions{bottom:-22px}.data-block-file-line{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 13px;padding:10px 12px;border:1px solid #e6edef;border-radius:9px;background:#fbfdfd}.data-block-file-line span{color:#8a999e;font-size:8px}.data-block-file-line strong{overflow:hidden;color:#36545b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.data-lane-side-layout{grid-template-columns:1fr}.flow-stage-side-title{min-height:72px;flex-direction:row;justify-content:flex-start;padding:14px 18px;border-right:0;border-bottom:1px solid #e3ecee}.flow-stage-side-title>div{text-align:left}.data-stage-toolbar{align-items:flex-start;flex-direction:column}.data-stage-toolbar .btn{width:100%}}.flow-stage-side-layout{display:grid;grid-template-columns:136px minmax(0,1fr);min-height:310px;background:#fff}.data-stage-toolbar{display:none!important}.flow-stage-side-title{padding:30px 16px;gap:14px}.flow-stage-number{width:48px;height:48px;border-radius:14px;font-size:14px}.flow-stage-side-title small{font-size:11px;letter-spacing:.13em}.flow-stage-side-title h2{margin-top:6px;font-size:22px;line-height:1.15}.data-lane-side-layout .data-lane-body,.flow-stage-side-layout .flow-lane-body{padding:34px}.flow-v3-node{width:268px;min-height:190px;padding:18px;border-radius:15px}.data-source-block-node{width:268px;min-height:200px}.flow-v3-node-head span{font-size:11px;letter-spacing:.09em}.flow-v3-node-head i{max-width:130px;padding:5px 8px;font-size:10px}.source-node-icon,.pre-node-icon{width:44px;height:44px;margin:16px 0 12px;border-radius:11px;font-size:14px}.flow-v3-node>strong{font-size:16px;line-height:1.35}.flow-v3-node>p{margin:7px 0 11px;font-size:12px}.flow-v3-node>em{margin-top:12px;font-size:11px}.source-node-tags,.selected-field-tags{gap:6px}.source-node-tags span,.selected-field-tags code{max-width:135px;padding:4px 7px;font-size:10px}.flow-v3-port{right:-7px;width:13px;height:13px}.data-lane-side-layout .add-data-node,.add-preprocess-node{width:235px;min-height:190px;gap:9px;border-radius:15px}.add-data-node>span,.add-preprocess-node>span{width:46px;height:46px;font-size:25px}.add-data-node strong,.add-preprocess-node strong{font-size:13px}.add-data-node small,.add-preprocess-node small{font-size:11px}.project-create-modal{font-size:14px}.project-modal-head .eyebrow{font-size:12px}.project-modal-head h2{font-size:25px}.project-create-modal .field>span,.project-create-modal .check-field span{font-size:13px}.project-create-modal .field input,.project-create-modal .field select,.project-create-modal .field textarea,.field-search-input{height:44px;padding-left:13px;padding-right:13px;font-size:14px}.source-summary-cards{gap:10px;margin-bottom:16px}.source-summary-cards>div{padding:14px}.source-summary-cards span{font-size:12px}.source-summary-cards strong{margin-top:5px;font-size:22px}.data-block-file-line{grid-template-columns:110px minmax(0,1fr);padding:13px 15px}.data-block-file-line span{font-size:12px}.data-block-file-line strong{font-size:14px}.source-field-list{gap:8px;margin-top:12px}.source-field-item{grid-template-columns:minmax(0,1fr) 95px;gap:12px;padding:12px 14px;border-radius:10px}.source-field-item strong{font-size:13px}.source-field-item small{margin-top:4px;font-size:11px}.source-field-item span{font-size:12px}.flow-field-picker-head{margin-bottom:9px;font-size:13px}.flow-field-check{min-height:46px;padding:8px 12px}.flow-field-check strong{font-size:12px}.flow-field-check small{margin-top:3px;font-size:10px}.operation-config-box>strong{font-size:13px}.rename-row code{font-size:11px}.rename-row input{height:38px;font-size:12px}.btn.compact{font-size:12px}@media (max-width: 900px){.flow-stage-side-layout,.data-lane-side-layout{grid-template-columns:1fr}.flow-stage-side-title{min-height:82px;flex-direction:row;justify-content:flex-start;padding:16px 20px;border-right:0;border-bottom:1px solid #e3ecee}.flow-stage-side-title>div{text-align:left}}.flow-graph-shell{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid #dce7ea;border-radius:18px;background:#fff;box-shadow:0 12px 30px #1d41490d}.flow-graph-stage-rail{position:relative;min-height:1030px;border-right:1px solid #e1eaed;background:#fff}.flow-graph-stage-label{position:absolute;left:0;width:100%;display:flex;flex-direction:column;align-items:center;color:#173b43}.data-stage-label{top:46px}.preprocess-stage-label{top:570px}.flow-graph-stage-label .flow-stage-number{width:58px;height:58px;display:grid;place-items:center;margin-bottom:20px;border-radius:17px;background:#e8f8fa;color:#057080;font-size:18px;font-weight:800}.flow-graph-stage-label small{margin-bottom:7px;color:#8b9aa0;font-size:13px;font-weight:800;letter-spacing:.12em}.flow-graph-stage-label h2{margin:0;font-size:26px;line-height:1.1}.flow-graph-viewport{min-width:0;overflow:auto;background:#fbfdfe}.flow-graph-surface{position:relative;min-width:100%;overflow:hidden;background-image:linear-gradient(#eaf0f2 1px,transparent 1px),linear-gradient(90deg,#eaf0f2 1px,transparent 1px);background-size:36px 36px}.flow-graph-zone{position:absolute;left:0;right:0;pointer-events:none}.flow-graph-zone-data{top:0;height:475px;background:#ffffff26}.flow-graph-zone-preprocess{top:505px;bottom:0;background:#f8fcfd47}.flow-graph-divider{position:absolute;top:488px;left:0;right:0;height:1px;background:#dde8eb}.flow-graph-help{position:absolute;z-index:5;top:16px;right:20px;padding:7px 11px;border:1px solid #d8e7ea;border-radius:999px;background:#ffffffe6;color:#789096;font-size:12px;pointer-events:none}.graph-node,.graph-add-node{position:absolute!important;z-index:10;margin:0!important}.graph-node{width:268px!important;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.graph-node:active{cursor:grabbing}.data-source-block-node.graph-node,.preprocess-node.graph-node{height:205px;min-height:205px}.graph-add-node{width:235px;height:205px;min-height:205px}.flow-edge-layer{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flow-edge-shadow,.flow-edge-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.flow-edge-shadow{stroke:#fffffff2;stroke-width:7px}.flow-edge-path{stroke:#24a6b6;stroke-width:2.6px}.flow-edge-preview{stroke-dasharray:8 7;opacity:.75}.flow-edge-delete{pointer-events:all;cursor:pointer}.flow-edge-delete circle{fill:#fff;stroke:#9fcbd1;stroke-width:1.5}.flow-edge-delete text{fill:#52787f;font-size:15px;font-weight:800}.flow-edge-delete:hover circle{fill:#fff1f1;stroke:#d98b8b}.flow-edge-delete:hover text{fill:#b42318}.graph-port{position:absolute;z-index:20;top:50%;width:17px;height:17px;transform:translateY(-50%);border:3px solid #fff;border-radius:50%;background:#1ea6b5;box-shadow:0 0 0 1px #65c3ce;cursor:crosshair}.graph-port-input{left:-9px}.graph-port-output{right:-9px}.graph-port:hover{width:21px;height:21px;background:#087c8c}.graph-port-output:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.graph-port-input:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.graph-node .flow-v3-port{display:none!important}@media (max-width: 900px){.flow-graph-shell{grid-template-columns:112px minmax(0,1fr)}.flow-graph-stage-label h2{font-size:21px}.flow-graph-stage-label small{font-size:10px}.flow-graph-stage-label .flow-stage-number{width:48px;height:48px;font-size:15px}}.flow-graph-shell{position:relative}.graph-port{top:auto;left:50%;right:auto;transform:translate(-50%)}.graph-port-top{top:-9px}.graph-port-bottom{bottom:-9px}.graph-port-input,.graph-port-output{left:50%;right:auto}.graph-port-top:after,.graph-port-bottom:after,.graph-port-output:after,.graph-port-input:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.flow-toolbox{position:fixed;z-index:45;right:30px;bottom:28px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.flow-toolbox-fab{width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:50%;background:#087887;color:#fff;box-shadow:0 12px 28px #034c5747;cursor:pointer}.flow-toolbox-fab:hover{background:#056a78}.flow-toolbox-fab span{font-size:34px;font-weight:300;line-height:1;transition:transform .18s ease}.flow-toolbox-fab span.rotated{transform:rotate(45deg)}.flow-toolbox-menu{width:290px;display:grid;gap:9px;padding:10px;border:1px solid #d6e5e8;border-radius:16px;background:#fffffffa;box-shadow:0 18px 44px #1f444c2e}.flow-toolbox-item{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #e0e9eb;border-radius:12px;background:#fff;color:#153d45;cursor:grab;-webkit-user-select:none;user-select:none}.flow-toolbox-item:hover{border-color:#7bc7d0;background:#f3fbfc}.flow-toolbox-item:active{cursor:grabbing}.flow-toolbox-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#e9f8fa;color:#087887;font-size:17px;font-weight:800}.flow-toolbox-item div{min-width:0}.flow-toolbox-item strong{display:block;font-size:14px}.flow-toolbox-item small{display:block;margin-top:2px;color:#80959a;font-size:11px}.flow-toolbox-item em{color:#779097;font-size:10px;font-style:normal;white-space:nowrap}@media (max-width: 900px){.flow-toolbox{right:18px;bottom:18px}.flow-toolbox-menu{width:min(290px,calc(100vw - 36px))}}.data-source-block-node.graph-node{height:205px;min-height:205px}.data-source-block-node.graph-node>p{margin-bottom:12px}.data-source-block-node.graph-node>em{margin-top:0}.node-data-status{margin-top:12px!important;padding:7px 9px;border-radius:8px;font-size:11px!important;font-weight:800}.node-data-status.waiting{background:#f5f7f8;color:#87979c!important}.node-data-status.pending{background:#fff8e8;color:#9a6b00!important}.node-data-status.ready{background:#ecfdf5;color:#08785d!important}.dataframe-input-status{display:flex;align-items:center;gap:14px;margin:0 0 20px;padding:13px 15px;border:1px solid #dfe8ea;border-radius:11px;background:#f7f9fa;color:#71858a;font-size:13px}.dataframe-input-status strong{flex:none;color:#35555c;font-size:12px;letter-spacing:.05em}.dataframe-input-status.connected{border-color:#b9ddd2;background:#f1fbf7;color:#18715b}.dataframe-input-status.error{border-color:#efc7c7;background:#fff5f5;color:#a33a3a}.flow-modal-grid.disabled .preprocess-picker{opacity:.55}.data-source-block-node.graph-node{box-sizing:border-box;padding-bottom:16px}.data-source-block-node.graph-node .source-node-icon{margin-top:11px;margin-bottom:9px}.data-source-block-node.graph-node .data-node-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-block-node.graph-node .data-node-stats{max-width:100%;margin:5px 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-block-node.graph-node .data-node-file{display:block;max-width:100%;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-details-actions{position:sticky;bottom:-22px;z-index:3;margin:18px -22px -22px;padding:14px 22px;border-top:1px solid #e6edef;background:#fffffffa}.data-details-actions .btn.danger{min-width:128px}.flow-graph-stage-rail{min-height:0;height:min(780px,calc(100vh - 205px))}.flow-graph-viewport{height:min(780px,calc(100vh - 205px));min-height:560px;overflow:auto;cursor:grab;overscroll-behavior:contain;scrollbar-gutter:stable}.flow-graph-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.flow-graph-surface{min-height:1700px}.flow-graph-zone-preprocess{top:505px;bottom:0}@media (max-width: 900px){.flow-graph-stage-rail,.flow-graph-viewport{height:min(720px,calc(100vh - 170px));min-height:520px}}.flow-graph-shell.unified-flow-canvas{display:block;grid-template-columns:none}.unified-flow-canvas .flow-graph-viewport{width:100%}.unified-flow-canvas .flow-graph-surface{min-width:100%;background-color:#fbfdfe}.unified-flow-canvas .flow-graph-stage-rail,.unified-flow-canvas .flow-graph-zone,.unified-flow-canvas .flow-graph-divider{display:none!important}@media (max-width: 900px){.flow-graph-shell.unified-flow-canvas{display:block}}.unified-flow-canvas .flow-graph-surface{min-width:100%;min-height:100%}.flow-modal-grid.custom-code-mode{grid-template-columns:minmax(0,1fr)}.custom-code-box{margin-top:14px;padding:14px}.custom-code-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.custom-code-head>div{min-width:0}.custom-code-head strong{display:block;margin-bottom:4px;font-size:14px;color:#334b50}.custom-code-head small{display:block;color:#71858a;font-size:12px;line-height:1.55}.python-code-editor{width:100%;min-height:430px;resize:vertical;border:1px solid #ccdadd;border-radius:10px;padding:14px 16px;background:#162126;color:#e8f1f2;font-family:Consolas,SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;line-height:1.6;-moz-tab-size:4;tab-size:4;white-space:pre;overflow:auto}.python-code-editor:focus{outline:2px solid rgba(52,119,130,.18);border-color:#6a9da5}.python-code-editor:disabled{opacity:.62;cursor:not-allowed}.code-editor-error{display:block;margin-top:8px;color:#b34747;font-size:12px}.two-column-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operation-config-box.two-column-config{display:grid}.check-inline{display:flex;align-items:center;gap:9px;min-height:36px;color:#536a70;font-size:13px;font-weight:700}.check-inline input{width:16px;height:16px;accent-color:#0f7a8a}.config-list-head,.derive-recipe-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.config-list-head>span,.derive-recipe-head>strong{color:#526c72;font-size:13px;font-weight:800}.btn.tiny{min-height:30px;padding:5px 10px;font-size:12px;border-radius:8px}.config-rule-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(120px,.8fr) 32px;gap:8px;align-items:center;margin-top:8px}.config-rule-row input,.config-rule-row select,.derive-recipe-card input,.derive-recipe-card select{width:100%;min-height:36px;border:1px solid #d8e4e7;border-radius:8px;background:#fff;padding:7px 9px;font-size:13px}.icon-remove{width:30px;height:30px;border:1px solid #e4c9c9;border-radius:50%;background:#fff;color:#a85757;cursor:pointer;font-size:17px;line-height:1}.icon-remove:hover{background:#fff5f5}.derive-config-box{max-height:560px;overflow:auto}.derive-recipe-card{margin-top:10px;padding:12px;border:1px solid #dfeaec;border-radius:10px;background:#fff}.derive-recipe-card .field{margin-top:10px}.standard-empty-fields-hint{display:block;margin:8px 0 0;color:#7d8e93;font-size:12px}@media (max-width: 760px){.two-column-config,.config-rule-row{grid-template-columns:1fr}.config-rule-row .icon-remove{justify-self:end}}.graph-port{top:50%;bottom:auto;transform:translateY(-50%)}.graph-port-input,.graph-port-left{left:-9px;right:auto}.graph-port-output,.graph-port-right{left:auto;right:-9px}.graph-port-left:after,.graph-port-right:after,.graph-port-input:after,.graph-port-output:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.unified-flow-canvas .flow-graph-surface{min-height:100%}.unified-flow-canvas .flow-graph-viewport{overflow-x:auto;overflow-y:auto}.preprocess-node.graph-node .merge-input-port{left:-9px;right:auto}.preprocess-node.graph-node .merge-input-a{top:36%}.preprocess-node.graph-node .merge-input-b{top:64%}.preprocess-node.graph-node .merge-input-port.connected{background:#087c8c;box-shadow:0 0 0 1px #4bb8c4,0 0 0 5px #4bb8c421}.merge-port-label{position:absolute;left:12px;z-index:11;color:#6f878d;font-size:10px;font-weight:900;pointer-events:none}.merge-port-label-a{top:calc(36% - 7px)}.merge-port-label-b{top:calc(64% - 7px)}.merge-toolbox-item .flow-toolbox-icon{font-size:13px;letter-spacing:-1px}.merge-input-summary{margin:0 0 20px;padding:14px 15px;border:1px solid #dce9eb;border-radius:12px;background:#f8fbfb}.merge-input-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:11px;color:#526f76;font-size:12px}.merge-input-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.merge-input-summary-grid article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px dashed #c9d9dc;border-radius:10px;background:#fff;color:#87989c;font-size:12px}.merge-input-summary-grid article.connected{border-style:solid;border-color:#bfe6d8;background:#effbf6;color:#17745f}.merge-config-box{min-height:210px}@media (max-width:760px){.merge-input-summary-grid{grid-template-columns:1fr}}.flow-graph-shell.unified-flow-canvas{position:relative}.flow-graph-zoom-spacer{position:relative;flex:none;overflow:hidden}.unified-flow-canvas .flow-graph-surface{min-width:0;min-height:0;will-change:transform}.flow-zoom-controls{position:absolute;z-index:50;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:0;padding:4px;border:1px solid #d4e3e6;border-radius:12px;background:#fffffff5;box-shadow:0 5px 18px #2b4b521f}.flow-zoom-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#45666e;font-size:19px;font-weight:800;cursor:pointer}.flow-zoom-controls button:hover:not(:disabled){background:#eef8f9;color:#087887}.flow-zoom-controls button:disabled{opacity:.35;cursor:default}.flow-zoom-controls .flow-zoom-value{min-width:58px;color:#60777d;font-size:12px;border-radius:7px}.config-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.config-section-header strong{display:block;color:#526c72;font-size:13px;margin-bottom:3px}.replace-rule-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.replace-arrow{align-self:center;padding-top:18px;color:#6b7f89;font-weight:800}.replace-rule-row .icon-action{align-self:end;margin-bottom:2px}@media (max-width:760px){.replace-rule-row{grid-template-columns:1fr auto 1fr}.replace-rule-row .icon-action{grid-column:3;justify-self:end}}.training-toolbox-item{border-color:#b9c7ef;background:#f8f9ff}.training-toolbox-item:hover{border-color:#7f95db;background:#f2f4ff}.training-toolbox-item .flow-toolbox-icon{background:#edf0ff;color:#5169b0;font-weight:800}.model-training-config-box{border-color:#cfd7f2;background:#fafbff}.training-feature-picker{margin-top:14px;padding:12px;border:1px solid #dce3f4;border-radius:12px;background:#fff}.model-feature-list{max-height:220px;overflow:auto}.training-result-card{margin-top:14px;padding:12px 14px;display:grid;gap:5px;border:1px solid #add8c4;border-radius:12px;background:#f1fbf6}.training-result-card strong{color:#167252}.training-result-card span{color:#49665b;font-size:12px}.training-result-card code{margin-top:3px;white-space:pre-wrap;color:#315346}.training-run-button{background:#425ca8;border-color:#425ca8}.training-run-button:hover{background:#354b8d;border-color:#354b8d}.flow-toolbox-actions{display:inline-flex;align-items:center;gap:10px}.flow-training-run-fab{width:58px;height:58px;display:grid;place-items:center;border:1px solid #afbee7;border-radius:50%;background:#526bb3;color:#fff;box-shadow:0 12px 28px #40529140;cursor:pointer}.flow-training-run-fab:hover:not(:disabled){background:#435b9f}.flow-training-run-fab:disabled{opacity:.58;cursor:wait}.flow-training-run-fab span{display:block;margin-left:3px;font-size:24px;line-height:1}.flow-training-run-fab.running span{margin-left:0;letter-spacing:2px;animation:training-flow-pulse 1s ease-in-out infinite}@keyframes training-flow-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.training-execution-banner{position:absolute;z-index:45;top:16px;left:18px;display:flex;align-items:center;gap:10px;min-width:255px;max-width:420px;padding:10px 13px;border:1px solid #b9dfe4;border-radius:12px;background:#fffffff5;box-shadow:0 5px 18px #2b4b521a;color:#355b63;pointer-events:none}.training-execution-banner>div{min-width:0;display:flex;flex-direction:column;gap:2px}.training-execution-banner strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.training-execution-banner small{color:#82969b;font-size:10px}.training-execution-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#1b9aaa;box-shadow:0 0 0 5px #1b9aaa1f}.training-execution-banner.status-running .training-execution-dot,.training-execution-banner.status-queued .training-execution-dot{animation:training-execution-pulse 1.1s ease-in-out infinite}.training-execution-banner.status-success{border-color:#b8decf;background:#f7fdfaf7}.training-execution-banner.status-success .training-execution-dot{background:#2d8d70;box-shadow:0 0 0 5px #2d8d701c}.training-execution-banner.status-failed,.training-execution-banner.status-partial_failed{border-color:#efc2c2;background:#fff9f9f7}.training-execution-banner.status-failed .training-execution-dot,.training-execution-banner.status-partial_failed .training-execution-dot{background:#c84f4f;box-shadow:0 0 0 5px #c84f4f1a}.graph-node.execution-pending{opacity:.74}.graph-node.execution-running{z-index:18;border-color:#168b9a!important;box-shadow:0 0 0 4px #168b9a24,0 12px 28px #168b9a29!important;animation:training-node-pulse 1.05s ease-in-out infinite}.graph-node.execution-success{border-color:#74bca6!important;box-shadow:0 0 0 2px #3e977a14,0 7px 16px #173c430f!important}.graph-node.execution-failed{border-color:#d36a6a!important;box-shadow:0 0 0 3px #d36a6a1c,0 8px 20px #702a2a17!important}.graph-node.execution-skipped{opacity:.48;filter:grayscale(.25)}.node-execution-badge{position:absolute;z-index:24;top:52px;right:14px;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 7px;border-radius:999px;border:1px solid #d8e4e6;background:#f5f8f9;color:#789096;font-size:9px;font-weight:900;letter-spacing:.02em;pointer-events:none}.node-execution-badge.status-running{border-color:#8ed0d8;background:#eaf9fb;color:#087887}.node-execution-badge.status-success{border-color:#b6ddcf;background:#eef9f4;color:#237a60}.node-execution-badge.status-failed{border-color:#efbcbc;background:#fff0f0;color:#b83f3f}.node-execution-badge.status-skipped{border-color:#d7dcde;background:#f3f4f5;color:#939da0}.node-execution-badge.status-pending{border-color:#dce5e7;background:#f7f9fa;color:#8b9a9e}@keyframes training-node-pulse{0%,to{box-shadow:0 0 0 3px #168b9a1c,0 10px 24px #168b9a1c}50%{box-shadow:0 0 0 7px #168b9a29,0 14px 30px #168b9a2e}}@keyframes training-execution-pulse{0%,to{transform:scale(.92);opacity:.72}50%{transform:scale(1.12);opacity:1}}.prediction-toolbox-item .flow-toolbox-icon,.prediction-output-toolbox-item .flow-toolbox-icon{font-weight:800}.prediction-model-list{display:grid;gap:8px;margin-top:12px}.prediction-model-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line, #d9e2ec);border-radius:10px;background:#ffffffb8}.prediction-model-option input{margin-top:3px}.prediction-model-option span{display:grid;gap:2px;min-width:0}.prediction-model-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prediction-result-preview{margin:14px 0 4px;border:1px solid var(--line, #d9e2ec);border-radius:12px;overflow:hidden;background:#fff}.prediction-result-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line, #d9e2ec)}.prediction-result-table-wrap{overflow:auto;max-width:100%}.prediction-result-table-wrap table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.prediction-result-table-wrap th,.prediction-result-table-wrap td{padding:9px 11px;border-right:1px solid var(--line, #e5ebf1);border-bottom:1px solid var(--line, #e5ebf1);text-align:left;white-space:nowrap}.prediction-result-table-wrap th{position:sticky;top:0;background:#f7fafc;font-weight:700}.flow-v3-node.preprocess-node.field-invalid-node{border:2px solid #dc2626;background:#fff7f7;box-shadow:0 0 0 4px #dc26261a,0 10px 24px #7f1d1d1f}.flow-v3-node.preprocess-node.field-invalid-node:hover{border-color:#b91c1c}.flow-v3-node .node-data-status.field-invalid-status{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:6px 8px;font-weight:800;line-height:1.35}.flow-field-warning-banner{margin:14px 0 18px;padding:14px 18px;display:flex;align-items:center;gap:14px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#991b1b}.flow-field-warning-banner strong{flex:none;font-size:15px}.flow-field-warning-banner span{font-size:14px;line-height:1.5}.sidebar{width:300px;padding:22px 18px 20px}.main-content{margin-left:300px}.chiller-brand{gap:15px;padding:0 8px 24px}.chiller-brand .brand-mark{width:56px;height:56px;border-radius:16px;font-size:24px}.chiller-brand strong{font-size:21px;line-height:1.25;letter-spacing:.01em}.chiller-brand span{margin-top:4px;font-size:13px;line-height:1.3;letter-spacing:.08em}.sidebar-section-label,.sidebar-workflow-label{padding:22px 12px 10px;color:#80a8b3;font-size:14px;font-weight:800;letter-spacing:.12em}.root-nav-list{margin-bottom:10px}.root-nav-item{min-height:66px;padding:12px 16px;border-radius:13px;gap:14px}.root-nav-item .nav-icon{width:24px;font-size:18px}.root-nav-copy strong{font-size:19px;line-height:1.2}.root-nav-copy small{margin-top:4px;font-size:13px;line-height:1.3}.sidebar-project-workflow{margin-top:4px}.project-workflow-nav{display:flex;flex-direction:column;gap:8px}.workflow-nav-item{min-height:58px;padding:11px 14px;border-radius:12px;gap:12px;color:#cfe8ee}.workflow-nav-item:hover{background:#7dd3fc1a}.workflow-nav-item.active{background:#67e8f924;color:#fff;box-shadow:inset 4px 0 #67e8f9}.workflow-step-number{width:30px;flex:none;color:#9beaf2;text-align:center;font-size:18px;font-weight:800;line-height:1}.workflow-nav-text{min-width:0;font-size:17px;font-weight:700;line-height:1.45}.sidebar-no-project{margin:16px 4px;padding:16px;border-radius:12px}.sidebar-no-project span{font-size:15px}.sidebar-no-project small{margin-top:7px;font-size:13px;line-height:1.6}.sidebar-footer-copy{padding:18px 12px 12px}.sidebar-footer-copy span{font-size:14px}.sidebar-footer-copy small{margin-top:6px;font-size:13px}.sidebar-refresh{min-height:52px;padding:12px 14px;border-radius:12px;font-size:16px}.sidebar-refresh>span:first-child{margin-right:5px;font-size:18px}.sidebar-collapse-toggle{top:25px;right:-17px;width:36px;height:36px;font-size:24px}.sidebar.collapsed{width:88px;padding-left:12px;padding-right:12px}.sidebar.collapsed .chiller-brand{padding-bottom:22px}.sidebar.collapsed .chiller-brand .brand-mark{width:54px;height:54px}.sidebar.collapsed .root-nav-item,.sidebar.collapsed .workflow-nav-item,.sidebar.collapsed .sidebar-refresh{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-project-workflow{margin-top:12px}.sidebar.collapsed .project-workflow-nav{gap:8px}.sidebar.collapsed .workflow-nav-item{min-height:50px}.sidebar.collapsed .workflow-step-number{width:auto;font-size:19px}.sidebar.collapsed .sidebar-refresh>span:first-child{margin-right:0}.app-shell.sidebar-collapsed .main-content{margin-left:88px}.project-manager-page{max-width:1560px}.project-manager-page .project-manager-header{margin-bottom:32px}.project-manager-page .eyebrow{margin-bottom:10px;font-size:14px;letter-spacing:.15em}.project-manager-page .page-title-row h1{font-size:38px;line-height:1.2}.project-manager-page .subtitle{max-width:900px;margin-top:12px;font-size:17px;line-height:1.65}.project-manager-actions{gap:14px}.project-manager-top-button,.project-create-button{min-width:138px;height:52px;padding:0 20px;border-radius:11px;font-size:16px}.project-create-button{min-width:150px}.project-create-button>span{font-size:23px}.project-list-panel{margin-top:28px;border-radius:16px}.project-list-toolbar{min-height:76px;padding:0 26px}.project-list-toolbar>div{gap:12px}.project-list-toolbar strong{font-size:17px}.project-list-toolbar span{font-size:14px}.project-list-table{min-width:1180px}.project-list-table th,.project-list-table td{padding:18px 22px}.project-list-table th{font-size:14px;letter-spacing:.035em}.project-list-table th:nth-child(1){width:27%}.project-list-table th:nth-child(2){width:18%}.project-list-table th:nth-child(3){width:11%}.project-list-table th:nth-child(4){width:24%}.project-list-table th:nth-child(5){width:20%}.project-name-link{gap:14px}.project-list-icon{width:46px;height:46px;border-radius:12px;font-size:20px}.project-name-link strong{font-size:16px;line-height:1.35}.project-name-link small{margin-top:5px;font-size:13px}.project-id-code{padding:7px 10px;border-radius:8px;font-size:13px;line-height:1.4}.project-list-status{gap:8px;font-size:14px}.project-list-status i{width:9px;height:9px}.project-description-text{font-size:14px;line-height:1.6}.project-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}.project-open-button,.project-delete-button{min-height:46px;padding:0 15px;border-radius:10px;font-size:15px}.project-open-button>span{font-size:21px}.project-delete-button{min-width:78px;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-weight:800}.project-delete-button:hover:not(:disabled){border-color:#fca5a5;background:#fef2f2;color:#991b1b}.project-list-empty strong{font-size:18px}.project-list-empty p{margin:10px 0 20px;font-size:15px;line-height:1.6}.empty-project-icon{width:62px;height:62px;font-size:26px}.project-list-table{min-width:900px}.project-list-table th:nth-child(1){width:34%}.project-list-table th:nth-child(2){width:25%}.project-list-table th:nth-child(3){width:13%}.project-list-table th:nth-child(4){width:28%}.project-id-code{display:inline-block;width:min(100%,260px);max-width:100%;overflow:hidden;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap}.project-action-column{white-space:nowrap}.flow-field-picker-head-actions{display:flex;align-items:center;gap:10px}.field-picker-bulk-btn{min-height:32px;padding:5px 12px;border:1px solid #b8d6da;border-radius:8px;background:#f1fbfb;color:#0f7180;font-size:12px;font-weight:800;cursor:pointer}.field-picker-bulk-btn:hover:not(:disabled){background:#e7f6f7}.field-picker-reset-btn{border-color:#d6dee3;background:#fff;color:#50656d}.field-picker-reset-btn:hover:not(:disabled){background:#f5f8f9}.field-picker-bulk-btn:disabled{opacity:.45;cursor:not-allowed}.flow-preprocessing-run-fab{width:58px;height:58px;display:grid;place-items:center;border:1px solid #8fcbd2;border-radius:50%;background:#0b7c89;color:#fff;box-shadow:0 12px 28px #034c573d;cursor:pointer}.flow-preprocessing-run-fab:hover:not(:disabled){background:#086a75}.flow-preprocessing-run-fab:disabled{opacity:.58;cursor:wait}.flow-preprocessing-run-fab span{display:block;margin-left:3px;font-size:24px;line-height:1}.flow-preprocessing-run-fab.running span{margin-left:0;letter-spacing:2px;animation:training-flow-pulse 1s ease-in-out infinite}.preprocessing-result-download-node-action{position:absolute;z-index:32;min-width:124px;height:34px;padding:0 12px;border:1px solid #9dcfc0;border-radius:9px;background:#eff9f5;color:#24755f;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #1e6e581a}.preprocessing-result-download-node-action:hover:not(:disabled){background:#e4f5ee}.preprocessing-result-download-node-action:disabled{opacity:.65;cursor:wait}.preprocessing-result-modal-download{margin-top:12px;width:fit-content}.preprocess-field-filter-row{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:10px;align-items:center}.preprocess-field-filter-row .field-search-input{min-width:0;width:100%}.preprocess-field-category-select{width:100%;min-width:0;min-height:48px;padding:0 36px 0 14px;border:1px solid #d9e3e7;border-radius:10px;background:#fff;color:#405a61;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.preprocess-field-category-select:focus{outline:none;border-color:#8fcbd2;box-shadow:0 0 0 3px #0f7a8a1a}.preprocess-field-category-select:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 760px){.preprocess-field-filter-row{grid-template-columns:1fr}}.derive-recipe-card{cursor:default;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.derive-recipe-card.active{border-color:#8fc8cf;background:#fbfefe;box-shadow:0 0 0 2px #0f7a8a12}.derive-recipe-head{justify-content:flex-start}.derive-recipe-head .icon-remove{margin-left:auto}.derive-active-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#e9f7f8;color:#0f7180;font-size:11px;font-weight:800}.derive-input-fields{margin-top:12px;padding:12px;border:1px solid #e0eaec;border-radius:10px;background:#f8fbfc}.derive-input-fields-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.derive-input-fields-head>div{min-width:0}.derive-input-fields-head strong{display:block;color:#526c72;font-size:13px;font-weight:800}.derive-input-fields-head small{display:block;margin-top:3px;color:#829297;font-size:11px;line-height:1.45}.derive-input-field-row{display:grid;grid-template-columns:74px minmax(0,1fr) 30px;gap:8px;align-items:center;margin-top:8px}.derive-input-field-row:first-of-type{margin-top:0}.derive-input-order{color:#647b81;font-size:12px;font-weight:800;white-space:nowrap}.derive-field-remove{width:28px;height:28px}.derive-input-fields select{min-width:0}@media (max-width: 760px){.derive-input-field-row{grid-template-columns:1fr 30px}.derive-input-order{grid-column:1 / -1}}.project-list-table.management-list-table{width:100%;min-width:760px;max-width:none;table-layout:fixed}.project-list-table.management-list-table th:nth-child(1){width:40%}.project-list-table.management-list-table th:nth-child(2){width:30%}.project-list-table.management-list-table th:nth-child(3){width:20%}.project-list-table.management-list-table th:nth-child(4){width:10%}.project-list-table.management-list-table .project-action-column{position:relative;padding-left:10px;padding-right:18px;text-align:center!important}.project-updated-time{color:#61757b;font-size:14px;font-weight:600;white-space:nowrap}.project-action-menu{position:relative;display:inline-flex;justify-content:center}.project-action-menu-trigger{width:40px;height:40px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#43545b;cursor:pointer;font-family:Arial,sans-serif;font-size:27px;font-weight:700;line-height:1;transition:background .16s ease,color .16s ease}.project-action-menu-trigger:hover:not(:disabled),.project-action-menu-trigger[aria-expanded=true]{background:#eef3f4;color:#1f343a}.project-action-menu-trigger:disabled{opacity:.55;cursor:wait}.project-action-spinner{width:18px;height:18px;margin:0}.project-action-menu-popover{position:fixed;z-index:2000;width:190px;padding:6px;border:1px solid #dfe6e8;border-radius:10px;background:#fff;box-shadow:0 10px 28px #20343a29;text-align:left}.project-action-menu-popover button{width:100%;min-height:42px;padding:8px 12px;border:0;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;background:transparent;color:#2f4248;cursor:pointer;font-size:14px;font-weight:700;text-align:left}.project-action-menu-popover button:hover{background:#f2f5f6}.project-action-menu-popover button small{color:#8a9a9f;font-size:11px;font-weight:600}.project-action-menu-divider{height:1px;margin:5px 4px;background:#e9eef0}.project-action-menu-popover button.danger{color:#c62828}.project-action-menu-popover button.danger:hover{background:#fff1f1}.project-rename-modal{width:min(520px,calc(100vw - 60px))}.project-rename-modal .project-modal-head .eyebrow{margin:0 0 5px}.project-rename-field>span{display:block;margin-bottom:7px;color:#536d74;font-size:10px;font-weight:800}.project-rename-field input{width:100%;height:44px;padding:0 12px;border:1px solid #dce5e8;border-radius:9px;outline:none;color:#28464e;background:#fff;font-size:12px}.project-rename-field input:focus{border-color:#65b9c4;box-shadow:0 0 0 3px #0f7a8a14}.project-rename-actions{justify-content:flex-end;margin-top:20px}.project-rename-actions .btn{min-width:96px}.project-selector-nav{position:relative}.project-selector-copy{flex:1;overflow:hidden}.project-selector-copy strong,.project-selector-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-chevron{width:22px;flex:none;color:#9beaf2;font-size:22px;line-height:1;text-align:center;transition:transform .18s ease;transform:rotate(0)}.project-selector-chevron.open{transform:rotate(180deg)}.project-dropdown{margin:-2px 0 8px;padding:8px 8px 10px;border:1px solid rgba(125,211,252,.13);border-top:0;border-radius:0 0 13px 13px;background:#032a3557}.project-dropdown-manager{min-height:42px;padding:8px 12px;gap:10px;color:#b8d7df;font-size:14px;font-weight:700}.project-dropdown-manager-icon{width:24px;color:#9beaf2;text-align:center;font-size:16px}.project-dropdown-label{padding:12px 12px 6px;color:#80a8b3;font-size:12px;font-weight:800;letter-spacing:.1em}.project-dropdown .project-workflow-nav{gap:4px}.project-dropdown .workflow-nav-item{min-height:48px;padding-top:8px;padding-bottom:8px}.sidebar.collapsed .project-dropdown{margin-top:4px;padding:6px 0 8px;border-left:0;border-right:0;background:transparent}.sidebar.collapsed .project-dropdown .workflow-nav-item{min-height:46px}.management-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-top:1px solid #e4ecee;color:#789099;font-size:13px}.management-pagination-actions{display:flex;align-items:center;gap:10px}.management-pagination-actions strong{min-width:92px;text-align:center;color:#31535d;font-size:13px}.management-pagination-actions .btn{min-width:78px}@media (max-width: 760px){.management-pagination{align-items:flex-start;flex-direction:column}}.project-list-table.management-list-table th,.project-list-table.management-list-table td{min-width:0;overflow:hidden}.project-list-table.management-list-table .project-name-link{width:100%;min-width:0}.project-list-table.management-list-table .project-name-link>span:last-child{flex:1 1 auto;min-width:0;overflow:hidden}.project-list-table.management-list-table .project-name-link strong,.project-list-table.management-list-table .project-name-link small,.project-list-table.management-list-table .project-id-code,.project-list-table.management-list-table .visualization-source-cell strong,.project-list-table.management-list-table .visualization-source-cell span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-table.management-list-table .project-name-link small,.project-list-table.management-list-table .project-id-code{display:block}.project-list-table.management-list-table .visualization-source-cell{width:100%;max-width:100%;min-width:0;overflow:hidden}.preprocess-node.graph-node.training-result-node{height:205px;min-height:205px}.training-node-result-summary{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:7px;padding:8px 10px;border:1px solid #b8decf;border-radius:10px;background:#f2fbf7;pointer-events:none}.training-node-result-summary>strong{color:#237a60;font-size:11px;font-weight:900;letter-spacing:.04em}.training-result-side-panel{min-width:0;align-self:start}.training-result-card-side{margin-top:0;min-height:190px;padding:18px 20px;gap:10px}.training-result-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:2px}.training-result-side-head>div{display:grid;gap:4px}.training-result-side-head>b{flex:0 0 auto;color:#3f6f60;font-size:13px;font-weight:700}.training-result-kicker{color:#6b8c83;font-size:10px;font-weight:800;letter-spacing:.14em}.training-result-card-side>span{overflow-wrap:anywhere;line-height:1.55}.training-result-side-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.training-result-side-metrics>div{min-width:0;padding:10px 8px;display:grid;gap:3px;text-align:center;border-radius:10px;background:#ffffffbd}.training-result-side-metrics small{color:#668077;font-size:10px;font-weight:800}.training-result-side-metrics strong{overflow:hidden;text-overflow:ellipsis;color:#315346;font-size:13px;white-space:nowrap}.training-result-empty-card{min-height:190px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;border:1px dashed #cbd8dc;border-radius:14px;background:#f8fbfc}.training-result-empty-card strong{color:#405c63;font-size:16px}.training-result-empty-card p{margin:0;max-width:360px;color:#7b9096;font-size:12px;line-height:1.65}@media (max-width: 1100px){.training-result-side-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
