:root{--bg-color: #0f172a;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #3b82f6;--accent-secondary: #8b5cf6;--gradient-primary: linear-gradient(135deg, #3b82f6, #8b5cf6, #ec4899);--input-bg: rgba(15, 23, 42, .6);--input-border: rgba(255, 255, 255, .12);--input-focus: #3b82f6;--card-bg: rgba(30, 41, 59, .4);--bg-main: #2A313C;--bg-panel: #343B45;--bg-header: #3F4756;--bg-input: #1E232B;--text-primary: #ECEFF4;--text-secondary: #D8DEE9;--text-highlight: #88C0D0;--text-warning: #EBCB8B;--border-color: #4C566A;--border-light: #5E697F;--btn-primary: #5E81AC;--btn-hover: #81A1C1;--btn-danger: #BF616A;--table-header: #434C5E;--table-row-alt: #3B4252;--table-row-hover: #4C566A;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--header-height: 100px;--sidebar-width: 320px;--canvas-width: 450px;--spacing-sm: 8px;--spacing-md: 16px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-ui);background-color:var(--bg-main);color:var(--text-primary);font-size:13px;height:100vh;overflow:hidden}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{background-color:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column}.header-top{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;background:#18191b;color:#fff;font-size:12px}.app-title{display:flex;align-items:center;gap:8px}.logo-icon{color:var(--text-warning);font-size:14px}.window-controls{display:flex;gap:2px}.win-btn{background:none;border:none;color:#fff;width:30px;height:24px;cursor:pointer}.win-btn:hover{background:#ffffff1a}.win-btn.close:hover{background:#e81123}.header-menu{padding:2px 8px;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color)}.menu-items{display:flex;gap:16px}.menu-item{padding:4px 8px;cursor:pointer}.menu-item:hover{background:var(--border-color);border-radius:2px}.toolbar{display:flex;align-items:center;padding:6px 12px;gap:8px;background-color:var(--bg-panel);border-bottom:1px solid var(--border-color)}.tool-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;color:var(--text-primary);padding:6px 12px;cursor:pointer;font-family:inherit;font-size:13px;border-radius:3px}.tool-btn:hover{background:var(--border-color);border-color:var(--border-light)}.tool-btn.primary{background:var(--btn-primary);border-color:var(--btn-primary)}.tool-btn.primary:hover{background:var(--btn-hover)}.text-warning{color:var(--text-warning)!important}.text-highlight{color:var(--text-highlight)!important}.icon{font-size:14px}.divider{width:1px;height:24px;background-color:var(--border-light);margin:0 4px}.flex-spacer{flex:1}.app-tabs{display:flex;background:var(--bg-header);padding-top:6px;padding-left:8px}.tab-btn{background:var(--bg-header);border:1px solid var(--border-color);border-bottom:none;color:var(--text-secondary);padding:8px 16px;cursor:pointer;border-radius:4px 4px 0 0;margin-right:4px;font-family:inherit;font-size:13px}.tab-btn:hover{background:var(--border-light)}.tab-btn.active{background:var(--bg-main);color:#fff;font-weight:600;border-color:#fff;border-bottom:1px solid var(--bg-main);margin-bottom:-1px;position:relative;z-index:2}.app-body{display:flex;flex:1;overflow:hidden;position:relative}.app-sidebar{width:var(--sidebar-width);background-color:var(--bg-main);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;padding:12px}.sidebar-section{border:1px solid var(--border-light);margin-bottom:16px;position:relative;padding:16px 12px 12px}.section-title{position:absolute;top:-9px;left:12px;background:var(--bg-main);padding:0 6px;font-weight:500}.sidebar-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:0 4px}.radio-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;line-height:1.4}.radio-label input[type=radio]{margin-top:3px}.summary-card{margin-top:auto;background:var(--bg-panel);border:1px solid var(--border-color);padding:12px;border-radius:4px}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px}.summary-row:last-child{margin-bottom:0}.summary-row strong{font-size:14px}.app-main{flex:1;background-color:var(--bg-main);display:flex;flex-direction:column;padding:12px;overflow:hidden}.tab-pane{display:none;height:100%;flex-direction:column}.tab-pane.active{display:flex}.app-canvas-panel{width:var(--canvas-width);background-color:#000;border-left:2px groove var(--border-color);display:flex;flex-direction:column;position:relative;overflow:hidden}.canvas-wrapper{flex:1;position:relative;display:flex;justify-content:center;align-items:center}#buildingCanvas{background-color:transparent;max-width:100%;max-height:100%}.canvas-coords{position:absolute;bottom:8px;left:8px;font-family:monospace;color:var(--text-secondary);font-size:11px}.refresh-btn{position:absolute;bottom:8px;right:8px;background:#ffffff1a;border:1px solid var(--border-color);color:#fff;padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:12px}.refresh-btn:hover{background:#fff3}@media(max-width:1200px){.app-canvas-panel{width:300px}}.mong-top-bar{display:flex;background:var(--bg-header);padding:8px 16px;border:1px solid var(--border-color);margin-bottom:12px}.mong-grid{display:flex;gap:12px;height:100%;overflow-y:auto;padding-top:12px}.mong-col{display:flex;flex-direction:column;flex:1;min-width:200px}.form-compact{display:flex;flex-direction:column;gap:8px;font-size:12px}.input-row{display:flex;align-items:center;justify-content:space-between;gap:4px}.input-row label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-row input[type=number],.input-row input[type=text]{width:65px;padding:2px 4px;height:22px}.multi-inputs{display:flex;align-items:center;gap:4px}.multi-inputs select{padding:2px;height:22px;width:45px}.multi-inputs input[type=number]{width:45px}.item-list-area{width:100%;flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:4px;resize:none;font-family:monospace;font-size:13px;line-height:1.5}.item-list-area:focus{outline:none;border-color:var(--text-highlight)}.justify-start{justify-content:flex-start!important}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.btn-calc{background:#ffc107;color:#000;border:none;padding:6px 12px;border-radius:20px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;text-transform:uppercase}.btn-add{background:#28a745;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer}.btn-delete{background:#dc3545;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer}.detail-group{border:1px solid rgba(255,255,255,.2);padding:10px;margin-top:15px;position:relative;border-radius:4px}.detail-group-label{position:absolute;top:-10px;left:10px;background:#1e2127;padding:0 5px;font-size:11px;color:var(--text-secondary)}.item-list-container{margin-top:8px;background:#fff;color:#000;min-height:80px;max-height:120px;overflow-y:auto;border-radius:2px;padding:4px;font-family:monospace;font-size:12px}.item-list-entry{padding:2px 4px;border-bottom:1px solid #eee}.grid-5-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;padding:15px}.project-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:10px}.room-counts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:10px}.info-item,.room-item{display:flex;flex-direction:column;gap:5px}.info-item label,.room-item label{font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:5px}.info-item select,.room-item input{width:100%}.help-toggle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:var(--bg-header);border:1px solid var(--border-color);border-radius:50%;font-size:9px;cursor:help;color:var(--text-highlight);position:relative}.help-toggle:hover{background:var(--text-highlight);color:#000}.check-label{font-size:11px;cursor:pointer;display:flex;align-items:center;gap:5px}.mb-3{margin-bottom:1rem}.area-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:10px}.area-table th,.area-table td{padding:6px 8px;border:1px solid var(--border-color);text-align:left}.area-table th{background:var(--bg-header);color:var(--text-secondary);font-weight:500}.area-input{width:70px!important}.coeff-select{width:100%;font-size:11px;padding:2px;height:24px}.coeff-static{background:transparent;border:none;color:var(--text-secondary);text-align:center;width:100%!important}.floor-stepper{display:flex;align-items:center;gap:5px}.floor-stepper button{width:24px;height:24px;background:var(--btn-secondary);border:1px solid var(--border-color);color:#fff;cursor:pointer;border-radius:4px}.floor-stepper input{width:30px;text-align:center;background:transparent;border:none;color:var(--text-highlight);font-weight:700}.dynamic-floors-container{display:flex;flex-direction:column;background:#ffffff05}.floor-row{display:flex;align-items:center;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.05);gap:10px}.floor-row label{flex:1;font-size:11px;color:var(--text-secondary)}.coeff-label{width:40px;text-align:right;font-size:11px;color:var(--text-highlight)}.area-summary-panel{background:#0003;border:1px solid var(--border-color);border-radius:6px;padding:12px}.panel-inner-title{font-size:11px;font-weight:700;color:var(--text-highlight);margin-bottom:8px;border-bottom:1px solid rgba(255,107,53,.3);padding-bottom:4px}.calculation-log{font-family:Courier New,Courier,monospace;font-size:11px;color:var(--text-secondary);line-height:1.6;max-height:150px;overflow-y:auto;margin-bottom:10px}.area-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:2px solid var(--border-color);font-size:13px}.area-total-row strong{color:var(--text-highlight);font-size:16px}.panel-layout,.axis-config{display:flex;flex-direction:column;gap:12px;height:100%}.data-panel{border:1px solid var(--border-light);display:flex;flex-direction:column;position:relative;padding:8px}.data-panel .panel-title{position:absolute;top:-9px;left:12px;background:var(--bg-main);padding:0 6px;font-weight:500}.panel-toolbar{display:flex;align-items:center;gap:12px;margin-top:8px;margin-bottom:8px;padding-left:8px}.table-container{overflow-y:auto;border:1px solid var(--border-color);background:var(--bg-input);margin-bottom:8px}.data-grid{width:100%;border-collapse:collapse}.data-grid th,.data-grid td{border:1px solid var(--border-color);padding:6px;text-align:center}.data-grid th{background-color:var(--table-header);position:sticky;top:0;font-weight:500}.data-grid tbody tr:nth-child(2n){background-color:var(--table-row-alt)}.data-grid tbody tr:hover{background-color:var(--table-row-hover)}.data-grid td.text-right{text-align:right;padding-right:12px}.action-bar{display:flex;gap:8px;background:var(--bg-panel);padding:6px;border:1px solid var(--border-color)}.action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;font-size:12px}.action-btn:hover{background:var(--border-color)}.action-btn.delete .icon,.action-btn.clear .icon{color:var(--btn-danger)}.excel-table-container{background:#fff;color:#333;overflow-y:auto;flex:1;min-height:0;border:1px solid #CCC;position:relative}.excel-table{width:100%;border-collapse:collapse;font-size:13px;font-family:Arial,sans-serif}.excel-table th,.excel-table td{border:1px solid #D4D4D4;padding:6px 8px}.excel-table th{background-color:#28a745;color:#fff;font-weight:500;position:sticky;top:0;z-index:10;text-align:center}.excel-table tr.section-header td{background-color:#e2e2e2;font-weight:700;text-transform:uppercase;text-align:left!important}.excel-table tr.sub-section-header td{background-color:#a0a0a0;color:#fff;font-weight:700;text-transform:uppercase;text-align:left!important}.excel-table tr.formula-row td{color:#333;font-family:monospace;font-size:12px}.excel-table tr.selected td,.excel-table tr:hover td{background-color:#0078d71a}.excel-table tr.active td{background-color:#0078d7;color:#fff}.excel-table tr.selected-row td{background-color:#cce8ff;border-top:2px solid #0078D7;border-bottom:2px solid #0078D7}.editable-qty{cursor:text;background-color:#fffbe6;transition:all .2s}.editable-qty:hover{background-color:#fff1b8;box-shadow:inset 0 0 0 1px #faad14}.editable-qty:focus{outline:2px solid #0078D7;background-color:#fff}.table-footer-status{position:sticky;bottom:0;background:#f8f9fa;border-top:2px solid #D4D4D4;padding:8px 16px;display:flex;justify-content:flex-end;font-weight:700;font-size:14px;color:#d32f2f;z-index:10}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;align-items:center;justify-content:center}.modal-window{width:95vw;height:95vh;background:#364150;display:flex;flex-direction:column;padding:10px;box-sizing:border-box;font-family:Arial,sans-serif}.modal-tabs{display:flex;gap:0;margin-bottom:-1px;z-index:2}.modal-tab-btn{background:#f0f0f0;border:1px solid #CCC;border-bottom:1px solid #FFF;color:#333;padding:6px 15px;font-size:12px;cursor:pointer;font-weight:500}.modal-tab-btn.active{background:#fff;border-top:2px solid #FFF;border-left:2px solid #FFF;border-right:2px solid #FFF;border-bottom:2px solid #FFF;color:#000;margin-bottom:-2px}.modal-body{flex:1;display:flex;background:#364150;border:2px solid #FFF;padding:15px;position:relative;overflow:hidden}.tab-content-panel{display:none;width:100%;height:100%}.tab-content-panel.active{display:flex!important}.tab-left-pane{flex:1;display:flex;flex-direction:column;margin-right:15px;height:100%}.tab-right-pane{flex:1.5;display:flex;flex-direction:column;height:100%}.custom-fieldset{border:1px solid #8892A0;padding:10px;margin:0;position:relative;border-radius:0}.custom-fieldset legend{color:#fff;font-size:13px;padding:0 5px}.table-container{background:#fff;overflow-y:auto;border:1px solid #8892A0}.data-grid{width:100%;border-collapse:collapse;font-size:12px}.data-grid th,.data-grid td{border:1px solid #CCC;padding:4px 6px;color:#333}.data-grid th{background:#f5f5f5;font-weight:700;text-align:center;position:sticky;top:0}.data-grid tbody tr:nth-child(2n){background:#fafafa}.data-grid tbody tr:hover td{background:#e5f3ff}.data-grid tbody tr.active-row td{background:#0078d7!important;color:#fff}.action-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#fff;border:1px solid #CCC;color:#333;cursor:pointer;font-size:12px;min-width:80px;justify-content:center}.action-btn:hover{background:#e5f3ff}.action-bar-vertical{display:flex;flex-direction:column;gap:8px;margin-left:10px}.tab-bottom-actions{display:flex;align-items:flex-end;gap:10px;margin-top:15px}.global-footer{display:flex;justify-content:flex-end;margin-top:10px}.btn-exit{background:#fff;border:1px solid #CCC;padding:6px 20px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:#333}.btn-exit span.icon{color:red}.form-row{display:flex;align-items:center;margin-bottom:20px}.form-row label{width:150px;color:#fff;font-size:13px}.form-row input{flex:1;padding:6px;border:1px solid #CCC;font-size:13px}.tab3-layout{display:flex;width:100%;height:100%}.tab3-table{flex:1;display:flex;flex-direction:column}.tab3-sidebar{width:120px;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:20px;margin-left:10px}.green-table th{background:#28a745;color:#fff;font-weight:700}.green-table td{color:#333}.green-table tbody tr.active-row td{background:#0078d7!important;color:#fff}.espro-context-menu{position:absolute;background-color:#313244;border:1px solid #45475a;border-radius:4px;box-shadow:0 4px 12px #00000080;padding:6px 0;min-width:220px;z-index:9999;top:0;left:0;font-size:13px;color:#cdd6f4;display:none;font-family:Inter,Segoe UI,sans-serif}.espro-context-menu.active{display:block}.espro-context-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;transition:background-color .15s ease}.espro-context-menu-item:hover{background-color:#45475a;color:#89b4fa}.espro-context-menu-item .icon{margin-right:10px;width:16px;text-align:center}.espro-context-menu-separator{height:1px;background-color:#45475a;margin:4px 0}.espro-context-menu-item.danger:hover{background-color:#5a2c3a;color:#f38ba8}.data-grid tbody tr.context-menu-target{background-color:#45475a!important}
