:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f8;color:#1d2529;font-synthesis:none;text-rendering:geometricPrecision;--bg: #f5f7f8;--surface: #ffffff;--surface-2: #f9fbfb;--text: #1d2529;--muted: #66747b;--line: #dce4e7;--line-strong: #c5d0d5;--teal: #0f766e;--teal-soft: #e5f3f0;--amber: #b7791f;--amber-soft: #fff3d7;--green: #2f7d45;--green-soft: #e8f5ec;--slate: #50606a;--shadow: 0 18px 48px rgba(32, 45, 52, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(180deg,#f5f8f9f0,#d2dde2f5),#c7d3d6}.login-panel{width:min(100%,390px);border:1px solid #6a777e;background:#d9e1e4;box-shadow:inset 1px 1px #fff,inset -1px -1px #6e7b82,0 18px 44px #1e2a302e}.login-brand{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid #7d8a91;background:linear-gradient(90deg,#163a78,#7da4cf);color:#fff}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:16px;line-height:1.2}.login-brand span{margin-top:3px;color:#e8f1f7;font-size:12px}.login-form{display:grid;gap:12px;padding:18px}.login-form label{display:grid;gap:5px}.login-form label span{color:#102029;font-size:12px;font-weight:700}.login-form input{width:100%;height:31px;border:1px solid #6f7c83;border-bottom-color:#fff;border-right-color:#fff;background:#fff;color:#000;padding:0 8px;outline:0}.login-form input:focus{border-color:#163a78;box-shadow:inset 0 0 0 1px #163a78}.login-form button{height:32px;border:1px solid #707d84;border-top-color:#fff;border-left-color:#fff;background:linear-gradient(#f6f8f9,#c9d2d6);color:#000;cursor:pointer;font-weight:700}.login-form button:active{border-top-color:#59656b;border-left-color:#59656b;border-bottom-color:#fff;border-right-color:#fff}.login-error{min-height:24px;padding:5px 8px;border:1px solid #a33d2d;background:#fff2ee;color:#8b2315;font-size:12px;font-weight:700}.login-hint{padding:0 18px 18px;color:#445157;font-size:12px}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:linear-gradient(180deg,#ffffffb8,#f5f7f8f0),var(--bg)}.sidebar{display:flex;flex-direction:column;gap:22px;padding:22px 18px;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;min-height:54px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#12363a;color:#fff;font-weight:800;letter-spacing:0}.brand strong,.brand span{display:block}.brand strong{font-size:16px;line-height:1.2}.brand span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3}.nav-list{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:10px;min-height:42px;width:100%;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#445157;cursor:pointer;text-align:left;font-size:14px;font-weight:650}.nav-item:hover{border-color:var(--line);background:var(--surface-2)}.nav-item.active{border-color:#b7d8d2;background:var(--teal-soft);color:#0c554f}.sidebar-status{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--slate)}.sidebar-status strong,.sidebar-status span{display:block}.sidebar-status strong{font-size:13px}.sidebar-status span{margin-top:2px;font-size:12px;color:var(--muted)}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h1{margin:0;font-size:28px;line-height:1.12;font-weight:780;letter-spacing:0}.topbar p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.toolbar{display:flex;align-items:center;gap:10px}.search-box{display:flex;align-items:center;gap:8px;width:min(42vw,390px);min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--muted)}.search-box input{width:100%;border:0;outline:0;color:var(--text);font-size:14px}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--slate);cursor:pointer}.icon-button:hover{border-color:#9fb0b7}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi{display:flex;align-items:center;gap:12px;min-height:94px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 10px 28px #202d340d}.kpi span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:760;text-transform:uppercase}.kpi strong{font-size:25px;line-height:1}.kpi.teal svg{color:var(--teal)}.kpi.amber svg{color:var(--amber)}.kpi.green svg{color:var(--green)}.kpi.slate svg{color:var(--slate)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start;min-width:0}.primary-column{display:grid;gap:14px;min-width:0}.table-panel,.detail-card,.import-card,.error-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.table-panel{min-width:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:16px 18px 14px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:16px;line-height:1.2;font-weight:760}.panel-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.data-table-wrap{width:100%;max-width:100%;overflow:auto;max-height:calc(100vh - 302px)}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:11px 14px;border-bottom:1px solid #e8eef0;text-align:left;font-size:13px;line-height:1.25;white-space:nowrap}.data-table th{position:sticky;top:0;z-index:1;background:#f8fafb;color:#59666c;font-size:11px;font-weight:800;text-transform:uppercase}.data-table tr{cursor:pointer}.data-table tbody tr:hover{background:#f7fbfb}.data-table tr.selected{background:var(--teal-soft)}.detail-panel{display:grid;gap:14px}.detail-list{display:grid;gap:0;margin:0;padding:6px 18px 18px}.detail-list div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #eef2f3}.detail-list dt{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.detail-list dd{min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rank-list{display:grid;gap:8px;padding:14px 18px 18px}.rank-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f3}.rank-row span{overflow:hidden;color:#344047;font-size:12px;font-weight:740;text-overflow:ellipsis;white-space:nowrap}.rank-row strong{color:var(--teal);font-size:13px}.module-bands{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.recipe-workspace{display:grid;gap:14px;min-width:0}.recipe-table-panel,.recipe-main-panel,.recipe-chart-panel,.composition-panel,.recipe-components-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.recipe-list-wrap{max-height:265px}.recipe-table{min-width:960px}.recipe-detail-grid{display:grid;grid-template-columns:minmax(310px,420px) minmax(0,1fr);gap:14px;align-items:start}.recipe-chart-panel,.composition-panel{grid-column:2}.recipe-components-panel{grid-column:1 / -1}.recipe-main-panel{grid-row:span 2}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 18px 12px}.metric-tile{min-width:0;min-height:76px;padding:13px;border:1px solid #e5ecef;border-radius:8px;background:#f8fbfb}.metric-tile span,.recipe-notes span,.composition-row span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.metric-tile strong{display:block;margin-top:8px;overflow:hidden;font-size:22px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.recipe-notes{display:grid;gap:0;padding:2px 18px 18px}.recipe-notes div{padding:12px 0;border-top:1px solid #eef2f3}.recipe-notes strong{display:block;margin-top:5px;overflow:hidden;font-size:13px;font-weight:740;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.recipe-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 18px}.recipe-edit-form label{display:grid;gap:5px;min-width:0}.recipe-edit-form label span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.recipe-edit-form input,.cell-input{width:100%;min-width:0;height:32px;border:1px solid #cfdade;border-radius:7px;background:#fff;color:var(--text);font-size:12px;font-weight:650;outline:0}.recipe-edit-form input{padding:0 9px}.recipe-edit-form input:focus,.cell-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1f}.save-row{display:flex;align-items:center;gap:9px;min-width:0}.save-button,.mini-save{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #a9cdc7;border-radius:7px;background:var(--teal);color:#fff;cursor:pointer;font-size:12px;font-weight:850}.save-button{min-height:34px;padding:0 11px}.mini-save{width:31px;height:31px;vertical-align:middle}.save-button:disabled,.mini-save:disabled{cursor:progress;opacity:.65}.save-row strong,.row-save-state{color:var(--green);font-size:11px;font-weight:850}.save-row em,.row-save-error{overflow:hidden;color:#a13d20;font-size:11px;font-style:normal;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.chart-shell{padding:14px 16px 16px}.sieve-chart{display:block;width:100%;height:auto;min-height:260px;border:1px solid #e6eef0;border-radius:8px;background:#fbfdfd}.sieve-chart line{stroke:#e3eaed;stroke-width:1}.sieve-chart .axis,.sieve-chart .x-tick{stroke:#819099}.sieve-chart text{fill:#607078;font-size:11px;font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}.chart-legend span{display:inline-flex;align-items:center;gap:7px;color:#47545a;font-size:12px;font-weight:760}.chart-legend i{display:inline-block;width:22px;height:3px;border-radius:2px}.composition-list{display:grid;gap:11px;padding:14px 18px 18px}.composition-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,180px) 46px;gap:12px;align-items:center}.composition-row strong{display:block;overflow:hidden;color:#28343a;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.composition-row span{margin-top:3px;font-size:10px}.composition-row b{color:var(--teal);font-size:13px;text-align:right}.bar-track{height:9px;overflow:hidden;border-radius:999px;background:#ecf1f2}.bar-track i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.component-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px 10px}.component-check{min-width:0;padding:12px;border:1px solid #e5ecef;border-radius:8px;background:#f8fbfb}.component-check.ok{border-color:#cbe7d3;background:#f3fbf5}.component-check.warn{border-color:#efd8a3;background:#fff9eb}.component-check span,.component-check small{display:block;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.component-check strong{display:block;margin-top:7px;font-size:19px;line-height:1.1}.component-check small{margin-top:6px;font-size:10px;text-transform:none}.component-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px 18px 14px}.component-group{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:58px;padding:11px 12px;border:1px solid #e5ecef;border-radius:8px;background:#fff}.component-group h3{margin:0;overflow:hidden;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.component-group span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:760}.component-group strong{color:var(--teal);font-size:15px;white-space:nowrap}.component-table-wrap{overflow:auto;max-height:380px;border-top:1px solid var(--line)}.component-table{min-width:920px}.component-table .cell-input{max-width:104px;padding:0 7px}.component-table td:last-child{min-width:82px}.row-save-state,.row-save-error{margin-left:6px}.delphi-workspace{display:grid;gap:14px;min-width:0}.table-explorer{display:grid;grid-template-columns:300px minmax(0,1fr) 360px;gap:14px;align-items:start;min-width:0}.table-catalog,.generic-table-panel,.generic-edit-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.table-catalog-list{display:grid;max-height:calc(100vh - 284px);overflow:auto;padding:8px}.table-catalog-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.table-catalog-row:hover,.table-catalog-row.active{border-color:#cbdde0;background:#f5faf9}.table-catalog-row span{overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.table-catalog-row strong{color:var(--teal);font-size:12px}.generic-table-meta,.pager-row,.key-strip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 18px;border-bottom:1px solid #edf2f3;color:var(--muted);font-size:12px;font-weight:740}.generic-table-meta strong,.key-strip strong{color:var(--text)}.generic-table-wrap{max-height:calc(100vh - 360px)}.generic-table{min-width:980px}.generic-table td{max-width:220px;overflow:hidden;text-overflow:ellipsis}.pager-row{justify-content:flex-end;border-top:1px solid #edf2f3;border-bottom:0}.generic-editor{display:grid;gap:0}.key-strip{align-items:flex-start;border-bottom:1px solid var(--line)}.generic-edit-grid{display:grid;grid-template-columns:1fr;gap:9px;max-height:calc(100vh - 355px);overflow:auto;padding:14px 18px}.generic-edit-grid label{display:grid;gap:5px;min-width:0}.generic-edit-grid label span{overflow:hidden;color:var(--muted);font-size:10px;font-weight:850;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.generic-edit-grid input{width:100%;min-width:0;min-height:32px;padding:0 9px;border:1px solid #cfdade;border-radius:7px;background:#fff;color:var(--text);font-size:12px;font-weight:650;outline:0}.generic-edit-grid input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1f}.generic-editor .save-row{padding:0 18px 18px}.delphi-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.delphi-stat{min-width:0;min-height:72px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.delphi-stat span{display:block;overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.delphi-stat strong{display:block;margin-top:7px;font-size:22px;line-height:1}.delphi-module-rail{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.module-chip{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:#425058;cursor:pointer;font-size:12px;font-weight:800}.module-chip.active{border-color:#b7d8d2;background:var(--teal-soft);color:#0c554f}.delphi-grid{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:14px;align-items:start;min-width:0}.delphi-list-panel,.delphi-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.delphi-list-wrap{max-height:calc(100vh - 372px)}.delphi-table{min-width:880px}.status-pill{display:inline-flex;align-items:center;min-height:24px;max-width:160px;padding:0 8px;overflow:hidden;border-radius:999px;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.status-pill.good{background:#e8f5ec;color:#2f7d45}.status-pill.warn{background:#fff3d7;color:#8a5a11}.status-pill.neutral{background:#edf2f4;color:#53636c}.delphi-detail-panel{display:grid;gap:14px}.panel-head.slim{min-height:54px;padding-top:13px;padding-bottom:11px}.delphi-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 18px 18px}.delphi-facts div{min-width:0;padding:10px;border:1px solid #e5ecef;border-radius:8px;background:#f8fbfb}.delphi-facts span{display:block;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.delphi-facts strong{display:block;margin-top:5px;font-size:16px}.form-preview{margin:0 18px 18px;padding:10px;border:1px solid #e3ecef;border-radius:8px;background:#f9fbfb}.form-preview svg{display:block;width:100%;max-height:250px}.form-preview .preview-window{fill:#fff;stroke:#cfdade;stroke-width:1}.form-preview text{fill:#17252b;font-size:11px;font-weight:800;pointer-events:none}.empty-preview{color:var(--muted);font-size:12px}.preview-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:10px}.preview-legend span{display:inline-flex;align-items:center;gap:6px;color:#53636c;font-size:11px;font-weight:760;text-transform:uppercase}.preview-legend i{display:inline-block;width:12px;height:7px;border-radius:2px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;padding:14px 18px 8px}.tag-list span{max-width:100%;min-height:25px;padding:5px 8px 0;overflow:hidden;border:1px solid #d9e4e7;border-radius:7px;color:#425058;font-size:11px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.procedure-list,.calc-list,.sql-list{display:grid;gap:0;padding:8px 18px 18px}.procedure-list div,.calc-list div,.sql-list div{min-width:0;padding:10px 0;border-top:1px solid #eef2f3}.procedure-list strong,.sql-list span{display:block;overflow:hidden;color:#28343a;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.procedure-list span,.calc-list span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:760}.calc-list p{margin:4px 0 0;overflow:hidden;color:#39474e;font-size:12px;line-height:1.35;text-overflow:ellipsis}.sql-list div{display:flex;justify-content:space-between;gap:10px}.sql-list strong{color:var(--teal);font-size:12px}.band{display:flex;align-items:center;justify-content:space-between;min-height:40px;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.band span{overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.band strong{font-size:13px}.empty-state{padding:18px;color:var(--muted);font-size:13px}.error-panel{display:flex;gap:14px;align-items:center;padding:22px;color:#72311b;background:#fff7ed;border-color:#f2c38d}.error-panel h2{margin:0 0 4px;font-size:16px}.error-panel p{margin:0;font-size:13px}.delphi-app{display:grid;grid-template-rows:auto minmax(0,1fr) 24px;min-width:100vw;min-height:100vh;overflow:hidden;background:#b9c3c8;color:#000;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif;font-size:12px}.delphi-main-menu{border-bottom:1px solid #68767d;background:#d7dde0}.delphi-menu-row,.delphi-toolbar-row,.delphi-module-tabs,.delphi-statusbar{display:flex;align-items:center}.delphi-menu-row{height:25px;padding:0 5px;background:#edf1f3;border-bottom:1px solid #a8b2b8}.delphi-menu-wrap{position:relative;height:22px}.delphi-menu-row button{height:22px;padding:0 10px;border:1px solid transparent;background:transparent;color:#000;cursor:default;font-size:12px}.delphi-menu-row button:hover,.delphi-menu-row button.active{border-color:#7f9db9;background:#dbeaf7}.delphi-menu-dropdown{position:absolute;top:22px;left:0;z-index:1200;min-width:190px;padding:2px;border:1px solid #6f7d85;border-top-color:#fff;border-left-color:#fff;background:#eef2f4;box-shadow:2px 2px #00000038}.delphi-menu-dropdown button{display:block;width:100%;height:24px;padding:0 24px 0 18px;border:1px solid transparent;background:transparent;text-align:left;white-space:nowrap}.delphi-menu-dropdown button:hover{border-color:#2b5c9d;background:#316ac5;color:#fff}.delphi-menu-separator{height:1px;margin:3px 2px;background:#a7b0b5;border-bottom:1px solid #ffffff}.delphi-toolbar-row{gap:4px;height:31px;padding:3px 6px;background:#d2d8dc;border-top:1px solid #ffffff;border-bottom:1px solid #8d9aa1}.delphi-toolbar-row button{display:grid;place-items:center;width:24px;height:24px;border:1px solid #7f8b92;border-top-color:#fff;border-left-color:#fff;background:#e7ecef;color:#1d2529}.delphi-toolbar-row button:active{border:1px solid #ffffff;border-top-color:#66727a;border-left-color:#66727a}.delphi-toolbar-row>span{width:1px;height:22px;margin:0 6px;background:#8d9aa1;box-shadow:1px 0 #fff}.delphi-toolbar-row label{display:flex;align-items:center;gap:5px;height:23px;width:260px;padding:0 6px;border:1px solid #7d8a91;border-bottom-color:#fff;border-right-color:#fff;background:#fff}.delphi-toolbar-row input,.delphi-form-list input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#000;font-size:12px}.demo-session{display:inline-flex;align-items:center;gap:6px;height:24px;margin-left:8px;padding:0 4px 0 8px;border-left:1px solid #7e8b92;color:#102029;font-size:11px;font-weight:700}.demo-session button{display:grid;place-items:center;width:24px;height:22px;padding:0;cursor:pointer}.delphi-module-tabs{gap:3px;height:34px;overflow-x:auto;padding:4px 6px 0;background:#c6d0d5}.delphi-module-tabs button{flex:0 0 auto;min-width:88px;height:29px;padding:0 12px;border:1px solid #7c8a92;border-bottom-color:#68767d;border-radius:4px 4px 0 0;background:#e7ecef;color:#172126;font-size:12px;font-weight:700}.delphi-module-tabs button.active{height:31px;margin-top:-2px;border-bottom-color:#e8eeee;background:#e8eeee;color:#004d46}.delphi-runtime-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:6px;min-height:0;padding:6px;background:#b9c3c8}.delphi-form-list{min-width:0;min-height:0;border:1px solid #5f6a70;border-top-color:#fff;border-left-color:#fff;background:#d7dde0}.delphi-list-title{height:24px;padding:5px 7px 0;border-bottom:1px solid #8f9aa0;background:#c5d1d6;font-weight:700}.delphi-form-list>input{display:block;height:24px;margin:6px;width:calc(100% - 12px);padding:0 6px;border:1px solid #6f7b82;border-bottom-color:#fff;border-right-color:#fff;background:#fff}.delphi-listbox{display:grid;align-content:start;height:calc(100vh - 155px);overflow:auto;margin:0 6px 6px;border:1px solid #6f7b82;border-bottom-color:#fff;border-right-color:#fff;background:#fff}.delphi-listbox button{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-height:34px;padding:4px 6px;border:0;border-bottom:1px solid #e3e7e9;background:#fff;color:#000;text-align:left}.delphi-listbox button.active{background:#0a246a;color:#fff}.delphi-listbox span,.delphi-listbox small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delphi-listbox small{color:#536168;font-size:11px}.delphi-listbox button.active small{color:#dce7ff}.delphi-runtime-stage{min-width:0;min-height:0;overflow:hidden}.delphi-window{display:grid;grid-template-rows:25px minmax(0,1fr);height:100%;min-width:0;min-height:0;border:1px solid #46535a;background:#d2d8dc;box-shadow:inset 1px 1px #fff,inset -1px -1px #69767d}.delphi-window-title{display:grid;grid-template-columns:auto minmax(0,1fr) 22px 22px 22px;align-items:center;height:25px;padding-left:8px;background:linear-gradient(90deg,#0a246a,#a6caf0);color:#fff;font-weight:700}.delphi-window-title span{margin-right:7px;font-weight:400}.delphi-window-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delphi-window-title i{display:grid;place-items:center;width:18px;height:18px;margin-right:3px;border:1px solid #61717a;border-top-color:#fff;border-left-color:#fff;background:#d7dde0;color:#000;font-style:normal;font-size:11px}.delphi-form-scroll{min-width:0;min-height:0;overflow:auto;padding:8px;background:#aeb8bd}.delphi-form-canvas{position:relative;overflow:hidden;border:1px solid #6a777e;background:#c7d3d6;box-shadow:inset 1px 1px #fff,inset -1px -1px #6e7b82}.dfm-component{position:absolute;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif;font-size:11px;line-height:1.15;box-sizing:border-box}.dfm-panel,.dfm-pagecontrol,.dfm-scrollbox{overflow:hidden;border:1px solid #8f9ca2;border-top-color:#fff;border-left-color:#fff;background:#cfd9dd}.dfm-scrollbox{overflow:auto;background:#d9e1e4}.dfm-pagecontrol{overflow:hidden;background:#d4dde1}.dfm-tabsheet{overflow:hidden;border:0;background:transparent}.dfm-auto-layout{overflow:hidden;border-color:transparent;background:transparent}.dfm-shape{border:1px solid #7d898f;background:#e8eef0b8}.dfm-label{overflow:hidden;color:#000;background:transparent;padding:1px 2px;white-space:pre-wrap}.dfm-button{border:1px solid #707d84;border-top-color:#fff;border-left-color:#fff;background:linear-gradient(#f6f8f9,#c9d2d6);color:#000;padding:0 4px;text-align:center;white-space:nowrap}.dfm-button.active{border-top-color:#59656b;border-left-color:#59656b;border-bottom-color:#fff;border-right-color:#fff;background:linear-gradient(#b8c4c9,#e3e9ec);box-shadow:inset 1px 1px 2px #0000003d;font-weight:700}.dfm-icon-button{display:grid;place-items:center;padding:0}.dfm-icon-button img,.dfm-image img{display:block;max-width:100%;max-height:100%;image-rendering:pixelated}.dfm-input{border:1px solid #6f7c83;border-bottom-color:#fff;border-right-color:#fff;background:#fff;color:#000;padding:1px 3px}.dfm-bound-input{background:#fffef2}.dfm-bound-input:focus{outline:1px dotted #000000;outline-offset:-3px}.dfm-checkbox{display:flex;align-items:center;gap:4px;overflow:hidden;color:#000;white-space:nowrap}.dfm-checkbox input{flex:0 0 auto;width:13px;height:13px;margin:0;accent-color:#ffffff}.dfm-checkbox span{min-width:0;overflow:hidden;text-overflow:ellipsis}.dfm-checklist{overflow:auto;border:1px solid #6f7c83;border-bottom-color:#fff;border-right-color:#fff;background:#fff;color:#000}.dfm-checklist label{display:flex;align-items:center;gap:4px;min-height:18px;padding:1px 4px;white-space:nowrap}.dfm-checklist input{width:13px;height:13px;margin:0}.dfm-tabbar{position:absolute;display:flex;align-items:flex-end;height:21px;overflow:hidden;pointer-events:auto}.dfm-tabbar button{height:20px;max-width:150px;min-width:64px;padding:0 8px;overflow:hidden;border:1px solid #6f7c83;border-bottom-color:#6f7c83;border-radius:3px 3px 0 0;background:#c8d1d5;color:#000;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dfm-tabbar button.active{height:21px;border-bottom-color:#d9e1e4;background:#d9e1e4;font-weight:700}.dfm-grid{overflow:hidden;border:1px solid #5f6d74;background:#fff;color:#000;box-shadow:inset 1px 1px #fff}.dfm-grid div{display:grid;grid-template-columns:1.4fr .8fr .7fr;min-height:18px}.dfm-grid div:first-child{background:#d5dde1;font-weight:700}.dfm-grid span{min-width:0;overflow:hidden;padding:1px 4px;border-right:1px solid #b9c2c7;border-bottom:1px solid #dce3e6;text-overflow:ellipsis;white-space:nowrap}.dfm-chart{border:1px solid #5f6d74;background:#fff}.delphi-chart-canvas{width:100%;height:100%}.delphi-chart-canvas line{stroke:#d2d7da;stroke-width:1}.delphi-chart-canvas path{fill:none;stroke:#004f9e;stroke-width:2}.delphi-chart-canvas rect{stroke:#0000003d;stroke-width:.5}.delphi-chart-canvas.view-3d rect{filter:drop-shadow(2px 2px 0 rgba(0,0,0,.18))}.delphi-chart-canvas text{fill:#000;font-size:11px}.dfm-image{overflow:hidden;border:0;background:transparent}.dfm-image.has-bitmap,.dfm-image.dfm-runtime-icon{display:grid;place-items:center;border:1px solid #6f7c83;background:transparent}.dfm-image.dfm-runtime-icon{display:grid;place-items:center;border:0;background:transparent}.dfm-clickable-image{cursor:default}.dfm-clickable-image:hover{outline:1px dotted #000000;outline-offset:-2px}.dfm-status-icon{display:grid;place-items:center;width:13px;height:13px;border:1px solid #4f5b62;color:#fff;font-size:7px;font-weight:700;line-height:1}.dfm-status-icon.ok{background:#27844d}.dfm-status-icon.warn{background:#b63a2f}.dfm-status-icon.empty{background:#e8eef0;color:#536169}.dfm-report{overflow:hidden;border:1px solid #6f7c83;background:#fff;color:#000;box-shadow:0 1px 2px #0000002e}.dfm-report-page-label{position:absolute;right:8px;top:6px;z-index:2;max-width:210px;overflow:hidden;color:#7b858a;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dfm-qr-band{overflow:hidden;border:0;background:transparent}.dfm-qr-text{display:flex;align-items:center;overflow:hidden;padding:0 2px;color:#000;background:transparent;font-family:Arial,Tahoma,sans-serif;font-size:10px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.dfm-qr-text.empty{padding:0}.dfm-qr-shape{border:1px solid #000000;background:transparent}.dfm-qr-checkbox{display:flex;align-items:center;gap:3px;overflow:hidden;color:#000;background:transparent;font-size:10px;white-space:nowrap}.dfm-qr-checkbox input{width:11px;height:11px;margin:0}.dfm-qr-image{display:grid;place-items:center;overflow:hidden;border:1px solid #b7b7b7;background:linear-gradient(135deg,rgba(15,118,110,.16) 0 45%,transparent 45%),linear-gradient(45deg,#b7791f1f 0 45%,#fff 45%)}.dfm-qr-image img{max-width:100%;max-height:100%;object-fit:contain}.dfm-runtime-missing{position:absolute;left:18px;top:18px;display:grid;gap:6px;width:420px;padding:14px;border:1px solid #6f7c83;border-top-color:#fff;border-left-color:#fff;background:#d9e1e4;color:#000;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif;font-size:11px}.dfm-runtime-missing strong{font-size:12px}.delphi-dialog-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:#00000014}.delphi-dialog{width:min(460px,calc(100vw - 28px));border:1px solid #46535a;background:#d7dde0;box-shadow:inset 1px 1px #fff,inset -1px -1px #69767d,0 10px 24px #0000003d;color:#000;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif;font-size:11px}.delphi-dialog header{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;height:23px;padding-left:7px;background:linear-gradient(90deg,#0a246a,#a6caf0);color:#fff}.delphi-dialog header button{width:18px;height:18px;margin-right:3px;border:1px solid #61717a;border-top-color:#fff;border-left-color:#fff;background:#d7dde0;color:#000;line-height:1}.delphi-dialog-body{display:grid;gap:8px;padding:14px}.delphi-dialog-body p{margin:0}.delphi-dialog-body small{color:#46535a}.delphi-dialog-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:6px}.delphi-dialog-options button,.delphi-dialog footer button{min-height:24px;border:1px solid #707d84;border-top-color:#fff;border-left-color:#fff;background:linear-gradient(#f6f8f9,#c9d2d6);color:#000}.delphi-dialog footer{display:flex;justify-content:flex-end;padding:0 14px 14px}.delphi-dialog footer button{min-width:76px}.delphi-loading{display:grid;place-items:center;height:100%;border:1px solid #5f6a70;background:#d7dde0}.delphi-statusbar{gap:0;height:24px;border-top:1px solid #ffffff;background:#d7dde0}.delphi-statusbar span{min-width:130px;height:20px;padding:3px 8px 0;border-right:1px solid #7b878e;box-shadow:inset 1px 1px #fff}@media(max-width:1100px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.brand div:last-child,.nav-item span,.sidebar-status div{display:none}.nav-item{justify-content:center;padding:0}.content-grid,.recipe-detail-grid,.delphi-grid,.table-explorer{grid-template-columns:1fr}.delphi-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-chart-panel,.composition-panel,.recipe-components-panel{grid-column:auto}.recipe-main-panel{grid-row:auto}.detail-panel{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:sticky;top:0;z-index:5;flex-direction:row;align-items:center;overflow-x:auto;padding:10px}.brand,.sidebar-status{display:none}.nav-list{display:flex;gap:6px}.nav-item{width:42px;flex:0 0 42px}.workspace{max-width:100vw;overflow-x:hidden;padding:14px}.topbar{display:grid}.toolbar,.search-box{width:100%}.kpi-grid,.detail-panel,.metric-grid,.recipe-edit-form,.delphi-summary,.component-checks,.component-groups,.module-bands{grid-template-columns:1fr}.composition-row{grid-template-columns:minmax(0,1fr) 74px 40px}.data-table-wrap{max-height:none}.data-table{min-width:640px}}
