@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#0ea5e9;--color-primary-hover:#0284c7;--color-primary-light:#e0f2fe;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-border-light:#e5e7eb;--color-border:#d1d5db;--color-border-dark:#9ca3af;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica","Arial",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Courier New",monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--transition-fast:150ms;--transition-base:200ms;--transition-slow:300ms}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{height:100vh;overflow:hidden}body{background-color:#f9fafb;background-color:var(--color-bg-secondary);color:#111827;color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-sans);font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:1rem;margin-bottom:var(--spacing-md)}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#0ea5e9;color:var(--color-primary);text-decoration:none;transition:color .2s;transition:color var(--transition-base)}a:hover{color:#0284c7;color:var(--color-primary-hover)}.container{margin:0 auto;max-width:1280px;padding:0 1.5rem;padding:0 var(--spacing-lg);width:100%}.card{background:#fff;background:var(--color-bg-primary);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--spacing-lg);transition:box-shadow .2s;transition:box-shadow var(--transition-base)}.card:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.btn{align-items:center;border:1px solid #0000;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);text-align:center;transition:all .2s;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#0ea5e9;background-color:var(--color-primary);border-color:#0ea5e9;border-color:var(--color-primary);color:#fff;color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:#0284c7;background-color:var(--color-primary-hover);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:#fff;background-color:var(--color-bg-primary);border-color:#d1d5db;border-color:var(--color-border);color:#111827;color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6;background-color:var(--color-bg-tertiary)}.btn-outline{background-color:initial;border-color:#0ea5e9;border-color:var(--color-primary);color:#0ea5e9;color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:#e0f2fe;background-color:var(--color-primary-light)}.spinner{animation:spin .75s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;display:inline-block;height:1rem;width:1rem}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f9fafb;background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--color-border);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--color-border-dark)}.fade-in{animation:fadeIn .2s ease-out;animation:fadeIn var(--transition-base) ease-out}:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:#e0f2fe;background-color:var(--color-primary-light);color:#111827;color:var(--color-text-primary)}@media print{body{background:#fff}.no-print{display:none!important}}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{flex-shrink:0}.app-body{display:flex;flex:1 1;overflow:hidden}.app-header{background:#fff;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:18px;padding:20px 24px;z-index:10}.header-content{align-items:center;display:flex;gap:16px}.boq-mode .header-content,.header-content{justify-content:flex-start}.app-logo{animation:fadeIn .5s ease-in;display:block;height:56px;object-fit:contain;width:auto}.header-text{display:flex;flex-direction:column;justify-content:center;text-align:left}.app-header h1{color:#667eea;font-size:24px;font-weight:700;line-height:1.2;margin:0 0 4px}.app-header p{color:#7f8c8d;font-size:13px;line-height:1.2;margin:0}@media (max-width:768px){.header-content{flex-direction:column;padding-left:0;text-align:left}.header-text{text-align:left}.app-logo{height:48px}.app-header h1{font-size:20px}.app-header p{font-size:12px}}.app-tabs{display:flex;gap:12px}.app-tab{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.app-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 10px 25px #667eea4d;color:#fff}.app-main{background:#f5f7fa;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:40px 40px 20px}.boq-tab-wrapper{background:#f5f7fa;flex:1 1;min-height:calc(100vh - 120px)}.error-banner{background:#fee;border:2px solid #c33;border-radius:12px;box-shadow:0 4px 20px #cc333326;color:#c33;font-size:20px;font-weight:500;line-height:1.6;margin-bottom:20px;padding:30px 40px;text-align:center}@media (max-width:1024px){.app-body{flex-direction:column}}@media (max-width:768px){.app-main,.boq-tab-wrapper{padding:20px}.app-tabs{flex-wrap:wrap;justify-content:center}.app-header h1{font-size:24px}.app-main{padding:20px 10px}.step-indicator{flex-direction:column;gap:10px}}.progress-loader-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.progress-loader-container{animation:slideUp .4s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px;min-width:400px;padding:40px;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.loader-spinner-container{height:80px;margin:0 auto 30px;position:relative;width:80px}.loader-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:80px;width:80px}.loader-pulse{animation:pulse 2s ease-out infinite;border:4px solid #667eea;border-radius:50%;height:80px;left:0;opacity:0;position:absolute;top:0;width:80px}@keyframes pulse{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.loader-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 25px}.loader-progress-section{margin-bottom:25px}.loader-progress-bar{background:#e0e0e0;height:8px;margin-bottom:10px;width:100%}.loader-progress-bar,.loader-progress-fill{border-radius:10px;overflow:hidden;position:relative}.loader-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s ease-out}.loader-progress-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6 50%,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.loader-progress-text{color:#7f8c8d;font-size:14px;font-weight:600}.loader-message{align-items:center;animation:messageSlide .5s ease-out;background:#f8f9fa;border-radius:10px;color:#2c3e50;display:flex;font-size:15px;gap:10px;justify-content:center;margin-bottom:20px;padding:15px 20px}@keyframes messageSlide{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.loader-message-icon{animation:rotate 2s linear infinite;font-size:20px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-timer-section{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:20px}.loader-timer{align-items:center;background:#667eea;border-radius:25px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;font-size:16px;font-weight:600;gap:8px;padding:10px 20px}.timer-icon{animation:tick 1s ease-in-out infinite;font-size:18px}@keyframes tick{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.timer-value{font-family:Courier New,monospace;letter-spacing:1px}.loader-estimated-time{color:#95a5a6;font-size:12px;font-weight:500}.loader-tip{align-items:center;background:#fff9e6;border-left:4px solid #f39c12;border-radius:8px;color:#7f8c8d;display:flex;font-size:13px;font-style:italic;gap:8px;justify-content:center;padding:15px}.tip-icon{font-size:16px}@media (max-width:600px){.progress-loader-container{min-width:90%;padding:30px 20px}.loader-title{font-size:20px}.loader-timer-section{flex-direction:column;gap:10px}}.image-viewer-container{background:#f5f5f5;height:100%;overflow:hidden;position:relative;width:100%}.zoom-controls{background:#fffffff2;border-radius:8px;box-shadow:0 2px 8px #00000026;flex-direction:column;gap:8px;padding:8px;position:absolute;right:20px;top:20px;z-index:100}.zoom-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:20px;font-weight:600;height:36px;justify-content:center;transition:all .2s;width:36px}.zoom-btn:hover{background:#f0f0f0;border-color:#667eea;color:#667eea;transform:scale(1.05)}.zoom-btn:active{transform:scale(.95)}.zoom-btn.fit-btn{font-size:16px}.zoom-level-indicator{border-top:1px solid #eee;color:#666;font-size:11px;font-weight:500;margin-top:4px;padding:4px 0;text-align:center}.layout-region-manager{height:100%;position:relative;width:100%}.region-overlay{pointer-events:none;position:absolute;z-index:10}.region-overlay.selected{z-index:15}.region-border{border:3px solid;border-radius:4px;cursor:pointer;position:absolute;transition:all .2s ease-out}.region-border.editing{cursor:move;transition:none}.region-border.drawing-mode{cursor:crosshair;pointer-events:none}.region-label{border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:12px;font-weight:600;left:0;padding:4px 10px;position:absolute;top:-28px;white-space:nowrap}.resize-handle{background:inherit;border:2px solid #fff;border-radius:2px;pointer-events:auto;position:absolute;z-index:20}.resize-handle.corner,.resize-handle.edge{height:12px;width:12px}.classification-panel{margin-top:8px}.classification-status{background:#f0f9ff;border-radius:4px;font-size:12px;margin-top:8px;padding:8px}.classification-status-header{color:#2c3e50;font-weight:600;margin-bottom:6px}.classification-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.classification-tag{align-items:center;background:#e0e7ff;border:1px solid #667eea;border-radius:12px;color:#667eea;display:inline-flex;font-size:10px;font-weight:500;gap:4px;padding:3px 8px}.classification-tag.primary{background:#667eea;border:none;color:#fff;font-weight:600}.confidence-badge{margin-left:4px;opacity:.8}.classification-types-text{color:#666;font-size:11px;margin-bottom:4px}.classification-fallback{color:#666}.classification-actions{display:flex;gap:8px;margin-top:12px}.classify-button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s}.classify-button:hover:not(.disabled){background:#5568d3}.classify-button.disabled{background:#ccc;cursor:not-allowed}.extraction-panel,.extractor-selector{margin-top:12px}.extractor-label{color:#2c3e50;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.extractor-dropdown-container{position:relative}.extractor-dropdown-display{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#2c3e50;cursor:pointer;display:flex;font-size:12px;min-height:36px;padding:6px 30px 6px 8px;position:relative;width:100%}.extractor-dropdown-text{color:#2c3e50;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extractor-dropdown-text:not(.has-selection){color:#999}.extractor-dropdown-arrow{color:#666;font-size:10px;position:absolute;right:8px}.extractor-dropdown-options{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;left:0;margin-top:2px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10001}.extractor-dropdown-option{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;color:#2c3e50;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:background .2s}.extractor-dropdown-option:hover{background:#f5f5f5}.extractor-dropdown-option.selected{background:#e0e7ff;color:#667eea}.extractor-dropdown-option.selected:hover{background:#d0d7ff}.extractor-option-check{text-align:center;width:16px}.extractor-hint{color:#666;font-size:10px;margin-top:4px}.extraction-actions{display:flex;gap:8px;margin-top:8px}.extract-button{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s}.extract-button:hover:not(.disabled){background:#059669}.extract-button.disabled{background:#9ca3af!important;color:#fff!important;cursor:not-allowed;opacity:.7}.extraction-status{margin-top:8px}.extraction-status-badge{background:#f0fdf4;border-radius:4px;color:#166534;font-size:12px;font-weight:600;margin-bottom:8px;padding:8px}.view-data-button{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s;width:100%}.view-data-button:hover{background:#2563eb}.stop-button{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s;white-space:nowrap}.stop-button:hover{background:#dc2626}.table-header-cell{background-color:inherit;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.table-header-cell:hover{background-color:#0000000d}.table-header-cell.sorted{background-color:#3b82f61a}.table-header-content{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.table-header-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-header-controls{align-items:center;display:flex;flex-shrink:0;gap:4px}.sort-indicator{border-radius:3px;color:#999;cursor:pointer;display:inline-block;font-size:10px;line-height:1;padding:2px 4px;transition:all .2s}.sort-indicator:hover{background-color:#0000001a;color:#666}.sort-indicator.sort-asc,.sort-indicator.sort-desc{color:#3b82f6;font-weight:700}.filter-button{border-radius:3px;cursor:pointer;display:inline-block;font-size:12px;line-height:1;opacity:.6;padding:2px 4px;transition:all .2s}.filter-button:hover{background-color:#0000001a;opacity:1}.filter-button.active{background-color:#3b82f633;color:#3b82f6;opacity:1}.filter-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;gap:8px;left:0;margin-top:2px;padding:8px;position:absolute;right:0;top:100%;z-index:1000}.filter-input{border:1px solid #ddd;border-radius:3px;font-size:13px;outline:none;padding:6px 8px;width:100%}.filter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.filter-select{border:1px solid #ddd;border-radius:3px;cursor:pointer;font-size:13px;outline:none;padding:6px 8px;width:100%}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.filter-clear-button{background:#f3f4f6;border:1px solid #ddd;border-radius:3px;color:#666;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s}.filter-clear-button:hover{background:#e5e7eb;color:#333}.calculation-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.calculation-content{flex:1 1;max-width:100%;min-height:0;overflow:auto;padding:12px 24px 36px}.calculation-empty{color:#999;padding:80px 20px;text-align:center}.calculation-empty-title{font-size:18px;margin-bottom:12px}.calculation-empty-subtitle{font-size:14px}.calculation-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:16px;overflow-x:visible}.calculation-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s;white-space:nowrap}.calculation-tab:hover{background:#f5f5f5}.calculation-tab.active{background:#3b82f6;border-bottom-color:#3b82f6;color:#fff}.calculation-table-container{margin-top:16px}.calculation-toolbar{alignItems:center;display:flex;gap:8px;margin-bottom:16px}.add-column-button{background:#10b981;border:1px solid #10b981;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.add-column-button:hover{background:#059669}.calculation-table-wrapper{border:1px solid #e0e7ff;border-radius:4px;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto}.calculation-table{border-collapse:collapse;font-size:13px;min-width:100%;width:100%}.calculation-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.calculation-table thead tr{background:#dbeafe}.calculation-header{border:1px solid #93c5fd;font-size:13px;font-weight:600;padding:10px 12px;position:relative;text-align:left;white-space:nowrap}.delete-column-button{background:#f44336;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:10px;padding:2px 6px;position:absolute;right:4px;top:4px;transition:all .2s}.delete-column-button:hover{background:#d32f2f}.calculation-table tbody tr.even-row{background:#fff}.calculation-table tbody tr.odd-row{background:#f9fafb}.calculation-cell{background:#0000;border:1px solid #e0e7ff;font-size:13px;padding:8px 12px;position:relative;white-space:nowrap}.calculation-cell.has-formula{background:#fef3c7}.calculation-cell:hover{background:#f3f4f6}.calculation-cell.has-formula:hover{background:#fde68a}.calculation-cell-input{background:#fff;border:2px solid #10b981;border-radius:2px;font-size:13px;outline:none;padding:6px 8px;pointer-events:auto;position:relative;width:100%;z-index:10}.calculation-cell-value{display:block;min-height:22px;padding:4px}.calculation-loading{color:#999;padding:40px;text-align:center}.calculation-calculating{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 40px;text-align:center}.calculating-spinner{margin-bottom:20px}.calculating-spinner .spinner{animation:spin 1s linear infinite;border:4px solid #e0e7ff;border-radius:50%;border-top-color:#3b82f6;height:48px;width:48px}.calculating-message{color:#666}.calculating-message strong{color:#3b82f6;display:block;font-size:18px;margin-bottom:8px}.calculating-message p{color:#999;font-size:14px;margin:0}.calculating-row{animation:pulse-calculating 1.5s ease-in-out infinite;background-color:#fef3c7!important}.calculating-row td{color:#92400e;font-style:italic}@keyframes pulse-calculating{0%,to{opacity:1}50%{opacity:.7}}.formula-help{background:#f0f9ff;border-radius:4px;color:#666;font-size:12px;margin-top:16px;padding:16px}.formula-help code{background:#e0e7ff;border-radius:2px;font-family:monospace;padding:2px 4px}.calculation-context-menu{background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:200px;padding:4px 0;z-index:1000}.context-menu-item{color:#374151;cursor:pointer;font-size:13px;padding:8px 16px;transition:background-color .15s;-webkit-user-select:none;user-select:none}.context-menu-item:hover{background-color:#f3f4f6}.context-menu-item:active{background-color:#e5e7eb}.template-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.template-content{flex:1 1;max-width:100%;min-height:0;overflow:auto;padding:12px 24px 36px}.template-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:16px;overflow-x:visible}.template-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s;white-space:nowrap}.template-tab:hover{background:#f5f5f5}.template-tab.active{background:#3b82f6;border-bottom-color:#3b82f6;color:#fff}.template-table-container{margin-top:16px}.template-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:16px;padding:12px}.template-info p{color:#1e40af;font-size:14px;font-weight:500;margin:0}.template-table-wrapper{border:1px solid #e0e7ff;border-radius:4px;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto}.template-table{border-collapse:collapse;font-size:13px;min-width:100%;width:100%}.template-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.template-table thead tr{background:#dbeafe}.template-table thead th{border:1px solid #93c5fd;font-size:13px;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.formula-row{background:#fef3c7;border-top:2px solid #f59e0b}.formula-label{font-size:12px;font-style:normal;font-weight:700}.formula-cell,.formula-label{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:8px 12px}.formula-cell{font-size:11px;font-style:italic;font-weight:400}.example-header-row{background:#dbeafe;border-top:2px solid #3b82f6}.example-header-row td{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af;font-size:12px;font-weight:700;padding:8px 12px}.example-row{background:#eff6ff;opacity:.9}.example-row td{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;cursor:not-allowed;font-size:13px;padding:8px 12px}.steel-standards-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.steel-standards-content{flex:1 1;max-width:100%;min-height:0;overflow:auto;padding:12px 24px 36px}.project-type-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:16px;overflow-x:visible}.project-type-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .2s;white-space:nowrap}.project-type-tab:hover{background:#f5f5f5}.project-type-tab.active{background:#f59e0b;border-bottom-color:#f59e0b;color:#fff}.steel-table-container{margin-top:16px}.steel-header{margin-bottom:16px}.steel-header h3{color:#1e40af;font-size:18px;font-weight:700;margin:0 0 8px}.steel-header p{color:#666;font-size:13px;margin:0}.steel-table-wrapper{border:1px solid #e0e7ff;border-radius:4px;max-height:calc(100vh - 400px);overflow-x:auto;overflow-y:auto}.steel-table{border-collapse:collapse;font-size:13px;min-width:100%;width:100%}.steel-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.steel-table thead tr{background:#fef3c7}.steel-table thead th{background:#fef3c7;border:1px solid #fcd34d;font-size:14px;font-weight:700;padding:12px;text-align:left;white-space:nowrap}.steel-table thead th.typical-header{color:#d97706;text-align:center}.steel-table tbody tr.even-row{background:#fff}.steel-table tbody tr.odd-row{background:#fffbeb}.steel-table tbody td{border:1px solid #fde68a;font-size:13px;padding:12px}.element-type-cell{color:#1e40af;font-weight:600}.percentage-cell,.typical-cell{text-align:center}.typical-cell{background:#fef3c7;color:#d97706;font-weight:700}.notes-cell,.steel-summary{color:#666;font-size:12px}.steel-summary{background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;margin-top:24px;padding:16px}.steel-summary strong{color:#1e40af}.extracted-data-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.extracted-data-content{flex:1 1;max-width:100%;min-height:0;overflow:auto;padding:12px 24px 36px}.extracted-data-empty{color:#999;padding:80px 20px;text-align:center}.extracted-data-empty-title{font-size:18px;margin-bottom:12px}.extracted-data-empty-subtitle{font-size:14px}.extracted-data-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;overflow-y:hidden;padding-right:24px;scroll-behavior:smooth;scrollbar-width:none}.extracted-data-tabs::-webkit-scrollbar{background:#0000;display:none;height:0;width:0}.extracted-data-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;margin-bottom:-2px;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 20px;transition:all .2s;white-space:nowrap}.extracted-data-tab:hover{background:#f5f5f5}.extracted-data-tab.active{background:#3b82f6;border-bottom-color:#3b82f6;color:#fff}.extracted-data-table-container{margin-top:16px}.extracted-data-table-wrapper{border:1px solid #e0e7ff;border-radius:4px;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto}.extracted-data-table{border-collapse:collapse;font-size:13px;min-width:100%;width:100%}.extracted-data-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.extracted-data-table thead tr{background:#dbeafe}.extracted-data-table thead th{border:1px solid #93c5fd;font-size:13px;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.extracted-data-table tbody tr.even-row{background:#fff}.extracted-data-table tbody tr.odd-row{background:#f9fafb}.extracted-data-table tbody td{border:1px solid #e0e7ff;font-size:13px;padding:8px 12px}.extracted-data-table tbody td.editable-cell{cursor:pointer;position:relative}.extracted-data-table tbody td.editable-cell:hover{background-color:#f0f9ff}.extracted-data-table tbody td.editable-cell .editable-cell-input{background:#fff;border:2px solid #3b82f6;border-radius:3px;font-size:13px;outline:none;padding:4px 8px;pointer-events:auto;position:relative;width:100%;z-index:10}.extracted-data-empty-data{color:#999;font-size:14px;font-style:italic;padding:40px;text-align:center}.extracted-data-json{margin-top:16px}.extracted-data-json pre{background:#f3f4f6;border-radius:4px;font-size:12px;max-height:60vh;overflow:auto;padding:16px}.extracted-data-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.extracted-data-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.extracted-data-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:16px 24px;-webkit-user-select:none;user-select:none}.extracted-data-modal-header h2{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.export-button{align-items:center;background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s}.export-button:hover{background:#059669;transform:translateY(-1px)}.close-button{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:18px;font-weight:700;height:32px;width:32px}.close-button:hover{background:#dc2626}.wbs-level-1{background-color:#dbeafe!important;font-size:14px!important;font-weight:700!important}.wbs-level-1 .calculation-cell{color:#1e40af;font-weight:700}.wbs-level-2{background-color:#e0f2fe!important;font-size:13px!important;font-weight:600!important}.wbs-level-2 .calculation-cell{color:#0369a1;font-weight:600;padding-left:24px}.wbs-level-3 .calculation-cell{font-weight:400;padding-left:48px}.wbs-level-4{background-color:#f9fafb!important;font-size:12px!important;font-weight:400!important}.wbs-level-4 .calculation-cell{color:#4b5563;font-style:italic;font-weight:400;padding-left:72px}.wbs-total-row{background-color:#fef3c7!important;border-top:2px solid #f59e0b!important;font-weight:700!important}.wbs-total-row .calculation-cell{color:#92400e;font-weight:700}.wbs-date-input,.wbs-duration-input{background-color:#fff;font-family:inherit;font-size:12px;transition:border-color .2s,box-shadow .2s}.wbs-date-input:focus,.wbs-duration-input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633;outline:none}.wbs-duration-input{text-align:center}.wbs-level-3 .wbs-date-input,.wbs-level-3 .wbs-duration-input,.wbs-level-4 .wbs-date-input,.wbs-level-4 .wbs-duration-input{font-size:11px;padding:2px 4px}.main-tab-system-wrapper{margin-top:-26px}.main-tab-system{background:#fff;border-bottom:2px solid #e0e0e0;border-radius:8px 8px 8px 8px;box-shadow:0 2px 8px #00000014;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.main-tab-button{border:none;border-radius:4px;cursor:pointer;font-size:15px;padding:6px 16px;transition:all .2s;white-space:nowrap}.main-tab-button.active{background:#10b981;color:#fff;font-weight:600}.main-tab-button:not(.active){background:#0000;color:#666;font-weight:400}.download-button{align-items:center;border:2px solid #3b82f6;border-radius:4px;box-sizing:border-box;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 16px;transition:all .2s;white-space:nowrap}.download-button:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer}.download-button:disabled{background:#e0e0e0;color:#999;cursor:not-allowed}.sidebar-action-buttons{background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:20px 20px 12px}.sidebar-action-buttons-container{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px;width:100%}.sidebar-action-btn{background:#667eea;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#fff;font-size:13px;gap:6px;height:38px;padding:10px 18px;white-space:nowrap}.sidebar-action-btn:hover:not(.disabled){box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.sidebar-action-btn.disabled{background:#9ca3af!important;box-shadow:none;color:#fff;cursor:not-allowed;opacity:.7;transform:none}.sidebar-action-btn.classify-btn{background:#667eea}.sidebar-action-btn.classify-btn:hover:not(.disabled){background:#5568d3}.sidebar-action-btn.classify-btn.disabled{background:#9ca3af!important}.sidebar-action-btn.extract-btn{background:#10b981}.sidebar-action-btn.extract-btn:hover:not(.disabled){background:#059669}.sidebar-action-btn.extract-btn.disabled{background:#9ca3af!important}.sidebar-action-btn.stop-btn{background:#ef4444;color:#fff}.sidebar-action-btn.stop-btn:hover{background:#dc2626;box-shadow:0 2px 4px #ef44444d}.sidebar-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:0;position:relative}.sidebar-tab{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:0;color:#666;cursor:pointer;flex:1 1;font-size:13px;font-weight:400;margin-bottom:-2px;padding:12px 16px;position:relative;transition:all .2s}.sidebar-tab:hover{background:#f5f5f5}.sidebar-tab.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.layout-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:14px;position:relative;transition:all .2s}.layout-card:hover:not(.selected){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.layout-card.selected{box-shadow:0 2px 8px #0003}.layout-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:8px;position:relative}.layout-card-title{color:#2c3e50;font-size:14px;font-weight:600}.layout-card-actions{align-items:center;display:flex;gap:6px}.layout-card-edit-btn{align-items:center;background:#f0f0f0;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:32px;padding:4px 8px;transition:all .2s}.layout-card-edit-btn:hover{background:#e0e0e0}.layout-card-edit-btn.active{background:#667eea;color:#fff}.layout-card-edit-menu{background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:140px;padding:4px;pointer-events:auto;position:absolute;right:0;top:32px;z-index:10000}.edit-menu-item{align-items:center;background:#0000;border:none;border-radius:4px;color:#2c3e50;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:8px;padding:8px 12px;text-align:left;transition:all .2s;width:100%}.edit-menu-item:hover:not(:disabled){background:#f5f5f5}.edit-menu-item:disabled{background:#f0f0f0;color:#999;cursor:not-allowed}.edit-menu-item.delete{color:#e74c3c}.edit-menu-item.delete:hover{background:#fee}.edit-menu-divider{background:#e0e0e0;height:1px;margin:4px 0}.layout-card-info{color:#666;font-size:12px;margin-top:4px}.sidebar-container{background:#fff;border-radius:0 12px 12px 0;box-shadow:0 4px 16px #0000001a;display:flex;flex-direction:column;flex-shrink:0;max-height:100%;overflow:hidden;padding:0;width:100%}.sidebar-header{flex-shrink:0}.view-all-data-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:8px;padding:10px 16px;transition:all .2s;width:100%}.view-all-data-btn:hover{background:#2563eb;transform:translateY(-1px)}.sidebar-empty-state{color:#999;font-size:14px;padding:40px 20px;text-align:center}.sidebar-content{flex:1 1;overflow-y:auto;padding:12px 20px 20px}.sidebar-cards-container{display:flex;flex-direction:column;gap:12px}.data-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:14px;position:relative;transition:all .2s}.data-card:hover:not(.selected){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.data-card.selected{box-shadow:0 2px 8px #0003}.data-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.data-card-title{color:#2c3e50;font-size:14px;font-weight:600}.data-card-badge{background:#10b981;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px}.data-card-extractions{display:flex;flex-direction:column;gap:12px}.data-card-extraction{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;padding:10px}.data-card-extraction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.data-card-extraction-title{color:#1e40af;font-size:13px;font-weight:700}.data-card-extraction-type{background:#667eea;border-radius:8px;color:#fff;font-size:9px;font-weight:600;padding:2px 6px}.data-card-extraction-summary{color:#64748b;font-size:11px;margin-bottom:8px}.data-card-table-container{margin-top:8px}.data-card-table-controls{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;margin-bottom:8px}.data-card-table-info{color:#64748b;font-size:10px}.data-card-table-buttons{display:flex;flex-wrap:wrap;gap:4px}.table-control-btn{background:#fff;border:1px solid #ddd;border-radius:3px;color:#333;cursor:pointer;font-size:9px;padding:4px 8px;transition:all .2s}.table-control-btn:hover:not(:disabled){background:#f5f5f5}.table-control-btn:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.table-control-btn.add-row-btn{background:#4caf50;border:1px solid #4caf50;color:#fff}.table-control-btn.add-row-btn:hover{background:#45a049}.table-control-btn.add-col-btn{background:#2196f3;border:1px solid #2196f3;color:#fff}.table-control-btn.add-col-btn:hover{background:#0b7dda}.data-card-table-wrapper{border:1px solid #e0e7ff;border-radius:4px;max-height:400px;overflow-x:auto;overflow-y:auto}.data-card-table{border-collapse:collapse;font-size:13px;min-width:100%;width:100%}.data-card-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.data-card-table thead tr{background:#e0e7ff}.data-card-table thead th{border:1px solid #c7d2fe;font-size:12px;font-weight:600;padding:8px 10px;position:relative;text-align:left;white-space:nowrap}.delete-column-btn{background:#f44336;border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:8px;padding:1px 4px;position:absolute;right:2px;top:2px}.delete-column-btn:hover{background:#da190b}.data-card-table tbody tr{background:#fff}.data-card-table tbody tr:nth-child(2n){background:#f9fafb}.data-card-table tbody td{border:1px solid #e0e7ff;font-size:12px;padding:6px 8px;position:relative;white-space:nowrap}.editable-cell-input{border:2px solid #667eea;border-radius:2px;font-size:12px;padding:4px 6px;width:100%}.delete-row-cell{border:1px solid #e0e7ff;padding:4px 6px;text-align:center;width:30px}.delete-row-btn{background:#f44336;border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:10px;padding:2px 6px}.delete-row-btn:hover{background:#da190b}.page-viewer{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:30px}.combined-layout-viewer{display:flex;flex-direction:column;height:calc(100vh - 120px)}.combined-layout-container{display:flex;flex:1 1;gap:20px;overflow:hidden}.combined-layout-image-container{align-items:center;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex:1 1;justify-content:center;overflow:auto;position:relative}.layout-regions-sidebar{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;max-height:100%;overflow-y:auto;padding:20px;width:320px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.viewer-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.file-info h2{color:#2c3e50;font-size:24px;margin-bottom:5px}.file-info p{color:#7f8c8d;font-size:14px}.back-btn,.classify-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.back-btn{background:#ecf0f1;color:#2c3e50}.back-btn:hover{background:#bdc3c7}.classify-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.classify-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.classify-btn:disabled{cursor:not-allowed;opacity:.6}.pages-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.page-card{background:#f8f9fa;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .3s}.page-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.page-thumbnail{align-items:center;aspect-ratio:1;background:#fff;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.page-thumbnail img{-webkit-font-smoothing:antialiased;backface-visibility:hidden;-webkit-backface-visibility:hidden;height:100%;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;object-fit:contain;width:100%}.zoom-overlay{align-items:center;background:#667eeae6;bottom:0;color:#fff;display:flex;font-weight:600;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.page-card:hover .zoom-overlay{opacity:1}.page-label{background:#fff;border-top:2px solid #ecf0f1;color:#2c3e50;font-weight:600;padding:12px;text-align:center}.zoom-modal{align-items:center;animation:fadeIn .2s;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.zoom-modal-content{max-height:90vh;max-width:90vw}.zoom-modal-content,.zoom-modal-content-large{animation:zoomIn .3s;background:#fff;border-radius:16px;display:flex;flex-direction:column;padding:30px;position:relative}.zoom-modal-content-large{height:95vh;width:95vw}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.zoom-close-btn{background:#ecf0f1;border:none;border-radius:50%;cursor:pointer;font-size:20px;height:40px;position:absolute;right:15px;top:15px;transition:all .2s;width:40px;z-index:10}.zoom-close-btn:hover{background:#e74c3c;color:#fff;transform:rotate(90deg)}.zoom-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.zoom-modal-content h3{color:#2c3e50;font-size:22px;margin:0}.zoom-level-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.zoom-controls{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.zoom-control-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;min-width:50px;padding:10px 20px;transition:all .2s}.zoom-control-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.zoom-control-btn:disabled{cursor:not-allowed;opacity:.4}.zoom-image-container{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex:1 1;justify-content:center;min-height:500px;overflow:hidden;padding:20px;position:relative}.zoom-image-container img{box-shadow:0 4px 12px #00000026;max-height:70vh;max-width:100%;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none}.zoom-image-container-large{align-items:center;background:#2c3e50;border-radius:8px;display:flex;flex:1 1;justify-content:center;min-height:70vh;overflow:hidden;padding:20px;position:relative}.zoom-image-container-large img{-webkit-font-smoothing:antialiased;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 24px #0000004d;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;max-height:80vh;max-width:100%;object-fit:contain;transform-origin:center center;-webkit-user-select:none;user-select:none}.image-loader{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:16px;gap:20px;justify-content:center}.zoom-hint{color:#7f8c8d;font-size:14px;margin-top:15px;text-align:center}.layout-region-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 4px #0000000d;margin-bottom:12px;padding:14px;position:relative;transition:all .3s}.layout-region-card:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea26;transform:translateY(-2px)}.layout-region-card.active{background:linear-gradient(90deg,#fff,#f0f4ff);border-color:#667eea;box-shadow:0 4px 12px #667eea33;z-index:1000}.layout-region-card-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.layout-region-card-title{color:#2c3e50;font-size:15px;font-weight:700;margin:0}.layout-region-card-delete-btn{align-items:center;background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;min-width:28px;padding:6px 10px;transition:all .2s}.layout-region-card-delete-btn:hover{background:#c0392b;transform:scale(1.05)}.layout-region-card-field{margin-bottom:10px}.layout-region-card-label{color:#7f8c8d;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.layout-region-card-dropdown{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 35px 8px 10px;transition:all .2s;width:100%}.layout-region-card-dropdown:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.layout-region-card-dropdown.open{border-color:#667eea;z-index:10001}.layout-region-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.layout-card-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;min-width:80px;padding:8px 14px;transition:all .2s}.layout-card-btn:hover:not(:disabled){box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.layout-card-btn:disabled{cursor:not-allowed;opacity:.5}.layout-card-btn-classify{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.layout-card-btn-classify:hover:not(:disabled){background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 2px 8px #27ae604d}.layout-card-btn-extract{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.layout-card-btn-extract:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 2px 8px #3498db4d}.layout-card-btn-extract:disabled{background:#bdc3c7;color:#7f8c8d}.layout-card-btn-view{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.layout-card-btn-view:hover:not(:disabled){background:linear-gradient(135deg,#8e44ad,#7d3c98);box-shadow:0 2px 8px #9b59b64d}.sidebar-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-bottom:10px;padding:10px 16px;transition:all .2s;width:100%}.sidebar-action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.sidebar-action-btn-classify{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.sidebar-action-btn-classify:hover{background:linear-gradient(135deg,#229954,#1e8449);box-shadow:0 4px 12px #27ae6066}.sidebar-action-btn-extract{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.sidebar-action-btn-extract:hover{background:linear-gradient(135deg,#2980b9,#21618c);box-shadow:0 4px 12px #3498db66}.sidebar-action-btn-view{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.sidebar-action-btn-view:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);box-shadow:0 4px 12px #9b59b666}.sidebar-section-title{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:18px;font-weight:700;margin:0 0 15px;padding-bottom:10px}.sidebar-actions-section{border-bottom:2px solid #ecf0f1;margin-bottom:25px;padding-bottom:20px}.geometry-mapping-status{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px 8px 0 0;box-shadow:0 2px 8px #0000001a;color:#fff;margin-bottom:0;padding:12px 20px}.geometry-status-content{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between}.geometry-status-left{align-items:center;display:flex;flex:1 1;gap:12px}.geometry-icon{font-size:20px}.geometry-status-text{font-size:16px;font-weight:700;letter-spacing:.5px}.geometry-status-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-size:13px;font-weight:600;padding:4px 12px}.geometry-status-message.success{background:#27ae604d}.geometry-status-message.error{background:#e74c3c4d}.geometry-status-loading{font-size:13px;font-style:italic;opacity:.9}.geometry-stats,.geometry-status-right{align-items:center;display:flex}.geometry-stats{gap:20px}.geometry-stat-item{align-items:center;display:flex;font-size:13px;gap:6px}.geometry-stat-label{font-weight:500;opacity:.9}.geometry-stat-value{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-weight:700;min-width:24px;padding:4px 10px;text-align:center}@media (max-width:768px){.pages-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.zoom-modal-content{padding:20px}.zoom-image-container img{max-height:60vh}.layout-regions-sidebar{max-width:100%;width:100%}}
/*# sourceMappingURL=main.c8592a35.css.map*/