@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-bg: #0f1115;--color-bg-elev: #151824;--color-card: #171a26;--color-border: #262b3a;--color-text: #e6e9f0;--color-text-muted: #a7afc0;--color-accent: #7c4dff;--color-accent-2: #00e5ff;--color-success: #2ee59d;--color-primary: #00c8ff;--color-secondary: #00ffaa;--color-danger: #ff6b6b;--color-warning: #ffa726;--color-bg-sidebar: #151824;--color-bg-panel: #0f1419;--color-bg-table: #0f1419;--color-bg-table-header: linear-gradient(135deg, rgba(15, 20, 25, .98) 0%, rgba(20, 30, 40, .95) 100%);--color-bg-table-row: rgba(255, 255, 255, .03);--color-bg-table-row-selected: rgba(0, 255, 170, .15);--radius-sm: 6px;--radius-md: 10px;--shadow-1: 0 6px 24px rgba(0, 0, 0, .24);--shadow-inset: inset 0 0 0 1px var(--color-border);--shadow-glow: 0 0 12px rgba(0, 200, 255, .3);--input-bg: #10131b;--input-border: #2a3145;--input-text: var(--color-text);--transition-fast: .15s ease;--transition-base: .22s ease}[data-theme=light]{--color-bg: #f5f7fa;--color-bg-elev: #ffffff;--color-card: #ffffff;--color-border: #e1e8ed;--color-text: #1a1f2e;--color-text-muted: #5a6c7d;--color-accent: #5e35b1;--color-accent-2: #00838f;--color-success: #00c853;--color-primary: #0277bd;--color-secondary: #00b248;--color-danger: #d32f2f;--color-warning: #f57c00;--color-bg-sidebar: #ffffff;--color-bg-panel: #ffffff;--color-bg-table: #ffffff;--color-bg-table-header: linear-gradient(135deg, rgba(255, 255, 255, .98) 0%, rgba(245, 247, 250, .95) 100%);--color-bg-table-row: rgba(0, 0, 0, .02);--color-bg-table-row-selected: rgba(0, 178, 72, .15);--shadow-1: 0 2px 8px rgba(0, 0, 0, .08);--shadow-glow: 0 0 8px rgba(2, 119, 189, .2);--input-bg: #ffffff;--input-border: #cbd5e0;--input-text: var(--color-text)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(1200px 800px at 80% -10%,rgba(124,77,255,.12),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(0,229,255,.1),transparent 50%),var(--color-bg);color:var(--color-text);transition:background var(--transition-base),color var(--transition-base)}.app{display:flex;height:100vh;width:100vw;overflow:hidden}.sidebar{width:clamp(250px,30vw,400px);padding:12px;border-right:1px solid var(--color-border);background:linear-gradient(180deg,#151824e6,#0f1115d9);backdrop-filter:blur(6px)}.floating-panel{position:fixed;top:20px;left:20px;width:320px;height:600px;min-width:250px;max-width:500px;min-height:400px;max-height:90vh;background:var(--color-bg-elev);border:2px solid var(--color-border);border-radius:12px;box-shadow:0 8px 32px #0000004d;z-index:1000;resize:both;overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition-normal);backdrop-filter:blur(8px)}.floating-panel:hover{border-color:var(--color-accent);box-shadow:0 8px 32px #7c4dff33}.floating-panel::-webkit-resizer{background:var(--color-accent);opacity:.6;border-radius:0 0 12px}.panel-header{background:var(--color-card);border-bottom:1px solid var(--color-border);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;cursor:move;user-select:none;border-radius:10px 10px 0 0;position:relative}.panel-header:hover{background:var(--color-bg-elev)}.panel-title{font-weight:600;font-size:14px;color:var(--color-text);display:flex;align-items:center;gap:8px}.panel-controls{display:flex;gap:4px}.control-btn{width:20px;height:20px;border-radius:50%;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:#fff;font-weight:700}.control-btn:hover{transform:scale(1.1);opacity:.8}.minimize-btn{background:orange}.maximize-btn{background:#0f0}.close-btn{background:#f44}.panel-body{flex:1;overflow-y:auto;padding:12px;background:linear-gradient(180deg,#151824e6,#0f1115d9);backdrop-filter:blur(6px)}.floating-panel.minimized{height:40px!important;resize:none}.floating-panel.minimized .panel-body{display:none}.floating-panel.maximized{top:10px!important;left:10px!important;width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;resize:none}.resize-indicator{position:absolute;bottom:0;right:0;width:12px;height:12px;background:var(--color-accent);opacity:0;transition:opacity var(--transition-fast);border-radius:0 0 10px}.floating-panel:hover .resize-indicator{opacity:.7}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shine{0%{box-shadow:0 0 30px #0fac,0 0 60px #00c86466}50%{box-shadow:0 0 50px #0fa,0 0 100px #00c86499,0 0 150px #00ffaa4d}to{box-shadow:0 0 30px #0fac,0 0 60px #00c86466}}@keyframes vibrate{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(-1px) translateY(-1px)}50%{transform:translate(1px) translateY(1px)}75%{transform:translate(-1px) translateY(1px)}}.floating-panel{animation:panelSlideIn .3s cubic-bezier(.25,.46,.45,.94)}.card{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-inset),var(--shadow-1);padding:12px}.section{margin-bottom:12px}.heading{margin:0 0 8px;font-weight:600;letter-spacing:.2px}.label{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:6px}.input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:#7a8296}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #7c4dff40}.row{display:flex;align-items:center;gap:8px}.btn{appearance:none;border:1px solid var(--color-border);background:linear-gradient(180deg,#141827,#10131d);color:var(--color-text);padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.btn:hover{transform:translateY(-1px);border-color:#3a4160;box-shadow:0 10px 24px #00000040}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.btn-primary{border-color:transparent;background:linear-gradient(180deg,#7c4dff,#5f33df)}.btn-primary:hover{box-shadow:0 10px 24px #7c4dff59}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.divider{height:1px;background:var(--color-border);margin:12px 0;border:0}.viewer{position:relative;flex:1;background:radial-gradient(1000px 700px at 20% 0%,rgba(124,77,255,.12),transparent 60%),radial-gradient(800px 600px at 120% 100%,rgba(0,229,255,.1),transparent 50%),var(--color-bg);transition:margin-right .15s ease,margin-left .15s ease}.viewer>div{position:absolute;inset:0}.toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:#121623;border:1px solid var(--color-border)}.toggle input{accent-color:var(--color-accent)}.small{font-size:12px;color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:flex-end;z-index:1000;animation:fadeIn .2s ease-in}.parameters-modal{width:550px;max-width:90vw;height:100vh;background:var(--color-bg-elev);box-shadow:-4px 0 24px #0006;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.25,.46,.45,.94)}.modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-card)}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.close-btn{background:none;border:none;color:var(--color-text-muted);font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:color var(--transition-fast);border-radius:var(--radius-sm)}.close-btn:hover{color:var(--color-text);background:#ffffff0d}.modal-toolbar{padding:12px 20px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.modal-toolbar .btn-sm{font-size:12px;padding:6px 12px}.modal-body{flex:1;overflow-y:auto;padding:16px 20px}.preview-drawer{position:fixed;top:0;right:0;width:380px;min-width:250px;max-width:600px;min-height:300px;max-height:80vh;height:100vh;background:var(--color-bg-elev);border-left:2px solid var(--color-accent);box-shadow:-4px 0 24px #0000004d;z-index:1001;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.25,.46,.45,.94);transform:translate(0);resize:both;overflow:auto}.preview-drawer::-webkit-resizer{background:var(--color-accent);opacity:.7;border-radius:0 0 12px}.preview-drawer:hover{border-left-color:var(--color-accent);box-shadow:-4px 0 24px #7c4dff33}.preview-drawer::-webkit-resizer{background:var(--color-accent);opacity:.6}.preview-drawer.closing{animation:slideOutRight .3s cubic-bezier(.25,.46,.45,.94) forwards}.modern-scroll{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.4) rgba(15,20,25,.3)}.modern-scroll::-webkit-scrollbar{width:8px}.modern-scroll::-webkit-scrollbar-track{background:#0f14194d;border-radius:10px;margin:4px 0}.modern-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00c8ff99,#00ffaa80);border-radius:10px;border:1px solid rgba(0,200,255,.2);box-shadow:0 0 8px #00c8ff4d;transition:all .2s ease}.modern-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00c8ffcc,#00ffaab3);box-shadow:0 0 12px #00c8ff80;border-color:#00c8ff66}.modern-scroll::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#00c8ff,#00ffaae6);box-shadow:0 0 16px #00c8ffb3}.preview-drawer-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-card);position:relative}.preview-drawer-header:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:40px;background:linear-gradient(to bottom,transparent 0%,var(--color-accent) 20%,var(--color-accent) 80%,transparent 100%);opacity:.3;cursor:col-resize;border-radius:0 2px 2px 0}.preview-drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.preview-drawer-footer{padding:12px 20px;border-top:1px solid var(--color-border);background:var(--color-card);text-align:center;font-size:11px;color:var(--color-text-muted)}.selected-param-item{padding:8px 12px;margin-bottom:6px;background:var(--color-bg);border-radius:var(--radius-sm);font-size:12px;border:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:8px;transition:all var(--transition-fast)}.selected-param-item:hover{border-color:var(--color-accent);background:#7c4dff0d}.selected-param-info{flex:1;min-width:0}.selected-param-name{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-param-category{font-size:10px;color:var(--color-text-muted);margin-top:2px}.remove-param-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;padding:4px;line-height:1;border-radius:3px;transition:all var(--transition-fast);flex-shrink:0}.remove-param-btn:hover{color:#ff4d4f;background:#ff4d4f1a}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-muted);font-size:12px}.empty-state-icon{font-size:32px;margin-bottom:12px;opacity:.5}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}.preview-drawer .resize-indicator{position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:4px;height:60px;background:var(--color-accent);border-radius:0 3px 3px 0;opacity:0;transition:opacity .2s ease;cursor:col-resize}.preview-drawer:hover .resize-indicator{opacity:.7}.preview-drawer .resize-indicator:hover{opacity:1;background:var(--color-accent)}.preview-drawer{cursor:default}.preview-drawer:active{user-select:none}.modal-footer{padding:12px 20px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-card);gap:12px}.modal-footer .btn{flex-shrink:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.templates-panel{background:var(--color-card);border-radius:var(--radius-md);padding:16px;margin-top:16px;border:1px solid var(--color-border)}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.templates-header h3{margin:0;font-size:14px;font-weight:600}.templates-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:12px}.template-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:border-color var(--transition-fast)}.template-item:hover{border-color:var(--color-accent)}.template-info{flex:1;min-width:0}.template-info strong{display:block;font-size:13px;margin-bottom:4px;color:var(--color-text)}.template-info .small{display:block;font-size:11px;color:var(--color-text-muted);margin-top:2px}.template-actions{display:flex;gap:6px;flex-shrink:0}.create-form{display:flex;flex-direction:column;gap:8px}.create-form input,.create-form textarea{width:100%;padding:8px 12px;font-size:13px;border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font-family:inherit}.create-form textarea{resize:vertical;min-height:60px}.form-actions{display:flex;gap:8px;justify-content:flex-end}.btn-icon{background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-icon:hover{color:var(--color-text);background:#ffffff0d}.btn-danger{background:#ff4d4f26;color:#ff4d4f;border-color:#ff4d4f4d}.btn-danger:hover{background:#ff4d4f40;border-color:#ff4d4f80}.floating-export-panel{position:fixed;z-index:1002;background:var(--color-bg-elev);border:2px solid var(--color-accent);border-radius:12px;box-shadow:0 12px 40px #0006;resize:none;overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition-normal);backdrop-filter:blur(8px)}.floating-export-panel::-webkit-resizer{display:none}.export-panel-header{background:var(--color-card);border-bottom:1px solid var(--color-border);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;cursor:move;user-select:none;border-radius:10px 10px 0 0;position:relative}.export-panel-title{font-weight:600;color:var(--color-text);font-size:14px;flex:1}.export-panel-controls{display:flex;gap:4px}.export-control-btn{width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all var(--transition-fast);color:#fff}.export-minimize-btn{background:orange}.export-minimize-btn:hover{background:#ff8c00;transform:scale(1.1)}.export-maximize-btn{background:#0f0}.export-maximize-btn:hover{background:#0c0;transform:scale(1.1)}.export-close-btn{background:#f44}.export-close-btn:hover{background:#c33;transform:scale(1.1)}.export-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.5) rgba(0,0,0,.1)}.export-panel-body::-webkit-scrollbar{width:8px;height:8px}.export-panel-body::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.export-panel-body::-webkit-scrollbar-thumb{background:#00c8ff80;border-radius:4px;transition:background .3s ease}.export-panel-body::-webkit-scrollbar-thumb:hover{background:#00c8ffcc}.export-resize-indicator{position:absolute;bottom:4px;right:4px;width:12px;height:12px;background:var(--color-accent);opacity:.3;border-radius:50%;pointer-events:none}.floating-export-panel.minimized .export-panel-body{display:none}.floating-export-panel.maximized{border-radius:8px}.floating-export-panel:hover{border-color:var(--color-accent);box-shadow:0 16px 48px #7c4dff4d}.quantity-tables-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center}.quantity-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(4px)}.quantity-modal-content{position:relative;background:var(--color-card);border-radius:12px;max-width:95vw;max-height:95vh;width:900px;box-shadow:0 20px 60px #0006;border:1px solid var(--color-border);overflow:hidden}.quantity-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border);background:var(--color-bg-elev)}.quantity-modal-header h3{margin:0;color:var(--color-text);font-size:18px;font-weight:600}.quantity-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-muted);padding:4px;border-radius:4px;transition:all var(--transition-fast)}.quantity-close-btn:hover{color:var(--color-text);background:var(--color-border)}.quantity-modal-body{padding:24px;max-height:calc(95vh - 120px);overflow-y:auto}.table-config-section{margin-bottom:24px;padding:20px;background:var(--color-bg-elev);border-radius:8px;border:1px solid var(--color-border)}.table-config-section h4{margin:0 0 16px;color:var(--color-text);font-size:16px;font-weight:600}.config-row{display:flex;align-items:center;margin-bottom:12px}.config-row label{width:140px;font-weight:500;color:var(--color-text);font-size:14px}.config-select{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--input-bg);color:var(--input-text);font-size:14px;transition:all var(--transition-fast)}.config-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #7c4dff33}.config-options{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;color:var(--color-text);font-size:14px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent)}.table-preview-section{margin-bottom:24px}.table-preview-section h4{margin:0 0 16px;color:var(--color-text);font-size:16px;font-weight:600}.table-preview{background:var(--color-bg-elev);border-radius:8px;border:1px solid var(--color-border);overflow:hidden}.quantity-table{width:100%;border-collapse:collapse;font-size:14px}.quantity-table th,.quantity-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.quantity-table th{background:var(--color-bg);font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border)}.quantity-table td{color:var(--color-text-muted)}.quantity-table .group-name{font-weight:500;color:var(--color-text)}.quantity-table .group-count{text-align:center;font-weight:600;color:var(--color-accent)}.quantity-table .group-area,.quantity-table .group-volume{text-align:right;font-family:Courier New,monospace}.total-row{background:var(--color-bg);border-top:2px solid var(--color-border)}.total-row td{font-weight:600;color:var(--color-text)}.details-btn{background:var(--color-accent);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.details-btn:hover{background:var(--color-accent-2);color:var(--color-bg)}.no-config-message{text-align:center;padding:40px;color:var(--color-text-muted);font-style:italic}.table-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-generate,.btn-export-csv,.btn-export-excel{padding:12px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all var(--transition-fast);min-width:140px}.btn-generate{background:var(--color-accent);color:#fff}.btn-generate:hover:not(:disabled){background:var(--color-accent-2);color:var(--color-bg)}.btn-export-csv{background:#4caf50;color:#fff}.btn-export-csv:hover:not(:disabled){background:#45a049}.btn-export-excel{background:#ff9800;color:#fff}.btn-export-excel:hover:not(:disabled){background:#e68900}.btn-generate:disabled,.btn-export-csv:disabled,.btn-export-excel:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.element-details-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;align-items:center;justify-content:center}.element-details-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009}.element-details-content{position:relative;background:var(--color-card);border-radius:8px;max-width:80vw;max-height:80vh;width:600px;box-shadow:0 20px 60px #0006;border:1px solid var(--color-border);overflow:hidden}.element-details-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-elev)}.element-details-header h4{margin:0;color:var(--color-text);font-size:16px;font-weight:600}.element-details-body{padding:20px;max-height:calc(80vh - 120px);overflow-y:auto}.element-details-body p{margin:0 0 16px;color:var(--color-text);font-weight:500}.elements-list{display:flex;flex-direction:column;gap:12px}.element-item{padding:12px;background:var(--color-bg-elev);border-radius:6px;border:1px solid var(--color-border)}.element-item strong{color:var(--color-text);font-size:14px;display:block;margin-bottom:8px}.element-props{display:flex;flex-wrap:wrap;gap:8px}.element-prop{background:var(--color-bg);padding:4px 8px;border-radius:4px;font-size:12px;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-quantity-tables{background:#4caf50!important;color:#fff!important;border:none!important;transition:all var(--transition-fast)!important}.btn-quantity-tables:hover:not(:disabled){background:#45a049!important;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-quantity-tables:disabled{background:var(--color-border)!important;color:var(--color-text-muted)!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important;box-shadow:none!important}.quantity-modal-content.matrix-modal{width:1600px;max-width:98vw}.matrix-config-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;background:var(--color-bg-elev);padding:20px;border-radius:8px;border:1px solid var(--color-border);margin-bottom:24px}.config-section{background:var(--color-card);padding:15px;border-radius:6px;border:1px solid var(--color-border)}.config-section h4{margin:0 0 15px;color:var(--color-text);font-size:1rem;font-weight:600;border-bottom:2px solid var(--color-accent);padding-bottom:8px}.config-section h5{margin:0 0 10px;color:var(--color-text-muted);font-size:.9rem;font-weight:500}.columns-selector{max-height:200px;overflow-y:auto}.columns-list{display:flex;flex-direction:column;gap:8px}.column-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color var(--transition-fast)}.column-checkbox:hover{background:var(--color-bg-elev)}.column-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-accent)}.view-mode-selector{display:flex;gap:8px}.view-mode-btn{padding:8px 12px;border:1px solid var(--color-border);background:var(--color-card);border-radius:4px;font-size:12px;cursor:pointer;transition:all var(--transition-fast);flex:1;color:var(--color-text)}.view-mode-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.view-mode-btn:hover:not(:disabled){background:var(--color-bg-elev)}.view-mode-btn.active:hover{background:var(--color-accent);opacity:.9}.view-mode-btn:disabled{opacity:.5;cursor:not-allowed}.matrix-preview-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.matrix-header{background:var(--color-bg-elev);padding:15px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.matrix-header h4{margin:0;color:var(--color-text);font-size:1.1rem;font-weight:600}.matrix-stats{display:flex;gap:20px;font-size:13px;color:var(--color-text-muted)}.matrix-table-container{flex:1;overflow:auto;max-height:500px}.matrix-table{width:100%;border-collapse:collapse;font-size:13px;min-width:800px}.matrix-header-cell{background:var(--color-bg);padding:10px 8px;text-align:left;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10;white-space:nowrap}.matrix-row{border-bottom:1px solid var(--color-border)}.matrix-row:hover{background:var(--color-bg-elev)}.matrix-cell{padding:8px;border-right:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.element-id{font-family:Courier New,monospace;font-size:12px;color:var(--color-accent);font-weight:500}.cell-value{font-size:12px}.more-rows{background:var(--color-bg-elev)}.more-rows-cell{text-align:center;font-style:italic;color:var(--color-text-muted);padding:15px}.totals-row{background:var(--color-bg-elev)!important;font-weight:600;border-top:2px solid var(--color-border)}.totals-cell{padding:10px 8px;color:var(--color-text);border-right:1px solid var(--color-border)}.no-data-message{padding:40px 20px;text-align:center;color:var(--color-text-muted);font-style:italic}.matrix-actions{display:flex;gap:15px;justify-content:center;padding-top:20px;border-top:1px solid var(--color-border)}.btn-refresh,.btn-export-csv,.btn-export-excel{padding:12px 24px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-size:14px}.btn-refresh{background:var(--color-success);color:#fff}.btn-refresh:hover:not(:disabled){background:#26d085}.btn-export-csv{background:var(--color-accent-2);color:var(--color-bg)}.btn-export-csv:hover:not(:disabled){background:#00b8d4}.btn-export-excel{background:var(--color-accent);color:#fff}.btn-export-excel:hover:not(:disabled){background:#6a3ce8}.btn-refresh:disabled,.btn-export-csv:disabled,.btn-export-excel:disabled{background:var(--color-text-muted);cursor:not-allowed;opacity:.6}.search-container{position:relative}.search-input{transition:all var(--transition-fast);border:1px solid var(--color-border)!important;background:var(--color-background);color:var(--color-text)}.search-input:focus{outline:none;border-color:var(--color-accent)!important;box-shadow:0 0 0 2px #4caf5033}.grouped-properties{max-height:400px;overflow-y:auto;border:2px solid #1a252f;border-radius:8px;padding:15px;background:linear-gradient(135deg,#fff,#f8f9fa);box-shadow:0 4px 12px #1a252f26}.property-group{margin-bottom:15px;border-radius:6px;overflow:hidden;box-shadow:0 2px 6px #2c3e501a}.group-header{transition:all var(--transition-fast);user-select:none;background-color:#1a252f!important;color:#e8f4f8!important;border-color:#2c3e50!important;font-weight:600!important;font-size:13px!important;text-shadow:0 1px 2px rgba(0,0,0,.4);padding:6px 10px!important}.group-header:hover{background-color:#2c3e50!important;border-color:var(--color-accent)!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.group-items{animation:slideDown .2s ease-out;border-left:3px solid #1a252f;padding-left:15px;background-color:#1a252f0d;border-radius:0 4px 4px 0;margin-left:5px}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.column-checkbox{transition:all var(--transition-fast);padding:6px 12px;border-radius:4px;cursor:pointer;background-color:#fffc;border:1px solid rgba(26,37,47,.2);margin-bottom:3px;font-weight:500}.column-checkbox:hover{background-color:#1a252f1a;border-color:#1a252f;transform:translate(2px)}.column-checkbox input[type=checkbox]{accent-color:#1a252f;margin-right:10px;transform:scale(1.1)}.column-checkbox span{color:#1a252f;font-weight:500}.quick-actions{border-top:1px solid var(--color-border);padding-top:10px}.btn-quick-action{transition:all var(--transition-fast);font-weight:500}.btn-quick-action:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.hierarchical-matrix{border:2px solid #1a252f;border-radius:8px;overflow:hidden;background-color:#fff}.hierarchical-header{padding:12px;background-color:#1a252f1a;border-bottom:2px solid #1a252f;border-radius:4px 4px 0 0}.hierarchical-content{max-height:400px;overflow-y:auto;padding:8px;background-color:#f8f9fa}.hierarchical-group{display:flex;align-items:center;padding:6px 12px;background-color:#1a252f0d;border:1px solid rgba(26,37,47,.2);border-radius:4px;margin-bottom:2px;cursor:pointer;transition:all .2s ease}.hierarchical-group:hover{background-color:#1a252f1a;border-color:#1a252f}.hierarchical-group.level-1{background-color:#1a252f14}.hierarchical-group.level-2{background-color:#1a252f1f}.hierarchical-group.level-3{background-color:#1a252f29}.hierarchical-element{display:flex;align-items:center;padding:4px 8px;background-color:#fffc;border:1px solid rgba(26,37,47,.1);border-radius:3px;margin-bottom:1px;font-size:12px;transition:all .2s ease}.hierarchical-element:hover{background-color:#1a252f0d;border-color:#1a252f}.grouping-levels{margin-bottom:12px}.grouping-level{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 12px;background-color:#1a252f1a;border-radius:4px;border:1px solid rgba(26,37,47,.2);transition:all .2s ease}.grouping-level:hover{background-color:#1a252f26;border-color:#1a252f}.pivot-table-view{border:2px solid #4CAF50;border-radius:8px;overflow:hidden;background-color:#fff}.pivot-header{padding:12px;background-color:#4caf501a;border-bottom:2px solid #4CAF50;border-radius:4px 4px 0 0}.pivot-content{max-height:400px;overflow-y:auto;background-color:#fff}.pivot-table{width:100%;border-collapse:collapse;font-size:12px}.pivot-table th{padding:8px 12px;border:1px solid #ddd;text-align:left;font-weight:600;color:#1a252f;background-color:#f5f5f5}.pivot-table td{padding:6px 12px;border:1px solid #ddd;color:#1a252f}.pivot-table tbody tr:nth-child(2n){background-color:#f9f9f9}.pivot-table tbody tr:hover{background-color:#4caf500d}.pivot-table tfoot tr{background-color:#e8f5e8;font-weight:600}.pivot-table tfoot td{padding:8px 12px;border:1px solid #4CAF50;color:#2e7d32}.pivot-values-config{margin-bottom:12px}.pivot-value-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;background-color:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:4px;transition:all .2s ease}.pivot-value-item:hover{background-color:#4caf5026;border-color:#4caf50}.pivot-columns-config{margin-bottom:12px}.pivot-column-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;background-color:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:4px;transition:all .2s ease}.pivot-column-item:hover{background-color:#2196f326;border-color:#2196f3}.btn-quick-action:active{transform:translateY(0)}.config-panel-scroll::-webkit-scrollbar{width:8px}.config-panel-scroll::-webkit-scrollbar-track{background:#00c8ff1a;border-radius:10px}.config-panel-scroll::-webkit-scrollbar-thumb{background:#00c8ff4d;border-radius:10px;transition:background .3s ease}.config-panel-scroll::-webkit-scrollbar-thumb:hover{background:#00c8ff80}div[style*="position: relative"]:hover .tooltip{opacity:1!important}div[style*="position: relative"]:hover .tooltip:after{content:"";position:absolute;top:100%;right:12px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,255,170,.3)}.dynamic-tables-button:hover:not(:disabled){transform:scale(1.08) translateY(-2px)!important;background:linear-gradient(135deg,#00ffc8,#00dcff,#a03cfff2)!important;box-shadow:0 12px 48px #00ffaa80,0 0 0 2px #00ffaa4d inset,0 4px 16px #00c8ff66,0 0 0 1px #ffffff1a inset!important;animation:buttonPulse 2s ease-in-out infinite,buttonShine 3s ease-in-out infinite!important}.dynamic-tables-button:active:not(:disabled){transform:scale(1.02) translateY(0)!important;box-shadow:0 6px 24px #0fa6,0 0 0 1px #0fa3 inset,0 2px 8px #00c8ff4d!important}.dynamic-tables-button:disabled{transform:scale(1)!important;cursor:not-allowed!important}@keyframes buttonPulse{0%,to{box-shadow:0 8px 32px #0fa6,0 0 0 1px #0fa3 inset,0 2px 8px #00c8ff4d}50%{box-shadow:0 12px 40px #0fa9,0 0 0 1px #00ffaa4d inset,0 4px 12px #00c8ff66}}@keyframes buttonShine{0%,to{opacity:.6}50%{opacity:1}}@keyframes buttonShineRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-chat-button:hover:not(:disabled){transform:translateY(-2px)!important;background:linear-gradient(135deg,#a03cff,#0096ff,#00dcff)!important;box-shadow:0 12px 48px #8a2be280,0 0 0 2px #8a2be24d inset,0 4px 16px #007bff66,0 0 0 1px #ffffff1a inset!important;animation:aiButtonPulse 2s ease-in-out infinite,aiButtonShine 3s ease-in-out infinite!important}.ai-chat-button:active:not(:disabled){transform:translateY(0)!important;box-shadow:0 6px 24px #8a2be266,0 0 0 1px #8a2be233 inset,0 2px 8px #007bff4d!important}@keyframes aiButtonPulse{0%,to{box-shadow:0 8px 32px #8a2be266,0 0 0 1px #8a2be233 inset,0 2px 8px #007bff4d}50%{box-shadow:0 12px 40px #8a2be299,0 0 0 1px #8a2be24d inset,0 4px 12px #007bff66}}@keyframes aiButtonShine{0%,to{opacity:.6}50%{opacity:1}}@keyframes aiButtonShineRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-header::-webkit-scrollbar,.table-content::-webkit-scrollbar{height:12px}.table-header::-webkit-scrollbar-track,.table-content::-webkit-scrollbar-track{background:#00c8ff14;border-radius:10px}.table-header::-webkit-scrollbar-thumb,.table-content::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#00c8ff66,#0fa6);border-radius:10px;transition:all .3s ease;border:2px solid rgba(15,20,25,.5)}.table-header::-webkit-scrollbar-thumb:hover,.table-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#00c8ff99,#0fa9);box-shadow:0 0 10px #00c8ff66}.table-header,.table-content{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.4) rgba(0,200,255,.08)}.chart-legend-container::-webkit-scrollbar{width:6px}.chart-legend-container::-webkit-scrollbar-track{background:#0003;border-radius:3px}.chart-legend-container::-webkit-scrollbar-thumb{background:#00c8ff80;border-radius:3px;transition:all .2s ease}.chart-legend-container::-webkit-scrollbar-thumb:hover{background:#00c8ffb3}.chart-legend-container{scrollbar-width:thin;scrollbar-color:rgba(0,200,255,.5) rgba(0,0,0,.2)}
