:root{color:#162033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{background:#f5f7fb;grid-template-columns:0 minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid;overflow-x:hidden}.app-shell.sidebar-open{grid-template-columns:280px minmax(0,1fr)}.sidebar{z-index:30;color:#1f3147;width:280px;height:100vh;box-shadow:none;background:#fff;border-right:1px solid #ead4d4;padding:28px 22px;transition:transform .18s,box-shadow .18s;position:sticky;top:0;overflow:hidden;transform:translate(-100%)}.app-shell.sidebar-open .sidebar{transform:translate(0);box-shadow:12px 0 28px #40121214}.app-shell:not(.sidebar-open) .sidebar{pointer-events:none}.brand{align-items:center;gap:12px;margin-bottom:36px;display:flex}.sidebar-close{color:#b92727;background:#fff;border:1px solid #e0baba;border-radius:8px;place-items:center;width:36px;height:36px;margin-left:auto;transition:background .16s,border-color .16s,color .16s;display:inline-grid}.sidebar-close:hover{color:#fff;background:#d32f2f;border-color:#d32f2f}.brand-mark{color:#fff;background:#d32f2f;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:#66758a;margin-top:2px;font-size:13px}.nav-list{gap:6px;display:grid}.nav-list a,.nav-list button{color:#31445a;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;padding:11px 12px;transition:background .16s,border-color .16s,color .16s}.nav-list a.active,.nav-list a:hover,.nav-list button.active,.nav-list button:hover{color:#b92727;background:#fff5f5;border-color:#f1c8c8}.nav-group{gap:5px;display:grid}.nav-parent{font-weight:800}.nav-sublist{border-left:2px solid #f1c8c8;gap:4px;margin-left:12px;padding-left:8px;display:grid}.nav-sublist button{min-height:34px;padding:8px 10px;font-size:13px}.content{padding:30px}.selection-wizard-screen{gap:18px;display:grid}.wizard-product-strip{grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;display:grid}.wizard-product-card{color:#26384f;text-align:left;background:#fff;border:1px solid #ead4d4;border-radius:8px;gap:8px;min-height:120px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.wizard-product-card strong{color:#b71c1c;font-size:16px}.wizard-product-card span{color:#66758a;font-size:12px;line-height:1.35}.wizard-product-card small{color:#8a98aa;align-self:end;font-weight:800}.wizard-product-card.active{border-color:#d32f2f;box-shadow:0 10px 24px #b927271f}.wizard-product-card:not(:disabled):hover{border-color:#d32f2f;transform:translateY(-1px)}.wizard-product-card:disabled{cursor:not-allowed;opacity:.58}.wizard-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.wizard-main-panel,.wizard-summary-panel{background:#fff;border:1px solid #ead4d4;border-radius:8px}.wizard-main-panel{min-height:560px;overflow:hidden}.wizard-summary-panel{gap:12px;padding:18px;display:grid;position:sticky;top:30px}.wizard-flow-header{border-bottom:1px solid #f1dede;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.wizard-flow-header span{color:#b92727;font-size:13px;font-weight:800}.wizard-flow-header h2{color:#172235;margin:4px 0 0;font-size:24px}.wizard-step-actions{gap:8px;display:flex}.wizard-step-actions button{color:#b92727;background:#fff;border:1px solid #e4bcbc;border-radius:8px;min-width:92px;padding:10px 14px;font-weight:800}.wizard-step-actions button:last-child{color:#fff;background:#d32f2f;border-color:#d32f2f}.wizard-step-actions button:disabled{cursor:not-allowed;opacity:.48}.wizard-stepper{border-bottom:1px solid #f1dede;gap:8px;padding:12px 18px;display:flex;overflow-x:auto}.wizard-stepper button{color:#4f6076;background:snow;border:1px solid #ecdada;border-radius:8px;align-items:center;gap:8px;min-width:max-content;padding:8px 10px;font-weight:800;display:inline-flex}.wizard-stepper span{color:#b92727;background:#f2dddd;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.wizard-stepper button.active{color:#b92727;background:#fff5f5;border-color:#d32f2f}.wizard-option-sections{gap:24px;padding:22px;display:grid}.wizard-option-section h3{color:#172235;margin:0 0 12px;font-size:18px}.wizard-options{gap:10px;display:grid}.wizard-input-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;display:grid}.wizard-input-grid label{color:#34465e;gap:7px;font-size:13px;font-weight:800;display:grid}.wizard-input-grid input{color:#172235;background:#f8fafc;border:1px solid #d5deeb;border-radius:8px;width:100%;padding:11px 12px}.wizard-input-grid input:focus{border-color:#d32f2f;outline:3px solid #d32f2f1f}.wizard-option{color:#25364d;text-align:left;background:#fff;border:1px solid #dfe5ee;border-radius:8px;gap:5px;width:100%;min-height:70px;padding:13px 15px;display:grid}.wizard-option strong{font-size:16px}.wizard-option span{color:#7b8797;font-size:12px}.wizard-option.active{background:#fff5f5;border-color:#d32f2f;box-shadow:inset 4px 0 #d32f2f}.wizard-summary-title{color:#172235;align-items:center;gap:8px;display:flex}.wizard-summary-title svg{color:#d32f2f}.wizard-summary-title span{color:#7b8797;margin-left:auto;font-size:12px}.wizard-summary{gap:14px;padding:22px;display:grid}.wizard-summary.compact{padding:0}.wizard-summary dl{gap:8px;margin:0;display:grid}.wizard-summary dl div{border-bottom:1px solid #f0e3e3;grid-template-columns:150px minmax(0,1fr);gap:10px;padding-bottom:8px;display:grid}.wizard-summary dt{color:#6b7a8d;font-size:12px;font-weight:800}.wizard-summary dd{color:#1e2c40;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:700}.wizard-cost-box{background:#fff5f5;border:1px solid #f1c8c8;border-radius:8px;gap:6px;padding:14px;display:grid}.wizard-cost-box span,.wizard-cost-box small{color:#6b7a8d;font-size:12px;font-weight:700}.wizard-cost-box strong{color:#b71c1c;font-size:22px}.workbench-grid{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:18px;display:grid}.desktop-menu-screen{color:#111827;background:#f5f5f5;gap:34px;min-height:calc(100vh - 60px);display:grid}.desktop-menu-toggle{width:fit-content}.desktop-menu-welcome{gap:8px;display:grid}.desktop-menu-welcome h2{color:#111827;font-size:34px;font-weight:800}.desktop-menu-welcome p{color:#4b5563;font-size:16px}.desktop-module-grid{grid-template-columns:repeat(3,minmax(280px,1fr));gap:18px;display:grid}.desktop-module-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-rows:auto auto minmax(52px,1fr) auto;min-height:208px;padding:22px 18px 16px;display:grid}.desktop-module-icon{color:#ed1c24;min-height:34px}.desktop-module-icon svg{stroke-width:2.2px}.ai-mark{color:#ed1c24;font-size:32px;font-weight:500;line-height:1}.desktop-module-card h3{color:#0f172a;margin:12px 0 0;font-size:18px;font-weight:800}.desktop-module-card p{color:#5f6673;text-align:center;place-self:center;max-width:300px;font-size:13px;line-height:1.32}.desktop-module-card-actions{justify-content:flex-end;gap:12px;display:flex}.desktop-module-card-actions button{color:#ed1c24;background:#fff;border:1.5px solid #ed1c24;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-width:128px;min-height:36px;padding:0 16px;font-size:12px;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.desktop-module-card-actions button:hover:not(:disabled){color:#fff;background:#d32f2f;border-color:#d32f2f}.desktop-module-card-actions button:disabled{cursor:not-allowed;color:#b2b2b2;background:#f7f7f7;border-color:#d0d0d0}.technical-dashboard-card{min-height:208px}.technical-dashboard-card .desktop-module-icon{width:auto;height:auto}.technical-dashboard-card .desktop-module-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.technical-dashboard-card .desktop-module-card-actions button{border-radius:8px;min-width:0;min-height:28px;padding:0 6px;font-size:10px;line-height:1.15}.leave-screen{gap:16px;display:grid}.leave-header,.leave-panel,.leave-metric{background:#fff;border:1px solid #dce4ee;border-radius:8px}.leave-header{justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.leave-header h2,.leave-panel h3{color:#19334d;margin:0}.leave-header p{color:#63758a;margin-top:6px}.leave-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.leave-metric{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.leave-metric span{color:#63758a;font-weight:700}.leave-metric strong{font-size:18px}.leave-metric.green strong{color:#15803d}.leave-metric.amber strong{color:#b45309}.leave-metric.blue strong{color:#2563eb}.leave-metric.red strong{color:#dc2626}.leave-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px;display:grid}.leave-panel{gap:14px;min-width:0;padding:18px;display:grid}.leave-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.leave-form-grid label,.leave-wide-field,.leave-manager-actions label{color:#63758a;gap:7px;font-size:12px;font-weight:800;display:grid}.leave-form-grid input,.leave-wide-field input,.leave-manager-actions input,.leave-manager-actions select{color:#162033;border:1px solid #cfd9e6;border-radius:8px;width:100%;padding:10px 11px}.leave-manager-actions{gap:12px;padding-top:8px;display:grid}.leave-workday-result{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:11px 12px;font-weight:800}.leave-actions{gap:10px;display:flex}.leave-request-table{display:grid;overflow:auto}.leave-request-row{color:#162033;cursor:pointer;width:100%;min-width:620px;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f6;grid-template-columns:repeat(4,minmax(120px,1fr));display:grid}.leave-request-table.show-user .leave-request-row{grid-template-columns:minmax(130px,1fr) repeat(4,minmax(120px,1fr))}.leave-request-row.header{color:#63758a;cursor:default;background:#f8fafc;font-size:12px;font-weight:800}.leave-request-row.selected{background:#fff1f2;box-shadow:inset 3px 0 #dc2626}.leave-request-row:not(.header):hover{color:#991b1b;background:#fef2f2}.leave-request-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:10px 8px;overflow:hidden}.leave-empty{color:#63758a;background:#f8fafc;border:1px solid #eef2f6;border-radius:8px;padding:14px}.login-shell{background:radial-gradient(circle at 50% 0,#d32f2f12,#0000 32%),#f5f5f5;place-items:center;min-height:100vh;padding:36px 40px;display:grid}.login-panel{background:#fff;border:1px solid #ededed;border-radius:20px;flex-direction:column;justify-content:center;width:min(500px,100%);min-height:720px;padding:42px 52px 38px;display:flex;box-shadow:0 18px 50px #16203317}.login-header{text-align:center;justify-items:center;gap:6px;margin-bottom:28px;display:grid}.login-logo{object-fit:contain;width:245px;max-width:100%;height:auto;margin-bottom:12px}.login-header h1{color:#444;margin:0;font-size:14px;font-weight:500;line-height:1.4}.login-header p{color:#666;margin:0;font-size:12px}.login-version{color:#888;margin-top:2px;font-size:12px}.login-form{gap:16px;display:grid}.login-field{color:#424242;gap:7px;font-size:14px;font-weight:600;display:grid}.login-input-wrap{color:#424242;background:#f8f9fa;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:50px;padding:0 14px;transition:background .16s,border-color .16s,box-shadow .16s;display:flex}.login-input-wrap:focus-within{background:#fff;border-color:#efb7b7;box-shadow:0 0 0 4px #d32f2f1a}.login-input-wrap input{color:#424242;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:13px 0}.password-toggle{color:#666;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.password-toggle:hover{color:#c62828;background:#fff0f0}.login-options{justify-content:space-between;align-items:center;gap:14px;margin:0 0 6px;display:flex}.remember-option{color:#424242;white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.remember-option input{accent-color:#d32f2f;width:16px;height:16px}.login-links{align-items:center;gap:14px;display:flex}.login-links button,.login-footer button{color:#d32f2f;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.login-links button:hover,.login-footer button:hover{color:#b71c1c;text-decoration:underline}.login-form>button[type=submit],.ghost-button{border:0;border-radius:8px;font-weight:800}.login-form>button[type=submit]{color:#fff;background:#d32f2f;border-radius:12px;min-height:50px;transition:background .16s,transform .16s,box-shadow .16s;box-shadow:0 10px 22px #d32f2f38}.login-form>button[type=submit]:hover{background:#c62828;transform:translateY(-1px);box-shadow:0 14px 26px #d32f2f42}.login-form>button[type=submit]:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-footer{color:#666;justify-items:center;gap:5px;margin-top:12px;font-size:12px;display:grid}.technical-shell{gap:18px;display:grid}.technical-hero,.technical-calculator-panel{background:#fff;border:1px solid #efd1d1;border-radius:8px;box-shadow:0 14px 30px #40121212}.technical-hero{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.technical-hero h2,.technical-panel-heading h3{color:#212121;margin:0}.technical-hero p,.technical-panel-heading p,.technical-note{color:#66758a;margin:6px 0 0;line-height:1.5}.technical-hero-mark{color:#fff;background:#d32f2f;border-radius:14px;flex:none;place-items:center;width:58px;height:58px;display:grid}.technical-card-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;display:grid}.technical-tool-card{color:#31445a;text-align:left;background:#fff;border:1px solid #ead4d4;border-radius:8px;align-content:start;gap:8px;min-height:138px;padding:16px;transition:background .16s,border-color .16s,color .16s,transform .16s;display:grid}.technical-tool-card svg{color:#d32f2f}.technical-tool-card span{color:#66758a;line-height:1.4}.technical-tool-card:hover,.technical-tool-card.active{color:#b71c1c;background:#fff5f5;border-color:#d32f2f;transform:translateY(-1px)}.technical-calculator-panel{gap:18px;padding:22px;display:grid}.technical-panel-heading{gap:2px;display:grid}.technical-panel-subheading{gap:4px;display:grid}.technical-panel-subheading strong{color:#19334d;font-size:17px}.technical-panel-subheading span{color:#66758a;font-size:13px;line-height:1.45}.technical-form-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;display:grid}.technical-form-grid.compact{grid-template-columns:1fr}.technical-field{color:#424242;gap:7px;font-size:13px;font-weight:700;display:grid}.technical-field input,.technical-field select{color:#162033;background:#fff;border:1px solid #d8caca;border-radius:8px;outline:0;min-width:0;min-height:42px;padding:9px 11px}.technical-field input:focus,.technical-field select:focus{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a}.technical-result-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.technical-result-row{background:#fbfcfd;border:1px solid #eee0e0;border-radius:8px;gap:6px;min-height:82px;padding:14px;display:grid}.technical-result-row span{color:#66758a;font-size:12px;font-weight:700}.technical-result-row strong{color:#1f3147;font-size:18px}.technical-result-row.strong{background:#fff5f5;border-color:#d32f2f}.technical-result-row.strong strong{color:#b71c1c}.technical-note{background:#fff7f7;border-left:3px solid #d32f2f;padding:12px 14px}.fan-calculation-layout{grid-template-columns:minmax(280px,.58fr) minmax(420px,1fr);align-items:start;gap:16px;display:grid}.fan-input-panel,.fan-result-panel{background:#fff;border:1px solid #eee0e0;border-radius:8px;gap:16px;padding:18px;display:grid}.fan-input-panel{position:sticky;top:18px}.fan-export-footer{border-top:1px solid #f0e5e5;justify-content:flex-end;padding-top:12px;display:flex}.fan-export-footer button{color:#b71c1c;background:#fff;border:1px solid #d32f2f;border-radius:8px;min-height:38px;padding:0 13px;font-size:13px;font-weight:500}.fan-export-footer button:hover{background:#fff5f5}.fan-result-table{gap:0;display:grid}.fan-result-row{color:#31445a;border-bottom:1px solid #f0e5e5;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;min-height:39px;padding:8px 0;display:grid}.fan-result-row:last-child{border-bottom:0}.fan-result-row span{min-width:0;font-size:13px;line-height:1.35}.fan-result-row strong{color:#000;text-align:right;white-space:nowrap;font-size:14px}.fan-result-row.strong{align-items:center;min-height:48px}.fan-result-row.strong span{color:#424242;font-size:15px;font-weight:800}.fan-result-row.strong strong{color:#d32f2f;font-size:20px}.pressure-loss-layout{grid-template-columns:minmax(205px,.45fr) minmax(230px,.5fr) minmax(650px,1.75fr);align-items:start;gap:12px;display:grid}.pressure-input-panel,.pressure-calc-panel,.pressure-table-panel{background:#fff;border:1px solid #eee0e0;border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.pressure-input-panel,.pressure-calc-panel{position:sticky;top:18px}.pressure-result-list{gap:8px;display:grid}.pressure-result-list .technical-result-row{min-height:60px;padding:10px}.pressure-result-list .technical-result-row strong{font-size:16px}.technical-actions.vertical{display:grid}.technical-actions.vertical button{width:100%}.pressure-table-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.pressure-total{color:#b71c1c;white-space:nowrap;background:#fff5f5;border:1px solid #d32f2f;border-radius:8px;padding:9px 12px;font-size:20px}.pressure-table{min-height:280px;max-height:calc(100vh - 360px)}.pressure-table .technical-table-row{grid-template-columns:.65fr .9fr .95fr .9fr .85fr .75fr 1.05fr;gap:8px;width:100%;min-width:0}.pressure-table .technical-table-row.header{min-height:38px}.pressure-table-actions{justify-content:flex-end}.technical-actions{flex-wrap:wrap;gap:10px;display:flex}.technical-actions button,.technical-submodule-bar button{color:#b71c1c;background:#fff;border:1px solid #efcaca;border-radius:8px;min-height:38px;padding:0 12px;font-weight:800}.technical-actions button:hover,.technical-submodule-bar button:hover,.technical-submodule-bar button.active{color:#fff;background:#d32f2f;border-color:#d32f2f}.technical-actions button:disabled{cursor:not-allowed;opacity:.45}.technical-capacity-shell{gap:14px;display:grid}.technical-submodule-bar{background:#fff;border:1px solid #efd1d1;border-radius:8px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.technical-submodule-bar button{align-items:center;gap:8px;display:inline-flex}.technical-table{background:#fff;border:1px solid #eee0e0;border-radius:8px;align-content:start;display:grid;overflow:auto}.technical-table-row{color:#162033;text-align:left;background:#fff;border:0;border-bottom:1px solid #f1e7e7;grid-template-columns:120px 150px 130px 130px 130px 110px 150px;align-items:center;gap:12px;min-width:920px;min-height:42px;padding:0 12px;display:grid}.technical-table-row.header{z-index:1;color:#7a2626;background:#fff7f7;font-size:12px;font-weight:800;position:sticky;top:0}.technical-table-row.selected,button.technical-table-row:hover{background:#fff5f5}.technical-table-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.technical-table-empty{color:#66758a;padding:18px}.auth-dialog-backdrop{z-index:80;background:#1620335c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-dialog{background:#fff;border:1px solid #f0d0d0;border-radius:18px;width:min(430px,100%);padding:30px;position:relative;box-shadow:0 24px 70px #16203338}.auth-dialog-close{color:#b71c1c;background:#fff;border:1px solid #efd1d1;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid;position:absolute;top:16px;right:16px}.auth-dialog-close:hover{background:#fff0f0}.auth-dialog-heading{gap:8px;margin-bottom:20px;padding-right:36px;display:grid}.auth-dialog-heading h2{color:#2d3748;margin:0;font-size:22px}.auth-dialog-heading p{color:#66758a;margin:0;line-height:1.5}.auth-dialog-form{gap:14px;display:grid}.auth-dialog-form label{color:#424242;gap:7px;font-size:13px;font-weight:700;display:grid}.auth-dialog-form input{border:1px solid #e2d3d3;border-radius:10px;outline:0;min-height:44px;padding:10px 12px}.auth-dialog-form input:focus{border-color:#d32f2f;box-shadow:0 0 0 4px #d32f2f1a}.secondary-auth-action,.auth-dialog-submit{border:0;border-radius:10px;min-height:44px;font-weight:800}.secondary-auth-action{color:#b71c1c;background:#fff7f7;border:1px solid #efcaca}.auth-dialog-submit{color:#fff;background:#d32f2f}.secondary-auth-action:disabled,.auth-dialog-submit:disabled,.auth-dialog-close:disabled{cursor:not-allowed;opacity:.65}.auth-dialog-message{color:#8f1d1d;background:#fff7f7;border:1px solid #f0d0d0;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 12px;line-height:1.45;display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topbar-title{align-items:flex-start;gap:14px;min-width:0;display:flex}.menu-toggle{color:#b92727;background:#fff;border:1px solid #e0baba;border-radius:8px;flex:none;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-weight:700;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.menu-toggle:hover,.menu-toggle.active{color:#fff;background:#d32f2f;border-color:#d32f2f;box-shadow:0 8px 20px #d32f2f2e}.topbar-actions{align-items:center;gap:10px;display:flex}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.2}h2{font-size:21px}.topbar p,.section-heading p,.migration-panel p,.status-panel p{color:#5f6d80;margin-top:8px;line-height:1.55}.db-badge{color:#24415f;white-space:nowrap;background:#fff;border:1px solid #cfd9e6;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.user-chip{white-space:nowrap;background:#fff;border:1px solid #cfd9e6;border-radius:8px;padding:8px 12px;display:grid}.user-chip span{color:#63758a;font-size:12px}.ghost-button{color:#24415f;background:#fff;border:1px solid #cfd9e6;padding:11px 12px}.icon-button{align-items:center;gap:8px;display:inline-flex}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.status-panel,.module-section,.migration-panel{background:#fff;border:1px solid #dce4ee;border-radius:8px}.status-panel{padding:18px}.status-button{color:inherit;text-align:left;border:1px solid #dce4ee}.status-button:hover{border-color:#2f9e7e}.status-panel span{color:#63758a;font-size:13px}.status-panel strong{margin-top:5px;font-size:20px;display:block}.module-section{margin-bottom:24px;overflow:hidden}.wide-panel{grid-column:1/-1}.data-panel{background:#fff;border:1px solid #dce4ee;border-radius:8px;min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid #e5ebf2;justify-content:space-between;align-items:center;gap:16px;min-height:82px;padding:18px 20px;display:flex}.panel-heading p{color:#5f6d80;margin-top:6px;line-height:1.45}.search-box{color:#63758a;background:#fff;border:1px solid #cfd9e6;border-radius:8px;align-items:center;gap:8px;width:min(280px,100%);padding:0 10px;display:inline-flex}.search-box input{color:#162033;border:0;outline:0;width:100%;min-width:0;padding:11px 0}.data-table{max-height:470px;display:grid;overflow:auto}.data-row{color:#162033;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f6;align-items:center;gap:14px;min-width:720px;min-height:48px;padding:0 18px;display:grid}button.data-row:hover,button.data-row.selected{background:#edf8f4}.product-table .data-row{grid-template-columns:130px minmax(220px,1fr) 180px 110px}.material-table .data-row{grid-template-columns:130px 150px minmax(220px,1fr) 110px 170px}.data-row.header{z-index:1;color:#63758a;background:#f8fafc;min-height:42px;font-size:13px;font-weight:800;position:sticky;top:0}.tree-panel{align-self:start}.tree-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid}.tree-stats span{color:#24415f;background:#f8fafc;border:1px solid #dce4ee;border-radius:8px;padding:10px;font-weight:700}.tree-lists{gap:12px;padding:0 20px 20px;display:grid}.tree-list{border-top:1px solid #eef2f6;gap:7px;padding-top:12px;display:grid}.tree-list span{color:#31445a;font-size:13px;line-height:1.35}.muted,.empty-state{color:#63758a}.empty-state{padding:24px 20px}.inline-error{margin:0 0 18px}.notice-state{color:#1f6d55;background:#f0fbf5;border:1px solid #b9d8c7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;display:flex}.notice-state button{color:#1f6d55;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:inline-grid}.product-module-shell{grid-template-columns:350px minmax(0,1fr);align-items:start;gap:16px;display:grid}.product-filter-panel,.product-workspace,.product-table-shell,.product-tree-detail{background:#fff;border:1px solid #dce4ee;border-radius:8px}.product-filter-panel{gap:12px;max-height:calc(100vh - 60px);padding:14px;display:grid;position:sticky;top:20px;overflow:auto}.filter-panel-header,.filter-title{align-items:center;display:flex}.filter-panel-header{border-bottom:1px solid #e5ebf2;justify-content:space-between;gap:12px;padding-bottom:12px}.filter-title{color:#19334d;gap:8px}.filter-title strong{font-size:18px}.filter-panel-header>span{color:#247058;background:#eef7f3;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.filter-summary-card{background:#f8fafc;border:1px solid #dce4ee;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;padding:12px;display:flex}.filter-summary-card strong{color:#19334d;font-size:24px}.filter-summary-card span{color:#63758a;font-size:13px;font-weight:700}.full-search{width:100%}.filter-clear-button{color:#b92727;background:#fff;border:1px solid #f2c5c5;border-radius:8px;min-height:38px;font-weight:800}.filter-clear-button:disabled{cursor:not-allowed;opacity:.45}.filter-clear-button:hover{color:#fff;background:#d32f2f}.active-filter-list{flex-wrap:wrap;gap:8px;display:flex}.active-filter-chip{color:#1f6d55;background:#f0fbf5;border:1px solid #b9d8c7;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:6px 9px;display:inline-flex}.active-filter-chip span,.active-filter-chip strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.active-filter-chip span{color:#578271;font-size:11px;font-weight:800}.active-filter-chip strong{font-size:12px}.filter-groups{gap:10px;display:grid}.filter-group{background:#fff;border:1px solid #e2e9f1;border-radius:8px;overflow:hidden}.filter-group summary{cursor:pointer;padding:12px;list-style:none}.filter-group summary::-webkit-details-marker{display:none}.filter-group summary span{gap:3px;display:grid}.filter-group summary strong{color:#19334d;font-size:14px}.filter-group summary small{color:#63758a;font-size:12px;line-height:1.35}.filter-group[open] summary{background:#f8fafc;border-bottom:1px solid #edf1f6}.filter-grid{grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.filter-control{gap:6px;min-width:0;display:grid}.filter-control span{color:#31445a;font-size:12px;font-weight:800}.filter-control input,.filter-control select{color:#162033;background:#fff;border:1px solid #cfd9e6;border-radius:8px;width:100%;min-width:0;padding:9px 10px}.product-workspace{background:0 0;border:0;gap:14px;min-height:0;display:grid}.product-commandbar{background:#fff;border:1px solid #dce4ee;border-radius:8px;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:10px 14px;padding:12px;display:grid}.commandbar-copy{gap:4px;display:grid}.commandbar-copy strong{color:#19334d;font-size:18px}.commandbar-copy span{color:#63758a;font-size:13px}.product-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.secondary-toolbar{border-top:1px solid #edf1f6;grid-column:1/-1;justify-content:flex-start;padding-top:10px}.product-action{color:#205f8c;background:#fff;border:1px solid #cfd9e6;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 13px;font-weight:500;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.product-action:hover{color:#fff;background:#d32f2f;border-color:#d32f2f}.product-action:disabled{cursor:not-allowed;opacity:1}.product-action:disabled:hover{color:#205f8c;background:#fff;border-color:#cfd9e6}.product-action.danger{color:#b92727;border-color:#f1c8c8}.product-action.danger:hover{color:#fff;background:#b92727;border-color:#b92727}.product-action.emphasis{color:#fff;background:#2f9e7e;border-color:#2f9e7e}.product-action.emphasis:hover{color:#fff;background:#20765e;border-color:#20765e}.product-action.emphasis:disabled:hover{color:#fff;background:#2f9e7e;border-color:#2f9e7e}.product-action.save-action,.product-action.save-action span,.product-action.save-action svg,.product-action.save-action:disabled,.product-action.save-action:disabled span,.product-action.save-action:disabled svg{color:#fff}.product-action.danger:disabled:hover{color:#b92727;background:#fff;border-color:#f1c8c8}.product-table-shell{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.product-table-header{border-bottom:1px solid #e5ebf2;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:10px 16px;display:flex}.product-table-header div:first-child{gap:3px;display:grid}.product-table-header span{color:#63758a;font-size:13px;font-weight:700}.selected-product-pill{text-overflow:ellipsis;white-space:nowrap;color:#1f7a5f;background:#e5f6ef;border-radius:999px;width:fit-content;max-width:260px;padding:7px 11px;font-size:13px;font-weight:800;overflow:hidden}.muted-pill{color:#63758a;background:#eef2f6}.desktop-product-table{height:calc(100vh - 355px);min-height:360px;max-height:none}.selected-product-summary+.product-table-shell .desktop-product-table{height:calc(100vh - 455px)}.desktop-product-table .data-row{grid-template-columns:140px 220px 150px 140px 150px 170px 150px 180px 150px 180px 120px 140px 140px 140px 150px 150px 130px;min-width:2530px}.desktop-product-table .data-row:not(.header):nth-child(odd){background:#fbfdff}.desktop-product-table .data-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-module-shell{grid-template-columns:320px minmax(0,1fr);min-height:0}.material-filter-panel,.material-workspace{height:calc(100vh - 154px)}.material-commandbar{grid-template-columns:minmax(280px,1fr) auto}.material-workspace{grid-template-rows:auto auto minmax(0,1fr)}.material-table-shell{min-height:0}.desktop-material-table{height:auto;min-height:0;max-height:none}.desktop-material-table .data-row{grid-template-columns:170px 160px minmax(320px,1fr) 140px 190px;min-width:980px}.desktop-material-table .data-row:not(.header):nth-child(odd){background:#fbfdff}.desktop-material-table .data-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-context-menu,.product-context-menu{z-index:90;background:#fff;border:1px solid #d9caca;border-radius:8px;min-width:190px;padding:6px;display:grid;position:fixed;overflow:hidden;box-shadow:0 16px 36px #0f243d2e}.material-context-menu button,.product-context-menu button{color:#31445a;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;min-height:38px;padding:0 10px;display:flex}.material-context-menu button:hover,.product-context-menu button:hover{color:#b71c1c;background:#fff5f5}.material-context-menu button.danger,.product-context-menu button.danger{color:#b92727}.material-context-menu button.danger:hover,.product-context-menu button.danger:hover{color:#fff;background:#b92727}.material-context-menu button:disabled,.product-context-menu button:disabled{cursor:not-allowed;opacity:.55}.table-empty-state{color:#63758a;min-width:720px;padding:28px 18px}.selected-product-summary{background:#fff;border:1px solid #dce4ee;border-radius:8px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:16px;padding:16px;display:grid}.selected-product-summary span,.selected-product-summary dt{color:#63758a;font-size:12px;font-weight:800}.selected-product-summary strong{color:#19334d;margin-top:5px;font-size:20px;display:block}.selected-product-summary p{color:#31445a;margin-top:5px}.selected-product-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.selected-product-summary dl div{background:#f8fafc;border:1px solid #edf1f6;border-radius:8px;padding:10px}.selected-product-summary dd{color:#19334d;margin:5px 0 0;font-weight:800}.product-tree-detail{overflow:hidden}.modal-backdrop{z-index:20;background:#0f243d85;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.product-detail-modal{background:#fff;border:1px solid #cfd9e6;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f243d3d}.product-tree-modal{background:#fff;border:1px solid #cfd9e6;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(1060px,100%);height:min(720px,100vh - 48px);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f243d3d}.material-add-modal{background:#fff;border:1px solid #cfd9e6;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(760px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f243d3d}.material-detail-modal{background:#fff;border:1px solid #cfd9e6;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(900px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f243d3d}.material-import-modal{background:#fff;border:1px solid #cfd9e6;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(980px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f243d3d}.material-add-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid;overflow:auto}.material-detail-body{grid-template-rows:auto minmax(0,1fr) auto;gap:14px;min-height:0;padding:18px;display:grid;overflow:auto}.material-import-body{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:14px;min-height:0;padding:18px;display:grid;overflow:auto}.material-detail-card{background:#fff;border:1px solid #dce4ee;border-radius:8px;gap:14px;min-width:0;padding:14px;display:grid}.material-file-drop{color:#31445a;text-align:center;background:snow;border:1px dashed #d9b4b4;border-radius:8px;justify-items:center;gap:8px;padding:22px;display:grid}.material-file-drop input{width:100%;max-width:300px}.material-file-drop span{color:#63758a;line-height:1.45}.material-import-actions,.import-result-summary{flex-wrap:wrap;gap:10px;display:flex}.import-result-summary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.import-result-summary div{background:#f8fafc;border:1px solid #dce4ee;border-radius:8px;padding:10px}.import-result-summary span{color:#63758a;font-size:12px;font-weight:800}.import-result-summary strong{color:#19334d;margin-top:4px;font-size:20px;display:block}.import-result-table{max-height:330px}.import-result-row{border-bottom:1px solid #eef2f6;grid-template-columns:70px 140px 100px minmax(0,1fr);align-items:center;gap:12px;min-height:42px;padding:0 12px;display:grid}.import-result-row:last-child{border-bottom:0}.import-result-row.header{z-index:1;color:#63758a;background:#f8fafc;min-height:38px;font-size:13px;font-weight:800;position:sticky;top:0}.import-result-row.inserted{background:#fbfffd}.import-result-row.existing{background:#fffdf7}.import-result-row.failed{background:#fff7f7}.import-result-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-detail-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.material-form-field{gap:7px;min-width:0;display:grid}.material-form-field span{color:#31445a;font-size:13px;font-weight:800}.material-form-field input,.material-form-field select{color:#162033;background:#fff;border:1px solid #cfd9e6;border-radius:8px;outline:0;width:100%;min-width:0;min-height:42px;padding:9px 10px}.material-form-field input:focus,.material-form-field select:focus{border-color:#d32f2f;box-shadow:0 0 0 4px #d32f2f1a}.material-form-field input:read-only{color:#63758a;background:#f8fafc}.material-add-info,.material-add-footer,.material-add-form .auth-dialog-message{grid-column:1/-1}.material-add-info{color:#205f8c;background:#f4f9ff;border:1px solid #d9e7f7;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.45;display:flex}.warning-info{color:#9b5a16;background:#fff8ef;border-color:#f2dcc3}.material-usage-table{border:1px solid #e5ebf2;border-radius:8px;max-height:230px;display:grid;overflow:auto}.material-usage-row{border-bottom:1px solid #eef2f6;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:12px;min-height:42px;padding:0 12px;display:grid}.material-usage-row:last-child{border-bottom:0}.material-usage-row.header{z-index:1;color:#63758a;background:#f8fafc;min-height:38px;font-size:13px;font-weight:800;position:sticky;top:0}.material-usage-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.material-add-footer{border-top:1px solid #e5ebf2;justify-content:flex-end;gap:10px;padding-top:14px;display:flex}.material-detail-footer{background:#fff;position:sticky;bottom:0}.product-detail-header{background:#fff;border-bottom:1px solid #e5ebf2;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 18px;display:grid}.product-detail-header span,.detail-header-cost span,.detail-card-heading span,.detail-field span,.cost-row span{color:#63758a;font-size:12px;font-weight:800}.product-detail-header h2{color:#19334d;margin-top:3px;font-size:20px}.product-detail-header p{color:#31445a;margin-top:5px}.detail-header-cost{background:#f0fbf5;border:1px solid #b9d8c7;border-radius:8px;gap:4px;min-width:180px;padding:10px 12px;display:grid}.detail-header-cost strong{color:#1f7a5f;font-size:20px}.modal-close-button{color:#24415f;background:#fff;border:1px solid #d8e1ec;border-radius:8px;place-items:center;width:38px;height:38px;transition:background-color .14s,border-color .14s,color .14s;display:inline-grid}.modal-close-button:hover{color:#b92727;background:#fff6f6;border-color:#d32f2f}.modal-icon-button{color:#24415f;background:#fff;border:1px solid #d8e1ec;border-radius:8px;place-items:center;width:38px;height:38px;transition:background-color .14s,border-color .14s,color .14s;display:inline-grid}.modal-icon-button:hover{color:#17304f;background:#f4f7fb;border-color:#24415f}.tree-info-menu{position:relative}.tree-info-popover{z-index:4;background:#fff;border:1px solid #d8e1ec;border-radius:8px;gap:8px;width:240px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 45px #0f243d2e}.tree-info-popover strong{color:#17304f;font-size:13px;font-weight:600}.tree-info-popover span{color:#31445a;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;display:flex}.tree-modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.product-tree-modal-body{grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;padding:14px 16px 16px;display:grid;overflow:hidden}.tree-tabs{border-bottom:1px solid #e5ebf2;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding-bottom:10px;display:inline-flex}.tree-tabs button{color:#24415f;background:#fff;border:1px solid #dce4ee;border-radius:7px;min-height:34px;padding:0 12px;font-weight:500}.tree-tabs button.active{color:#fff;background:#24415f;border-color:#24415f}.tree-tabs button:not(.active):hover{color:#17304f;background:#f4f7fb;border-color:#24415f}.tree-panel-table{background:#fff;border:1px solid #dce4ee;border-radius:8px;min-height:0;overflow:auto}.tree-add-panel{background:#fff;border-bottom:1px solid #dce4ee;grid-template-columns:minmax(260px,1fr) 140px;gap:10px;padding:10px 12px;display:grid}.tree-add-panel label{color:#4f647d;gap:6px;font-size:12px;font-weight:500;display:grid}.tree-add-panel input{color:#17304f;min-height:34px;font:inherit;background:#fff;border:1px solid #d2dce9;border-radius:8px;padding:0 11px}.tree-bulk-panel{background:#fff;border-bottom:1px solid #dce4ee;gap:10px;padding:10px 12px;display:grid}.tree-bulk-panel label{color:#4f647d;gap:6px;font-size:12px;font-weight:500;display:grid}.tree-bulk-panel textarea{resize:vertical;color:#17304f;min-height:92px;font:inherit;background:#fff;border:1px solid #d2dce9;border-radius:8px;padding:9px 11px;line-height:1.5}.tree-bulk-preview{background:#fff;border:1px solid #dce4ee;border-radius:8px;max-height:210px;display:grid;overflow:auto}.tree-material-results{background:#fff;border:1px solid #dce4ee;border-radius:8px;grid-column:1/-1;max-height:178px;display:grid;overflow:auto}.tree-material-result{border-bottom:1px solid #eef2f6;grid-template-columns:28px 150px minmax(220px,1fr) 130px;align-items:center;gap:10px;min-height:34px;padding:0 10px;display:grid}.tree-material-result span,.tree-material-result strong,.tree-material-result em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tree-material-result strong{color:#17304f}.tree-material-result em{color:#60758d;font-style:normal}.inline-error{color:#a82424;background:#fff5f5;border:1px solid #f0b7b7;border-radius:8px;grid-column:1/-1;padding:9px 10px;font-size:13px;font-weight:800}.tree-table-row{border-bottom:1px solid #eef2f6;grid-template-columns:34px 180px minmax(260px,1fr) 120px 100px;align-items:center;gap:12px;min-height:38px;padding:0 12px;display:grid}.tree-table-row.labor-tree-row{grid-template-columns:34px minmax(260px,1fr) 140px 140px 100px}.tree-table-row.bulk-tree-row{grid-template-columns:150px minmax(260px,1fr) 120px 150px}.tree-table-row.invalid{color:#9b2424;background:#fff7f7}.tree-table-row.header{z-index:1;color:#63758a;background:#f8fafc;font-size:12px;font-weight:600;position:sticky;top:0}.tree-table-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compact-action{min-height:28px;padding:0 10px}.tree-panel-actions{background:#f8fafc;border-top:1px solid #eef2f6;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;bottom:0}.tree-panel-actions.inline-actions{background:0 0;border-top:0;grid-column:1/-1;padding:0;position:static}.product-detail-body{grid-template-rows:minmax(0,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;gap:14px;height:calc(100vh - 206px);min-height:0;padding:16px;display:grid;overflow:hidden}.detail-card{background:#fff;border:1px solid #dce4ee;border-radius:8px;overflow:hidden}.product-info-card{background:#f7fbff;border-color:#c8dbee;grid-row:1/3;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.product-info-card .detail-card-heading{background:#eef6ff;border-bottom-color:#d7e8f7}.detail-card-heading{background:#f8fafc;border-bottom:1px solid #edf1f6;gap:4px;padding:12px 14px;display:grid}.detail-card-heading strong{color:#19334d;align-items:center;gap:8px;font-size:17px;display:inline-flex}.product-info-card .detail-card-heading strong svg{color:#2d6fa3}.cost-card .detail-card-heading strong svg{color:#b97814}.labor-card .detail-card-heading strong svg{color:#2f8a5e}.detail-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;min-height:0;padding:14px;display:grid;overflow:auto}.detail-field{background:#fbfdff;border:1px solid #edf1f6;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.detail-field strong{color:#19334d;overflow-wrap:anywhere;min-width:0}.detail-input,.detail-textarea,.labor-input{color:#162033;background:#fff;border:1px solid #cfd9e6;border-radius:8px;outline:0;width:100%;min-width:0}.detail-input{min-height:36px;padding:8px 10px}.detail-textarea{resize:vertical;min-height:68px;padding:9px 10px}.detail-input:disabled{cursor:not-allowed;color:#63758a;background:#eef2f6}.cost-card{background:#fffaf2;border-color:#ead4a7;align-self:start}.cost-card .detail-card-heading{background:#fff3dc;border-bottom-color:#ecd5a5}.cost-breakdown-list{padding:12px 14px;display:grid}.cost-row{border-bottom:1px solid #eef2f6;justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.cost-row:last-child{border-bottom:0}.cost-row strong{color:#19334d}.cost-row.total{border-top:1px solid #cfd9e6;border-bottom:0;min-height:48px;margin-top:4px}.cost-row.total strong{color:#1f7a5f;font-size:18px}.labor-card{background:#f7fcf8;border-color:#c9e1d5;grid-column:2;grid-template-rows:auto minmax(0,1fr);align-self:stretch;min-height:0;display:grid}.labor-card .detail-card-heading{background:#eef8f2;border-bottom-color:#d5eadf}.labor-table{min-height:0;display:grid;overflow:auto}.labor-row{border-bottom:1px solid #eef2f6;grid-template-columns:minmax(120px,1fr) 76px 92px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;display:grid}.labor-row.header{color:#63758a;background:#f7fcf8;font-size:12px;font-weight:800;position:sticky;top:0}.labor-input{color:#17304f;min-width:0;min-height:30px;font:inherit;background:#fff;border:1px solid #d2dce9;border-radius:8px;padding:5px 7px}.detail-loading{color:#63758a;grid-column:1/-1;place-items:center;min-height:240px;font-weight:800;display:grid}.product-detail-footer{background:#f8fafc;border-top:1px solid #e5ebf2;justify-content:flex-end;gap:10px;padding:12px 16px;display:flex}.section-heading{border-bottom:1px solid #e5ebf2;justify-content:space-between;gap:20px;padding:20px;display:flex}.module-table{display:grid}.module-row{border-bottom:1px solid #eef2f6;grid-template-columns:minmax(220px,1fr) 160px 130px;align-items:center;gap:16px;min-height:56px;padding:0 20px;display:grid}.module-row:last-child{border-bottom:0}.module-row.header{color:#63758a;background:#f8fafc;min-height:44px;font-size:13px;font-weight:700}.module-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.tag{color:#5f6d80;background:#eef2f6;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:700}.active-tag{color:#1f7a5f;background:#def7ec}.migration-panel{grid-template-columns:minmax(0,1fr) 320px;gap:20px;padding:22px;display:grid}.migration-panel ul{gap:8px;margin:0;padding-left:20px;display:grid}.error-state{color:#9b2929;background:#fff6f6;border:1px solid #f2c5c5;border-radius:8px;align-items:center;gap:8px;margin:16px 20px 0;padding:12px;display:flex}@media (width<=920px){.desktop-module-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.leave-metrics,.leave-grid{grid-template-columns:1fr 1fr}.sidebar{width:min(280px,100vw - 32px);padding:18px}.app-shell.sidebar-open{grid-template-columns:min(280px,100vw - 32px) minmax(0,1fr)}.nav-list{grid-template-columns:1fr}.content{padding:20px}.topbar,.topbar-actions,.topbar-title,.section-heading,.panel-heading,.migration-panel{display:grid}.workbench-grid,.product-module-shell{grid-template-columns:1fr}.product-filter-panel{max-height:none;position:static}.product-commandbar,.product-detail-body,.fan-calculation-layout,.pressure-loss-layout,.selected-product-summary,.selected-product-summary dl{grid-template-columns:1fr}.fan-input-panel,.pressure-input-panel,.pressure-calc-panel{position:static}.pressure-table{max-height:none}.product-info-card{grid-row:auto;height:auto;max-height:520px}.labor-card{grid-column:auto}.product-detail-header{grid-template-columns:1fr auto}.detail-header-cost{grid-area:2/1/auto/-1}.primary-toolbar,.secondary-toolbar{justify-content:flex-start}.status-grid{grid-template-columns:1fr}.module-row{grid-template-columns:minmax(160px,1fr) 110px 100px;padding:0 14px}}@media (width<=620px){.desktop-menu-welcome h2{font-size:28px}.desktop-module-grid{grid-template-columns:1fr}.leave-header,.leave-actions{display:grid}.leave-metrics,.leave-grid,.leave-form-grid{grid-template-columns:1fr}.desktop-module-card-actions{justify-content:stretch}.desktop-module-card-actions button{flex:1}.technical-dashboard-card .desktop-module-card-actions,.nav-list,.filter-grid{grid-template-columns:1fr}.module-row{grid-template-columns:1fr;align-items:start;gap:8px;padding:14px}.module-row.header{display:none}.login-panel{min-height:auto;padding:32px 22px}.technical-hero{flex-direction:column;align-items:flex-start}.technical-card-grid,.technical-form-grid,.technical-result-grid,.fan-result-row,.pressure-table-heading{grid-template-columns:1fr}.fan-result-row strong{text-align:left}.login-options{flex-direction:column;align-items:flex-start}.login-links{justify-content:space-between;width:100%}.modal-backdrop{padding:10px}.product-detail-header,.detail-field-grid,.material-add-form,.material-import-body,.material-detail-form-grid,.material-usage-row,.import-result-row,.labor-row,.import-result-summary{grid-template-columns:1fr}}
