@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-brand: "Inter", sans-serif;--font-family-mono: "Consolas", "Monaco", "Courier New", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.3;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--spacing-0: 0;--spacing-1: 2px;--spacing-2: 4px;--spacing-3: 6px;--spacing-4: 8px;--spacing-5: 10px;--spacing-6: 12px;--spacing-8: 16px;--spacing-10: 20px;--spacing-12: 24px;--spacing-16: 32px;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-interactive: 0 4px 12px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px rgba(81, 45, 168, .15);--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-smooth: .2s cubic-bezier(.4, 0, .2, 1);--gray-50: #EEEEFC;--gray-100: #EEEEFC;--gray-200: #CACAF4;--gray-300: #B7B7F0;--gray-400: #9191E8;--gray-500: #9191E8;--gray-600: #11005E;--gray-700: #11005E;--gray-800: #090033;--gray-900: #000000;--gray-950: #000000;--color-success: #11005E;--color-success-light: #EEEEFC;--color-success-dark: #090033;--color-success-bg: #EEEEFC;--color-warning: #9191E8;--color-warning-light: #EEEEFC;--color-warning-dark: #11005E;--color-warning-bg: #EEEEFC;--color-danger: #000000;--color-danger-light: #EEEEFC;--color-danger-dark: #11005E;--color-danger-bg: #EEEEFC;--color-info: #9191E8;--color-info-light: #EEEEFC;--color-info-dark: #11005E;--color-info-bg: #EEEEFC;--bg-primary: var(--gray-50);--bg-secondary: #ffffff;--bg-tertiary: var(--gray-100);--bg-hover: var(--gray-100);--bg-active: var(--gray-200);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-400);--text-inverse: #ffffff;--border-color: #CACAF4;--border-color-light: #EEEEFC;--border-color-dark: #B7B7F0;--menu-width: 220px;--menu-item-padding: var(--spacing-4) var(--spacing-6);--menu-item-gap: var(--spacing-1);--menu-icon-size: 18px;--menu-font-size: var(--font-size-base);--table-cell-padding: var(--spacing-3) var(--spacing-5);--table-header-padding: var(--spacing-4) var(--spacing-5);--table-row-height: 36px;--input-height: 34px;--input-padding: var(--spacing-3) var(--spacing-5);--input-font-size: var(--font-size-base);--input-border-color: var(--gray-300);--input-focus-border: var(--color-primary);--label-margin-bottom: var(--spacing-2);--form-gap: var(--spacing-6);--btn-height-sm: 28px;--btn-height-md: 34px;--btn-height-lg: 40px;--btn-padding-sm: var(--spacing-2) var(--spacing-4);--btn-padding-md: var(--spacing-3) var(--spacing-6);--btn-padding-lg: var(--spacing-4) var(--spacing-8);--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-medium);--btn-border-radius: var(--radius-md);--icon-size-xs: 12px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--icon-size-xl: 24px;--row-highlight-selected-bg: #cce5ff;--row-highlight-selected-text: #004085;--row-highlight-delete-bg: #f8d7da;--row-highlight-delete-text: #721c24;--row-highlight-copy-bg: #fff3cd;--row-highlight-copy-text: #856404;--row-highlight-cut-bg: #ffe4b5;--row-highlight-cut-text: #8b4513;--row-highlight-paste-bg: #d4edda;--row-highlight-paste-text: #155724;--row-highlight-drag-bg: #d6eaff;--row-highlight-dragover-bg: #e9f5fd}.brand-logo,.app-logo{font-family:var(--font-family-brand);font-size:var(--font-size-xl);letter-spacing:.5px;display:inline-flex;align-items:baseline}.brand-logo .brand-bold,.app-logo .brand-bold{font-weight:700;color:var(--color-primary, #512da8)}.brand-logo .brand-light,.app-logo .brand-light{font-weight:300;color:var(--color-primary, #512da8)}.brand-logo .brand-module,.app-logo .brand-module{font-weight:700;color:var(--color-primary, #512da8)}.brand-logo.brand-light-bg .brand-bold,.brand-logo.brand-light-bg .brand-light,.brand-logo.brand-light-bg .brand-module{color:#fff}.brand-logo.brand-header{font-size:var(--font-size-lg)}.brand-logo.brand-footer{font-size:var(--font-size-md)}:root,[data-theme=deepPurple]{--color-primary: #11005E;--color-primary-hover: #9191E8;--color-primary-active: #090033;--color-primary-light: #9191E8;--color-primary-lighter: #B7B7F0;--color-primary-bg: #EEEEFC;--color-primary-bg-hover: #CACAF4;--color-accent: #9191E8;--color-accent-hover: #B7B7F0;--color-accent-light: #CACAF4;--color-button: var(--color-primary);--color-button-hover: var(--color-primary-hover);--color-button-active: var(--color-primary-active);--color-button-text: #ffffff;--header-bg: var(--color-primary);--header-text: #ffffff;--menu-active-bg: var(--color-primary);--menu-active-text: #ffffff;--menu-hover-bg: var(--color-primary-bg);--menu-hover-text: var(--color-primary);--link-color: var(--color-primary);--link-hover-color: var(--color-primary-hover);--focus-ring-color: rgba(145, 145, 232, .5)}:root{--primary-color: var(--color-primary);--primary-color-dark: var(--color-primary-active);--secondary-color: var(--color-primary);--accent-color: var(--color-danger);--success-color: var(--color-success);--warning-color: var(--color-warning);--info-color: var(--color-info);--error-color: var(--color-danger);--light-gray: var(--gray-50);--medium-gray: var(--gray-200);--dark-gray: var(--gray-500);--text-color: var(--text-primary);--text-color-light: var(--text-inverse);--table-header-bg: var(--header-bg);--table-header-text-color: var(--header-text);--crm-primary-color: var(--color-primary);--crm-primary-dark: var(--color-primary-active);--crm-primary-light: var(--color-primary-bg);--crm-accent-color: var(--color-primary);--crm-success-color: var(--color-success);--crm-warning-color: var(--color-warning);--crm-danger-color: var(--color-danger);--crm-bg-light: var(--bg-primary);--crm-bg-white: var(--bg-secondary);--crm-bg-card: var(--bg-secondary);--crm-border-color: var(--border-color);--crm-border-color-light: var(--border-color-light);--crm-text-primary: var(--text-primary);--crm-text-secondary: var(--text-secondary);--crm-text-light: var(--text-inverse);--crm-text-muted: var(--text-muted)}:root{--btn-primary-bg: var(--color-primary);--btn-primary-hover: var(--color-primary-hover);--btn-primary-active: var(--color-primary-active);--btn-primary-text: #ffffff;--btn-secondary-bg: transparent;--btn-secondary-border: var(--color-primary);--btn-secondary-text: var(--color-primary);--btn-secondary-hover-bg: var(--color-primary-bg);--btn-ghost-text: var(--color-primary);--btn-ghost-hover-bg: var(--color-primary-bg)}[data-theme-mode=dark],.dark-mode{--row-highlight-selected-bg: #1e3a5f;--row-highlight-selected-text: #93c5fd;--row-highlight-delete-bg: #7f1d1d;--row-highlight-delete-text: #fca5a5;--row-highlight-copy-bg: #78350f;--row-highlight-copy-text: #fcd34d;--row-highlight-cut-bg: #7c2d12;--row-highlight-cut-text: #fdba74;--row-highlight-paste-bg: #14532d;--row-highlight-paste-text: #86efac;--row-highlight-drag-bg: #1e3a5f;--row-highlight-dragover-bg: #1e40af}button,.btn,[class*=btn-],.primary-btn,.secondary-btn{font-family:var(--font-family);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1.4;border-radius:var(--btn-border-radius);cursor:pointer;transition:all var(--transition-smooth);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);white-space:nowrap;text-decoration:none;border:none;outline:none}button:not(.secondary):not(.ghost):not(.danger):not(.outline):not(.dropdown-toggle),.btn-primary,.primary-btn{background-color:var(--color-primary);color:var(--text-inverse);padding:var(--btn-padding-md);min-height:var(--btn-height-md);box-shadow:var(--shadow-sm)}button:not(.secondary):not(.ghost):not(.danger):not(.outline):not(.dropdown-toggle):hover,.btn-primary:hover,.primary-btn:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-interactive);transform:translateY(-1px)}button:not(.secondary):not(.ghost):not(.danger):not(.outline):not(.dropdown-toggle):active,.btn-primary:active,.primary-btn:active{background-color:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-sm)}button:not(.secondary):not(.ghost):not(.danger):not(.outline):not(.dropdown-toggle):focus-visible,.btn-primary:focus-visible,.primary-btn:focus-visible{box-shadow:var(--shadow-focus)}button.secondary,.btn-secondary,.secondary-btn{background-color:var(--bg-secondary);color:var(--color-primary);border:1px solid var(--color-primary);padding:var(--btn-padding-md);min-height:var(--btn-height-md)}button.secondary:hover,.btn-secondary:hover,.secondary-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-hover);transform:translateY(-1px)}button.secondary:active,.btn-secondary:active,.secondary-btn:active{background-color:var(--color-primary-bg-hover);transform:translateY(0)}button.danger,.btn-danger{background-color:var(--color-danger);color:var(--text-inverse);padding:var(--btn-padding-md);min-height:var(--btn-height-md)}button.danger:hover,.btn-danger:hover{background-color:var(--color-danger-dark);transform:translateY(-1px)}button.ghost,.btn-ghost{background-color:transparent;color:var(--color-primary);padding:var(--btn-padding-sm)}button.ghost:hover,.btn-ghost:hover{background-color:var(--color-primary-bg)}button.small-action-btn,.btn-sm{padding:var(--btn-padding-sm);min-height:var(--btn-height-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--btn-padding-lg);min-height:var(--btn-height-lg);font-size:var(--font-size-md)}.fa-solid,.fa-regular,.fa-light,.fas,.far,.fal,[class^=fa-],[class*=" fa-"]{font-size:var(--icon-size-md);line-height:1;color:inherit;transition:color var(--transition-fast),transform var(--transition-fast)}.nav-icon,.menu-icon{font-size:var(--icon-size-lg)!important;width:22px;text-align:center;color:var(--text-secondary);transition:color var(--transition-fast)}button i,.btn i,[class*=btn-] i{font-size:var(--icon-size-sm);margin-right:var(--spacing-2)}.action-buttons i,.icon-btn i{font-size:var(--icon-size-md);color:var(--text-secondary)}.action-buttons i:hover,.icon-btn:hover i{color:var(--color-primary)}.icon-success{color:var(--color-success)!important}.icon-warning{color:var(--color-warning)!important}.icon-danger{color:var(--color-danger)!important}.icon-info{color:var(--color-info)!important}.icon-muted{color:var(--text-muted)!important}.report-icon i,.card-icon i{font-size:var(--icon-size-xl);color:var(--color-primary);opacity:.9}table th,.data-table th,#cost-table th,#material-summary-table th,#equipment-summary-table th,#labor-summary-table th,.analysis-table th{background-color:var(--header-bg)!important;color:var(--header-text)!important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:none;letter-spacing:0;padding:var(--table-header-padding);border-bottom:none;white-space:nowrap}table th[data-sort-key]:hover{background-color:var(--color-primary-hover)!important;cursor:pointer}:root{--table-row-hover-color: #eef2f7;--table-row-hover-transition: background-color .15s ease}table tbody tr{transition:var(--table-row-hover-transition)}table tbody tr:hover{background-color:var(--table-row-hover-color)!important}#cost-table tbody tr,#material-summary-table tbody tr,#equipment-summary-table tbody tr,#labor-summary-table tbody tr,.analysis-table tbody tr,.data-table tbody tr,.styled-table tbody tr{transition:var(--table-row-hover-transition)}#cost-table tbody tr:hover,#material-summary-table tbody tr:hover,#equipment-summary-table tbody tr:hover,#labor-summary-table tbody tr:hover,.analysis-table tbody tr:hover,.data-table tbody tr:hover,.styled-table tbody tr:hover{background-color:var(--table-row-hover-color)!important}#cost-table tbody tr:hover>td,#material-summary-table tbody tr:hover>td,#equipment-summary-table tbody tr:hover>td,#labor-summary-table tbody tr:hover>td,.analysis-table tbody tr:hover>td{background-color:var(--table-row-hover-color)!important}table tbody tr.summary-row:hover,table tbody tr.total-row:hover,table tbody tr.grand-total-row:hover,table tbody tr.empty-row:hover{background-color:inherit!important}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=date],select,textarea{font-family:var(--font-family);font-size:var(--input-font-size);padding:var(--input-padding);min-height:var(--input-height);border:1px solid var(--input-border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--gray-400)}label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--label-margin-bottom);display:block}.card,.content-section,.catalog-section,.config-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-8);box-shadow:var(--shadow-sm)}.card:hover,.content-section:hover{box-shadow:var(--shadow-md)}.tab,.rms-subtab{background-color:#fff;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.tab:hover,.rms-subtab:hover{color:var(--color-primary);background-color:#fff;border-bottom-color:var(--color-primary)}.tab.active,.rms-subtab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#fff;font-weight:var(--font-weight-semibold)}.badge,.nav-badge,.status-label{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px}.badge-primary,.nav-badge{background-color:var(--color-primary);color:var(--text-inverse)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success-dark)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-dark)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger-dark)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info-dark)}.primary-btn,button[style*=gradient],[style*=linear-gradient]{background:var(--color-primary)!important}.menu-item [style*="#667eea"],.menu-item [style*="#764ba2"],i[style*="#667eea"]{color:var(--color-primary)!important}.shortcut[style*=gradient]{background:var(--color-primary)!important}.menu-item i.fa-microchip,.menu-item i.fa-file-import,.menu-item i.fa-magnifying-glass,.menu-item i.fa-magnifying-glass-chart,.menu-item i.fa-clock-rotate-left,.menu-item i.fa-file-contract{color:var(--color-primary)!important;width:20px;text-align:center;margin-right:8px}.menu-item .shortcut[style*=gradient],.badge-ai,.badge-new,.badge-blockchain{background:var(--color-primary)!important;color:var(--text-inverse)!important;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px}.badge-ai,.badge-new,.badge-blockchain,.shortcut.badge-ai,.shortcut.badge-new,.shortcut.badge-blockchain{background:var(--color-primary, #1e3a5f)!important;color:var(--text-inverse, #ffffff)!important;padding:1px 5px!important;border-radius:3px!important;font-size:.65em!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.2px;margin-left:auto;display:inline-block;line-height:1.4}.menu-icon{width:18px;text-align:center;margin-right:8px;color:var(--color-primary, #1e3a5f);font-size:.9em}.dropdown-content .menu-item i,.dropdown-content .menu-item .menu-icon{color:var(--color-primary, #1e3a5f);font-size:.95em;width:18px;text-align:center;margin-right:8px;transition:color .2s ease}.dropdown-content .menu-item:hover i,.dropdown-content .menu-item:hover .menu-icon{color:var(--text-inverse, #ffffff)}.menu-group-icon{width:16px;text-align:center;margin-right:6px;color:var(--text-muted, #9ca3af);font-size:.85em}.menu-group-header{display:flex;align-items:center;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #9ca3af);padding:6px 12px 4px;margin-top:4px}[style*="linear-gradient(135deg, #667eea"],[style*="linear-gradient(135deg, #28a745"]{background:var(--color-primary)!important}i[style*="color: #667eea"],i[style*="color:#667eea"]{color:var(--color-primary)!important}.fa-solid,.fa-regular,.fas,.far{color:inherit}h2 i,h3 i,.catalog-section h3 i{color:var(--color-primary);margin-right:var(--spacing-3);font-size:.9em}.report-card .report-icon,.kpi-card .card-icon,.icon-clients,.icon-projects,.icon-revenue,.icon-conversion,.icon-clv,.icon-cac{background:transparent!important;color:var(--color-primary)!important}.dropdown-content .menu-item:hover i,.dropdown-content .menu-item:hover .menu-icon{color:var(--text-inverse)!important}.dropdown-content .menu-item:hover .shortcut{color:#fffc}.dropdown-content .menu-item:hover{background-color:var(--color-primary);color:var(--text-inverse)}.dropdown-content .menu-item:hover .menu-icon{color:var(--text-inverse)}.rms-subtab.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #1e3a5f4d}.action-btn,.edit-btn,.delete-btn,.view-btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;transition:color var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-1)}.edit-btn{background-color:transparent;color:var(--color-primary)}.edit-btn:hover{background-color:transparent;color:var(--color-info)}.delete-btn{background-color:transparent;color:var(--color-danger)}.delete-btn:hover{background-color:transparent;color:var(--color-danger-dark, #b91c1c)}.view-btn{background-color:transparent;color:var(--color-info)}.view-btn:hover{background-color:transparent;color:var(--color-primary)}.form-group{margin-bottom:var(--spacing-5)}.form-group label{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.form-group label i{color:var(--text-muted);font-size:var(--icon-size-sm)}.input-with-icon{position:relative}.input-with-icon input{padding-left:var(--spacing-10)}.input-with-icon i{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--icon-size-sm)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-4) center;padding-right:var(--spacing-10)}.card-header,.section-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-5);border-bottom:1px solid var(--border-color)}.card-header h3,.section-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-3)}.card-header h3 i,.section-header h3 i{color:var(--color-primary)}@media (max-width: 768px){.main-menu-container{flex-wrap:wrap}.dropdown-toggle{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.dropdown-content{min-width:200px;max-width:280px}.tabs{gap:var(--spacing-1)}.tab{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-xs)}button{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);min-height:32px}button.small-action-btn{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);min-height:26px}}@media (max-width: 480px){#sticky-header-tabs{padding:var(--spacing-2) var(--spacing-4)}.dropdown-toggle{padding:var(--spacing-2)}.dropdown-toggle span{display:none}.tab{padding:var(--spacing-2) var(--spacing-3)}.tab i{margin-right:0}.tab span{display:none}}button,.btn,.tab,.dropdown-toggle,.menu-item,input,select,textarea{transition:all var(--transition-fast)}button:active,.btn:active{transform:scale(.98)}button:focus-visible,.btn:focus-visible,.tab:focus-visible,.dropdown-toggle:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 767px){body{padding:100px var(--spacing-3) 60px var(--spacing-3);max-width:100%}.container{padding:var(--spacing-3)}#sticky-header-tabs{padding:var(--spacing-2) var(--spacing-3);max-width:100%}.sticky-header-row{flex-wrap:wrap;gap:var(--spacing-2);min-height:auto}.top-bar{flex-direction:column;padding:var(--spacing-3);gap:var(--spacing-3)}.top-bar .main-menu-container{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:var(--spacing-2)}.main-header-buttons{flex-wrap:wrap;gap:var(--spacing-2);width:100%}.dropdown-content{position:fixed;left:var(--spacing-3)!important;right:var(--spacing-3)!important;width:auto!important;min-width:auto!important;max-height:70vh;overflow-y:auto}.dropdown-content .menu-item{padding:var(--spacing-4) var(--spacing-4);min-height:44px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--spacing-2)}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--spacing-3) var(--spacing-4);min-height:44px;font-size:var(--font-size-sm)}.tab-contents-wrapper>.tab-content.active{padding:var(--spacing-3);margin-top:var(--spacing-3)}.main-menu{position:fixed;left:-100%;top:0;width:85%;max-width:320px;height:100vh;background:var(--bg-secondary);z-index:1200;transition:left .3s ease;box-shadow:var(--shadow-xl);overflow-y:auto}.main-menu.is-open{left:0}.table-responsive,.table-wrapper{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-3));padding:0 var(--spacing-3)}.table-responsive:after,.table-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:0;width:30px;background:linear-gradient(to right,transparent,rgba(0,0,0,.08));pointer-events:none;opacity:1;transition:opacity .3s ease}.table-responsive.scrolled-end:after,.table-wrapper.scrolled-end:after{opacity:0}#cost-table{min-width:800px}#cost-table th,#cost-table td{padding:var(--spacing-2) var(--spacing-2);font-size:12px}.col-drag{width:30px}.col-lp{width:40px}button,.btn,a.btn,input[type=button],input[type=submit],[role=button]{min-height:44px;min-width:44px}button.small-action-btn,.btn-sm{min-height:44px;min-width:44px;padding:var(--spacing-2) var(--spacing-3)}.notes-icon,.color-picker-icon,.edit-special-row-icon,.calculator-icon-qty,.drag-handle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.form-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.form-group{margin-bottom:var(--spacing-5)}input,select,textarea{font-size:16px;min-height:44px;padding:var(--spacing-3) var(--spacing-4)}.modal-content{width:95%;max-width:none;margin:var(--spacing-3);max-height:calc(100vh - 24px);border-radius:var(--radius-lg)}.modal-header,.modal-body{padding:var(--spacing-4)}.modal-footer,.modal-actions{padding:var(--spacing-4);flex-direction:column;gap:var(--spacing-3)}.modal-actions button{width:100%}.suggestions-dropdown{width:98%;max-width:none;max-height:80vh;padding:var(--spacing-3)}.suggestions-dropdown .task-item,.suggestions-dropdown .department-header{padding:var(--spacing-4);min-height:44px}.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.dashboard-widget{min-height:auto}.dashboard-widget.large-widget{grid-column:1}.card{margin-bottom:var(--spacing-4)}.grid-2,.grid-3,.grid-4,.catalog-management-grid,.print-options-grid{grid-template-columns:1fr}.task-modal-form .form-row-3,.task-modal-form .form-row-2{grid-template-columns:1fr;gap:var(--spacing-4)}.rms-item-row{grid-template-columns:1fr;gap:var(--spacing-3)}.rms-item-row input,.rms-item-row select{min-height:44px}.picker-modal .picker-content{max-width:100%;max-height:90vh}.picker-filter-row{flex-direction:column;align-items:stretch}.hide-mobile{display:none!important}.show-mobile{display:block!important}.branch-filter-container{margin-left:0;width:100%;margin-top:var(--spacing-2)}.branch-filter-container select{width:100%}}@media (min-width: 768px) and (max-width: 1023px){body{padding:var(--sticky-header-height) var(--spacing-4) var(--action-bar-height) var(--spacing-4)}.container{padding:var(--spacing-5)}#sticky-header-tabs{padding:var(--spacing-2) var(--spacing-4)}.sticky-header-row{gap:var(--spacing-3)}.top-bar .main-menu-container{gap:var(--spacing-2)}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:var(--spacing-3) var(--spacing-5)}.table-responsive,.table-wrapper{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive:after,.table-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:0;width:25px;background:linear-gradient(to right,transparent,rgba(0,0,0,.06));pointer-events:none}#cost-table{min-width:900px}#cost-table th,#cost-table td{padding:var(--spacing-2) var(--spacing-3);font-size:13px}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:repeat(2,1fr)}button,.btn,a.btn,[role=button]{min-height:44px}.notes-icon,.color-picker-icon,.edit-special-row-icon,.calculator-icon-qty{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-widget.large-widget{grid-column:1 / -1}.catalog-management-grid{grid-template-columns:repeat(2,1fr)}.modal-content{max-width:90%;max-height:calc(100vh - 48px)}.suggestions-dropdown{width:90%;max-width:800px}.task-modal-form .form-row-3{grid-template-columns:100px 1fr 1fr}.task-modal-form .form-row-2{grid-template-columns:1fr 1fr}.rms-item-row{grid-template-columns:1fr 80px 60px 80px 30px}.picker-modal .picker-content{max-width:90%}.print-options-grid{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none!important}.show-tablet{display:block!important}}@media (min-width: 1024px) and (max-width: 1399px){.grid-3,.grid-4{grid-template-columns:repeat(3,1fr)}.hide-desktop{display:none!important}}@media (min-width: 1400px){.container{max-width:1400px;margin:0 auto}.grid-4{grid-template-columns:repeat(4,1fr)}.hide-wide{display:none!important}}@media (hover: none) and (pointer: coarse){button,.btn,a.btn,input[type=button],input[type=submit],[role=button],.clickable{min-height:44px;min-width:44px;padding:var(--spacing-4)}.btn:hover,button:hover{transform:none}.btn:active,button:active{transform:scale(.98);opacity:.9}}@media print{.no-print,.fab-container,.main-menu,.top-bar,button:not(.print-btn){display:none!important}body{background:#fff!important;color:#000!important}.page-break{page-break-before:always}.no-page-break{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.is-mobile .desktop-only,.is-tablet .desktop-only,.is-desktop .mobile-only,.is-wide .mobile-only{display:none!important}.flex-mobile{display:flex}@media (min-width: 768px){.flex-mobile{display:block}}.stack-mobile{display:flex;flex-direction:column;gap:var(--spacing-4)}@media (min-width: 768px){.stack-mobile{flex-direction:row}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--color-primary, #1e3a5f);color:var(--text-inverse, #ffffff);padding:var(--spacing-4, 8px) var(--spacing-8, 16px);border-radius:var(--radius-md, 6px);text-decoration:none;font-weight:var(--font-weight-medium, 500);z-index:10000;transition:top .2s ease}.skip-link:focus{top:var(--spacing-4, 8px);outline:3px solid var(--color-primary-light, #3d5a80);outline-offset:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px;box-shadow:var(--shadow-focus, 0 0 0 3px rgba(30, 58, 95, .15))}.focus-within:focus-within{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}.aria-live-polite,.aria-live-assertive{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){:root{--color-primary: #000080;--text-primary: #000000;--bg-secondary: #ffffff;--border-color: #000000}button,.btn,input,select,textarea{border:2px solid currentColor}a{text-decoration:underline}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}label{cursor:pointer}.required:after{content:" *";color:var(--color-danger, #dc2626)}.has-error input,.has-error select,.has-error textarea,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger, #dc2626);box-shadow:0 0 0 3px #dc262626}.error-message,[role=alert]{color:var(--color-danger, #dc2626);font-size:var(--font-size-sm, 12px);margin-top:var(--spacing-2, 4px)}table{border-collapse:collapse}th{text-align:left;font-weight:var(--font-weight-semibold, 600)}a:not([href]){cursor:not-allowed;opacity:.6}a[target=_blank]:after{content:" ↗";font-size:.8em}[tabindex="-1"]:focus{outline:none}[role=tablist] [role=tab]{cursor:pointer}.analysis-widget:focus-within,.widget-container:focus-within{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px;border-radius:var(--radius-md, 6px)}.kpi-card:focus-visible,.kpi-card:focus-within{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px;box-shadow:var(--shadow-focus, 0 0 0 3px rgba(30, 58, 95, .15))}.chart-container:focus-visible,.chart-wrapper:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:4px}.analysis-table tr:focus-visible,.data-table tr:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:-2px;background-color:var(--color-primary-bg, #eef2f7)}.perspective-btn:focus-visible,.perspective-tab:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px;box-shadow:var(--shadow-focus, 0 0 0 3px rgba(30, 58, 95, .15))}.snapshot-item:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}.export-btn:focus-visible,[data-action=export]:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px;box-shadow:var(--shadow-focus, 0 0 0 3px rgba(30, 58, 95, .15))}.analysis-select:focus-visible,.filter-select:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:0;border-color:var(--color-primary, #1e3a5f)}.analysis-search input:focus-visible,.widget-search input:focus-visible{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:var(--shadow-focus, 0 0 0 3px rgba(30, 58, 95, .15))}.widget-header:focus-visible,.collapsible-header:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}.dark-mode :focus-visible{outline-color:var(--color-primary-light, #60A5FA);box-shadow:0 0 0 3px #60a5fa40}.dark-mode .analysis-widget:focus-within,.dark-mode .widget-container:focus-within{outline-color:var(--color-primary-light, #60A5FA)}@media (prefers-contrast: high){:focus-visible{outline:3px solid #000000;outline-offset:3px}.dark-mode :focus-visible{outline-color:#fff}}@keyframes focus-pulse{0%{box-shadow:0 0 #1e3a5f66}70%{box-shadow:0 0 0 6px #1e3a5f00}to{box-shadow:0 0 #1e3a5f00}}.focus-pulse:focus-visible{animation:focus-pulse .5s ease-out}.js-focus-visible :focus:not(.focus-visible){outline:none}.js-focus-visible .focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}:root{--font-scale: 1;--base-font-size: 16px}html{font-size:calc(var(--base-font-size) * var(--font-scale))}html.font-scale-small{--font-scale: .875}html.font-scale-normal{--font-scale: 1}html.font-scale-large{--font-scale: 1.125}html.font-scale-xlarge{--font-scale: 1.25}html.font-scale-xxlarge{--font-scale: 1.5}body,.analysis-view,.widget-container,.kpi-card,.analysis-table{font-size:1rem;line-height:1.5}h1,.h1{font-size:2rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.5rem}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.125rem}h6,.h6{font-size:1rem}.widget-title,.widget-header h3,.widget-header h4{font-size:1.125rem}.kpi-value,.kpi-card .value{font-size:1.75rem}.kpi-label,.kpi-card .label{font-size:.875rem}.analysis-table th,.analysis-table td,.data-table th,.data-table td{font-size:.875rem;padding:.5rem .75rem}.text-small,.text-sm,.caption,.hint{font-size:.75rem}button,.btn,[role=button]{min-height:2.75rem;padding:.5rem 1rem;font-size:.875rem}input,select,textarea{font-size:1rem;padding:.5rem .75rem;min-height:2.75rem}@media (min-width: 768px){.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}}.widget-container,.kpi-card,.analysis-table td{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.chart-label,.chart-legend-item{font-size:.75rem}.tooltip-content,.chart-tooltip{font-size:.875rem;max-width:20rem}@media (prefers-reduced-data: reduce){body{font-family:system-ui,-apple-system,sans-serif}}@media (min-resolution: 2dppx){:root{--base-font-size: 16px}}@media (max-width: 320px){.analysis-grid{grid-template-columns:1fr}.kpi-cards{flex-direction:column}.widget-header{flex-wrap:wrap}}:root{--cb-blue: #0077BB;--cb-cyan: #33BBEE;--cb-teal: #009988;--cb-orange: #EE7733;--cb-red: #CC3311;--cb-magenta: #EE3377;--cb-gray: #BBBBBB;--cb-black: #000000}[data-colorblind=true]{--color-primary: var(--cb-blue);--color-success: var(--cb-teal);--color-warning: var(--cb-orange);--color-danger: var(--cb-red);--color-info: var(--cb-cyan)}[data-colorblind=true] .chart-container,[data-colorblind=true] .chart-wrapper{--chart-color-1: var(--cb-blue);--chart-color-2: var(--cb-cyan);--chart-color-3: var(--cb-teal);--chart-color-4: var(--cb-orange);--chart-color-5: var(--cb-red);--chart-color-6: var(--cb-magenta)}[data-colorblind=true] .chart-segment-1,[data-colorblind=true] [data-segment="0"]{background-image:none}[data-colorblind=true] .chart-segment-2,[data-colorblind=true] [data-segment="1"]{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}[data-colorblind=true] .chart-segment-3,[data-colorblind=true] [data-segment="2"]{background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}[data-colorblind=true] .chart-segment-4,[data-colorblind=true] [data-segment="3"]{background-image:repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(255,255,255,.3) 3px,rgba(255,255,255,.3) 6px)}[data-colorblind=true] .chart-segment-5,[data-colorblind=true] [data-segment="4"]{background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.3) 3px,rgba(255,255,255,.3) 6px)}[data-colorblind=true] .chart-segment-6,[data-colorblind=true] [data-segment="5"]{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.2) 2px,rgba(255,255,255,.2) 4px),repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,255,255,.2) 2px,rgba(255,255,255,.2) 4px)}[data-colorblind=true] .status-success,[data-colorblind=true] .trend-up{background-color:var(--cb-teal);position:relative}[data-colorblind=true] .status-success:before,[data-colorblind=true] .trend-up:before{content:"✓";margin-right:.25rem}[data-colorblind=true] .status-danger,[data-colorblind=true] .trend-down{background-color:var(--cb-red)}[data-colorblind=true] .status-danger:before,[data-colorblind=true] .trend-down:before{content:"✗";margin-right:.25rem}[data-colorblind=true] .status-warning{background-color:var(--cb-orange)}[data-colorblind=true] .status-warning:before{content:"⚠";margin-right:.25rem}[data-colorblind=true] .legend-item{display:flex;align-items:center;gap:.5rem}[data-colorblind=true] .legend-color{width:1.5rem;height:1rem;border:1px solid currentColor}[data-colorblind=true] .comparison-positive{border-left:4px solid var(--cb-teal)}[data-colorblind=true] .comparison-positive:before{content:"↑ "}[data-colorblind=true] .comparison-negative{border-left:4px solid var(--cb-red)}[data-colorblind=true] .comparison-negative:before{content:"↓ "}[data-colorblind=true] .risk-high{background-color:var(--cb-red);border:2px dashed #000}[data-colorblind=true] .risk-medium{background-color:var(--cb-orange);border:2px dotted #000}[data-colorblind=true] .risk-low{background-color:var(--cb-teal);border:2px solid #000}.colorblind-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color, #e0e0e0);border-radius:.375rem;background:var(--bg-primary, #fff);cursor:pointer;font-size:.875rem}.colorblind-toggle:hover{background:var(--bg-secondary, #f8f9fa)}.colorblind-toggle.active{background:var(--color-primary-bg, #eef2f7);border-color:var(--color-primary, #1e3a5f)}[data-colorblind=true]{--text-on-primary: #ffffff;--text-on-success: #ffffff;--text-on-warning: #000000;--text-on-danger: #ffffff}input,select,textarea{font-family:var(--font-family);font-size:var(--input-font-size, 13px);line-height:var(--line-height-normal, 1.4);color:var(--text-primary);background-color:var(--bg-secondary, #ffffff);border:1px solid var(--input-border-color, #cbd5e1);border-radius:var(--radius-md, 6px);padding:var(--input-padding, 6px 10px);min-height:var(--input-height, 34px);width:100%;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input::placeholder,textarea::placeholder{color:var(--text-muted, #94a3b8);opacity:1}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f26;background-color:var(--bg-secondary, #ffffff)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--color-primary-light, #3d5a80)}input.is-invalid,select.is-invalid,textarea.is-invalid,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.has-error input,.has-error select,.has-error textarea{border-color:var(--color-danger, #dc2626);background-color:var(--color-danger-bg, #fef2f2)}input.is-invalid:focus,select.is-invalid:focus,textarea.is-invalid:focus,input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--color-danger, #dc2626);box-shadow:0 0 0 3px #dc262626}input.is-valid,select.is-valid,textarea.is-valid{border-color:var(--color-success, #059669)}input.is-valid:focus,select.is-valid:focus,textarea.is-valid:focus{border-color:var(--color-success, #059669);box-shadow:0 0 0 3px #05966926}input:disabled,select:disabled,textarea:disabled{background-color:var(--bg-tertiary, #f1f5f9);color:var(--text-muted, #94a3b8);cursor:not-allowed;opacity:.7}input:read-only,textarea:read-only{background-color:var(--bg-tertiary, #f1f5f9);cursor:default}.form-group{margin-bottom:var(--form-gap, 12px)}.form-group-inline{display:flex;align-items:center;gap:var(--spacing-4, 8px)}label,.form-label{display:block;font-size:var(--font-size-sm, 12px);font-weight:var(--font-weight-medium, 500);color:var(--text-primary);margin-bottom:var(--label-margin-bottom, 4px)}.form-label-inline{display:inline-flex;align-items:center;margin-bottom:0}.form-label.required:after,label.required:after{content:" *";color:var(--color-danger, #dc2626)}.error-message,.form-error,.invalid-feedback{display:block;font-size:var(--font-size-sm, 12px);color:var(--color-danger, #dc2626);margin-top:var(--spacing-2, 4px);padding-left:var(--spacing-1, 2px)}.error-message:before{content:"⚠ "}.form-group .error-message{display:none}.form-group.has-error .error-message,.form-group:has(.is-invalid) .error-message{display:block}.form-help,.help-text{display:block;font-size:var(--font-size-xs, 11px);color:var(--text-secondary, #475569);margin-top:var(--spacing-2, 4px)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}select::-ms-expand{display:none}select[multiple]{background-image:none;padding-right:var(--spacing-5, 10px);min-height:100px}textarea{min-height:80px;resize:vertical}textarea.no-resize{resize:none}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;margin:0;cursor:pointer;accent-color:var(--color-primary, #1e3a5f)}.checkbox-group,.radio-group{display:flex;align-items:center;gap:var(--spacing-3, 6px)}.checkbox-group label,.radio-group label{margin-bottom:0;cursor:pointer;font-weight:var(--font-weight-normal, 400)}.input-group{display:flex;align-items:stretch}.input-group input{flex:1;border-radius:var(--radius-md, 6px) 0 0 var(--radius-md, 6px)}.input-group-append,.input-group-prepend{display:flex;align-items:center;padding:0 var(--spacing-4, 8px);background-color:var(--bg-tertiary, #f1f5f9);border:1px solid var(--input-border-color, #cbd5e1);font-size:var(--font-size-sm, 12px);color:var(--text-secondary)}.input-group-prepend{border-right:none;border-radius:var(--radius-md, 6px) 0 0 var(--radius-md, 6px)}.input-group-prepend+input{border-radius:0 var(--radius-md, 6px) var(--radius-md, 6px) 0}.input-group-append{border-left:none;border-radius:0 var(--radius-md, 6px) var(--radius-md, 6px) 0}.form-section{margin-bottom:var(--spacing-8, 16px);padding-bottom:var(--spacing-6, 12px);border-bottom:1px solid var(--border-color-light, #f1f5f9)}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section-title{font-size:var(--font-size-md, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin-bottom:var(--spacing-4, 8px)}.form-row{display:grid;gap:var(--spacing-4, 8px)}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 767px){.form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr}}.form-loading{position:relative;pointer-events:none}.form-loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center}button.is-loading,.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}button.is-loading:after,.btn.is-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-top:-8px;margin-left:-8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-top:none;border-radius:0 0 var(--radius-md, 6px) var(--radius-md, 6px);box-shadow:var(--shadow-md);z-index:100;display:none}.autocomplete-wrapper.is-open .autocomplete-dropdown{display:block}.autocomplete-item{padding:var(--spacing-3, 6px) var(--spacing-4, 8px);cursor:pointer;font-size:var(--font-size-sm, 12px)}.autocomplete-item:hover,.autocomplete-item.is-highlighted{background-color:var(--color-primary-bg, #eef2f7)}.autocomplete-item mark{background-color:var(--color-warning-light, #fef3c7);padding:0 2px;border-radius:2px}:root{--icon-color-primary: var(--color-primary, #1e3a5f);--icon-color-success: var(--color-success, #059669);--icon-color-warning: var(--color-warning, #d97706);--icon-color-danger: var(--color-danger, #dc2626);--icon-color-info: var(--color-info, #0284c7);--icon-color-default: var(--text-secondary, #475569);--icon-color-muted: var(--text-muted, #94a3b8);--icon-color-inverse: var(--text-inverse, #ffffff);--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px;--icon-2xl: 32px}.fa-solid,.fa-regular,.fa-brands,[class^=bx],[class*=" bx"]{color:var(--icon-color-default);font-size:var(--icon-md);line-height:1;vertical-align:middle;background-color:transparent;transition:color .15s ease,transform .15s ease}.menu-icon,.menu-group-icon,.dropdown-content i{color:var(--icon-color-primary);font-size:var(--icon-sm);width:18px;text-align:center;margin-right:8px;flex-shrink:0}.menu-toggle-icon{color:var(--icon-color-primary);font-size:var(--icon-sm);margin-right:6px}.icon-primary,.fa-solid.icon-primary,[class^=bx].icon-primary{color:var(--icon-color-primary)!important}.icon-success,.fa-solid.icon-success,[class^=bx].icon-success{color:var(--icon-color-success)!important}.icon-warning,.fa-solid.icon-warning,[class^=bx].icon-warning{color:var(--icon-color-warning)!important}.icon-danger,.fa-solid.icon-danger,[class^=bx].icon-danger{color:var(--icon-color-danger)!important}.icon-info,.fa-solid.icon-info,[class^=bx].icon-info{color:var(--icon-color-info)!important}.icon-muted,.fa-solid.icon-muted,[class^=bx].icon-muted{color:var(--icon-color-muted)!important}.icon-inverse,.fa-solid.icon-inverse,[class^=bx].icon-inverse{color:var(--icon-color-inverse)!important}.icon-xs{font-size:var(--icon-xs)!important}.icon-sm{font-size:var(--icon-sm)!important}.icon-md{font-size:var(--icon-md)!important}.icon-lg{font-size:var(--icon-lg)!important}.icon-xl{font-size:var(--icon-xl)!important}.icon-2xl{font-size:var(--icon-2xl)!important}.fa-check,.fa-check-circle,.fa-circle-check,.fa-check-double,.fa-thumbs-up{color:var(--icon-color-success)}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-exclamation-circle{color:var(--icon-color-warning)}.fa-times,.fa-times-circle,.fa-xmark,.fa-trash,.fa-thumbs-down{color:var(--icon-color-danger)}.fa-info-circle,.fa-question-circle,.fa-lightbulb{color:var(--icon-color-info)}.fa-robot,.fa-wand-magic-sparkles,.fa-sparkles,.fa-microchip,.fa-file,.fa-file-pdf,.fa-file-excel,.fa-file-csv,.fa-file-code,.fa-file-lines,.fa-file-import,.fa-file-export,.fa-file-invoice-dollar,.fa-file-zipper,.fa-file-contract,.fa-arrow-left,.fa-arrow-right,.fa-arrow-up-right-from-square,.fa-external-link{color:var(--icon-color-primary)}.fa-cog,.fa-gear,.fa-gears,.fa-sliders{color:var(--icon-color-default)}button:hover .fa-solid,a:hover .fa-solid,button:hover [class^=bx],a:hover [class^=bx]{transform:scale(1.05)}button:disabled .fa-solid,.disabled .fa-solid,button:disabled [class^=bx],.disabled [class^=bx]{color:var(--icon-color-muted)!important;opacity:.6}.active .fa-solid,.active [class^=bx]{color:var(--icon-color-primary)}.btn.primary .fa-solid,.btn.primary [class^=bx],.btn.success .fa-solid,.btn.success [class^=bx],.btn.danger .fa-solid,.btn.danger [class^=bx]{color:var(--icon-color-inverse)}.btn.outline .fa-solid,.btn.outline [class^=bx]{color:var(--icon-color-primary)}.alert .fa-solid,.alert [class^=bx]{font-size:var(--icon-lg);margin-right:10px}.alert-success .fa-solid{color:var(--icon-color-success)}.alert-warning .fa-solid{color:var(--icon-color-warning)}.alert-danger .fa-solid{color:var(--icon-color-danger)}.alert-info .fa-solid{color:var(--icon-color-info)}table .fa-solid,table [class^=bx]{font-size:var(--icon-sm)}.table-actions .fa-solid{cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s ease}.table-actions .fa-solid:hover{background-color:var(--gray-100)}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%}.status-icon.success{background-color:transparent;color:var(--icon-color-success)}.status-icon.warning{background-color:transparent;color:var(--icon-color-warning)}.status-icon.danger{background-color:transparent;color:var(--icon-color-danger)}.status-icon.info{background-color:transparent;color:var(--icon-color-info)}.fa-spinner{color:var(--icon-color-primary)}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-spin,.fa-spinner.fa-spin{animation:icon-spin 1s linear infinite}.dropdown-content .fa-solid{color:var(--icon-color-primary);font-size:var(--icon-sm);width:20px;text-align:center}.dropdown-content .menu-item:hover .fa-solid{color:var(--icon-color-primary)}.badge-icon{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-icon .fa-solid{font-size:var(--icon-xs)}.badge-icon.primary{background-color:transparent;color:var(--icon-color-primary)}.badge-icon.success{background-color:transparent;color:var(--icon-color-success)}.badge-icon.warning{background-color:transparent;color:var(--icon-color-warning)}.badge-icon.danger{background-color:transparent;color:var(--icon-color-danger)}.badge-icon.info{background-color:transparent;color:var(--icon-color-info)}.fa-boxes-stacked,.fa-box,.fa-cubes,.fa-calculator,.fa-sack-dollar,.fa-wallet,.fa-piggy-bank{color:var(--icon-color-primary)}.fa-chart-bar,.fa-chart-line,.fa-chart-pie,.fa-chart-column{color:var(--icon-color-info)}.fa-user,.fa-users,.fa-user-plus{color:var(--icon-color-primary)}.special-row-icons-container{display:inline-flex;align-items:center;gap:8px;margin-left:10px}.row-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);transition:color .2s ease,transform .15s ease}.row-icon:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.notes-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);transition:color .2s ease,transform .15s ease}.notes-icon:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.notes-icon.has-notes:hover{color:var(--color-info, #0284c7)}.color-picker-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);transition:color .2s ease,transform .15s ease}.color-picker-icon:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.edit-special-row-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);transition:color .2s ease,transform .15s ease}.edit-special-row-icon:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.ai-analyze-icon,.ai-analyze-icon.fa-microchip,i.ai-analyze-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f)!important;background:transparent!important;transition:color .2s ease,transform .15s ease}.ai-analyze-icon:hover,.ai-analyze-icon.fa-microchip:hover,i.ai-analyze-icon:hover{color:var(--color-info, #0284c7)!important;background:transparent!important;transform:scale(1.1)}.calculator-icon-qty{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);transition:color .2s ease,transform .15s ease}.calculator-icon-qty.has-calculation:hover{color:var(--color-info, #0284c7)}.labor-override-icon{color:var(--icon-color-warning)!important;font-size:12px;margin-left:4px}.unified-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.unified-modal-overlay.active,.unified-modal-overlay.show{opacity:1;visibility:visible}.unified-modal{background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl, 12px);box-shadow:0 8px 32px #00000026,0 0 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.3);overflow:hidden;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;animation:unifiedModalScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.unified-modal.modal-sm{width:400px}.unified-modal.modal-md{width:560px}.unified-modal.modal-lg{width:720px}.unified-modal.modal-xl{width:900px}.unified-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-8, 16px) var(--spacing-10, 20px);background:linear-gradient(135deg,var(--color-primary, #1e3a5f) 0%,var(--color-primary-light, #3d5a80) 100%);color:var(--header-text, #ffffff);flex-shrink:0;border-bottom:none}.unified-modal .modal-header h2,.unified-modal .modal-header .modal-title{font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-semibold, 600);margin:0;display:flex;align-items:center;gap:var(--spacing-4, 8px);color:inherit}.unified-modal .modal-header h2 i,.unified-modal .modal-header .modal-title i{font-size:1.2em;opacity:.9}.unified-modal .close-btn,.unified-modal .close-modal-btn,.unified-modal [data-dismiss=modal]{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .3s ease;flex-shrink:0;line-height:1}.unified-modal .close-btn:hover,.unified-modal .close-modal-btn:hover,.unified-modal [data-dismiss=modal]:hover{background:#ffffff59;transform:rotate(90deg)}.unified-modal .modal-body{padding:var(--spacing-10, 20px);overflow-y:auto;flex:1;color:var(--text-primary, #1e293b)}.unified-modal .modal-body::-webkit-scrollbar{width:6px}.unified-modal .modal-body::-webkit-scrollbar-track{background:var(--gray-100, #f1f5f9);border-radius:3px}.unified-modal .modal-body::-webkit-scrollbar-thumb{background:var(--color-primary-light, #3d5a80);border-radius:3px}.unified-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-4, 8px);padding:var(--spacing-6, 12px) var(--spacing-10, 20px);background:var(--color-primary-bg, #eef2f7);border-top:1px solid rgba(0,0,0,.05);flex-shrink:0}.unified-modal .btn{padding:var(--spacing-4, 8px) var(--spacing-8, 16px);border-radius:var(--radius-md, 6px);border:none;cursor:pointer;font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-3, 6px);transition:background .2s ease,transform .15s ease,box-shadow .2s ease;min-height:var(--btn-height-md, 34px)}.unified-modal .btn-primary{background:linear-gradient(135deg,var(--color-primary, #1e3a5f) 0%,var(--color-primary-light, #3d5a80) 100%);color:var(--btn-primary-text, #ffffff);box-shadow:0 4px 12px #00000026}.unified-modal .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.unified-modal .btn-secondary{background:#fff;color:var(--text-secondary, #475569);border:1px solid var(--border-color, #e2e8f0)}.unified-modal .btn-secondary:hover{background:var(--gray-100, #f1f5f9)}.unified-modal .btn-danger{background:linear-gradient(135deg,var(--color-danger, #dc2626) 0%,#ef4444 100%);color:#fff;box-shadow:0 4px 12px #dc26264d}.unified-modal .btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.unified-modal .form-group{margin-bottom:var(--spacing-6, 12px)}.unified-modal .form-group label{display:block;margin-bottom:var(--spacing-2, 4px);font-weight:var(--font-weight-medium, 500);font-size:var(--font-size-sm, 12px);color:var(--text-secondary, #475569)}.unified-modal .form-group input,.unified-modal .form-group select,.unified-modal .form-group textarea{width:100%;padding:var(--spacing-4, 8px) var(--spacing-5, 10px);border:2px solid var(--border-color, #e2e8f0);border-radius:var(--radius-md, 6px);font-size:var(--font-size-base, 13px);font-family:inherit;background:#fff;color:var(--text-primary, #1e293b);transition:border-color .2s ease,box-shadow .2s ease}.unified-modal .form-group input:focus,.unified-modal .form-group select:focus,.unified-modal .form-group textarea:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px var(--focus-ring-color, rgba(30, 58, 95, .15))}@keyframes unifiedModalScaleIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.unified-modal{max-width:95vw;max-height:95vh;margin:10px}.unified-modal.modal-sm,.unified-modal.modal-md,.unified-modal.modal-lg,.unified-modal.modal-xl{width:95vw}}.modal-stack-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000;transition:background-color .2s ease;pointer-events:none}.modal-stack-overlay.visible{background-color:#00000080;pointer-events:auto}.modal-stack-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background-color:var(--bg-secondary, #ffffff);border-radius:var(--border-radius-lg, 8px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));opacity:0;transition:opacity .2s ease,transform .2s ease;max-height:calc(100vh - 48px);display:flex;flex-direction:column;pointer-events:none}.modal-stack-modal.visible{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.modal-size-small{width:90%;max-width:400px}.modal-size-medium{width:90%;max-width:600px}.modal-size-large{width:90%;max-width:900px}.modal-size-fullscreen{width:calc(100vw - 32px);height:calc(100vh - 32px);max-width:none;max-height:none;border-radius:var(--border-radius-md, 4px)}.modal-stack-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4, 16px) var(--spacing-6, 24px);border-bottom:1px solid var(--border-color-light, #e5e7eb);flex-shrink:0}.modal-stack-title{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #1f2937);line-height:1.4}.modal-stack-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--border-radius-md, 4px);color:var(--text-secondary, #6b7280);cursor:pointer;transition:background-color .15s ease,color .15s ease}.modal-stack-close:hover{background-color:var(--bg-hover, #f3f4f6);color:var(--text-primary, #1f2937)}.modal-stack-close:focus{outline:2px solid var(--color-primary, #1e3a5f);outline-offset:2px}.modal-stack-body{padding:var(--spacing-6, 24px);overflow-y:auto;flex:1}.modal-stack-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3, 12px);padding:var(--spacing-4, 16px) var(--spacing-6, 24px);border-top:1px solid var(--border-color-light, #e5e7eb);flex-shrink:0}.modal-stack-footer:empty{display:none}body.modal-open{overflow:hidden}@media (max-width: 767px){.modal-stack-modal{width:95%;max-height:calc(100vh - 24px)}.modal-size-small,.modal-size-medium,.modal-size-large{max-width:none}.modal-size-fullscreen{width:calc(100vw - 16px);height:calc(100vh - 16px)}.modal-stack-header{padding:var(--spacing-3, 12px) var(--spacing-4, 16px)}.modal-stack-body{padding:var(--spacing-4, 16px)}.modal-stack-footer{padding:var(--spacing-3, 12px) var(--spacing-4, 16px);flex-direction:column}.modal-stack-footer button{width:100%}}@media (min-width: 768px) and (max-width: 1023px){.modal-size-large{max-width:90%}}.dark .modal-stack-overlay.visible,[data-theme=dark] .modal-stack-overlay.visible{background-color:#000000b3}.dark .modal-stack-modal,[data-theme=dark] .modal-stack-modal{background-color:var(--bg-card, #1e293b);border:1px solid var(--border-color, #334155)}.dark .modal-stack-header,[data-theme=dark] .modal-stack-header{border-bottom-color:var(--border-color, #334155)}.dark .modal-stack-title,[data-theme=dark] .modal-stack-title{color:var(--text-primary, #f1f5f9)}.dark .modal-stack-close,[data-theme=dark] .modal-stack-close{color:var(--text-secondary, #94a3b8)}.dark .modal-stack-close:hover,[data-theme=dark] .modal-stack-close:hover{background-color:var(--bg-hover, #334155);color:var(--text-primary, #f1f5f9)}.dark .modal-stack-footer,[data-theme=dark] .modal-stack-footer{border-top-color:var(--border-color, #334155)}@keyframes modalStackFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalStackScaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.modal-stack-overlay,.modal-stack-modal{transition:none}}.measurement-calculator{display:grid;grid-template-columns:1fr 250px;gap:var(--spacing-6, 24px);min-height:300px}@media (max-width: 767px){.measurement-calculator{grid-template-columns:1fr;gap:var(--spacing-4, 16px)}}.calc-main{display:flex;flex-direction:column;gap:var(--spacing-4, 16px)}.calc-label{display:block;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #6b7280);margin-bottom:var(--spacing-2, 8px)}.calc-formula-section{margin-bottom:var(--spacing-2, 8px)}.calc-formula-wrapper{position:relative;display:flex;align-items:center}.calc-formula-input{width:100%;padding:var(--spacing-3, 12px) var(--spacing-10, 40px) var(--spacing-3, 12px) var(--spacing-3, 12px);font-size:var(--font-size-lg, 1.125rem);font-family:Roboto Mono,monospace;border:2px solid var(--border-color, #d1d5db);border-radius:var(--border-radius-md, 6px);background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937);transition:border-color .15s ease,box-shadow .15s ease}.calc-formula-input:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f1a}.calc-formula-input::placeholder{color:var(--text-muted, #9ca3af)}.calc-clear-btn{position:absolute;right:var(--spacing-2, 8px);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-muted, #9ca3af);cursor:pointer;border-radius:var(--border-radius-sm, 4px);transition:color .15s ease,background-color .15s ease}.calc-clear-btn:hover{color:var(--text-primary, #1f2937);background-color:var(--bg-hover, #f3f4f6)}.calc-hint{margin-top:var(--spacing-1, 4px);font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #9ca3af)}.calc-variables-section{padding:var(--spacing-3, 12px);background-color:var(--bg-secondary, #f9fafb);border-radius:var(--border-radius-md, 6px);border:1px solid var(--border-color-light, #e5e7eb)}.calc-variables-container{display:flex;flex-wrap:wrap;gap:var(--spacing-3, 12px)}.calc-variable-row{display:flex;align-items:center;gap:var(--spacing-2, 8px)}.calc-variable-row label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #1f2937);min-width:60px}.calc-variable-input{width:100px;padding:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);font-family:Roboto Mono,monospace;border:1px solid var(--border-color, #d1d5db);border-radius:var(--border-radius-sm, 4px);background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #1f2937)}.calc-variable-input:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 2px #1e3a5f1a}.calc-result-section{padding:var(--spacing-4, 16px);background-color:var(--bg-secondary, #f9fafb);border-radius:var(--border-radius-md, 6px);border:1px solid var(--border-color-light, #e5e7eb);text-align:center}.calc-result-label{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #6b7280);margin-bottom:var(--spacing-2, 8px)}.calc-result-value{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);font-family:Roboto Mono,monospace;color:var(--color-primary, #1e3a5f)}.calc-result-value.error{color:var(--color-danger, #dc2626)}.calc-result-error{margin-top:var(--spacing-2, 8px);font-size:var(--font-size-sm, .875rem);color:var(--color-danger, #dc2626)}.calc-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3, 12px);margin-top:auto;padding-top:var(--spacing-4, 16px)}.calc-actions .btn{min-width:100px}.calc-history-section{display:flex;flex-direction:column;border-left:1px solid var(--border-color-light, #e5e7eb);padding-left:var(--spacing-4, 16px)}@media (max-width: 767px){.calc-history-section{border-left:none;border-top:1px solid var(--border-color-light, #e5e7eb);padding-left:0;padding-top:var(--spacing-4, 16px)}}.calc-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3, 12px)}.calc-history-header .calc-label{margin-bottom:0}.calc-history-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-muted, #9ca3af);cursor:pointer;border-radius:var(--border-radius-sm, 4px);transition:color .15s ease,background-color .15s ease}.calc-history-clear:hover{color:var(--color-danger, #dc2626);background-color:var(--bg-hover, #f3f4f6)}.calc-history-list{flex:1;overflow-y:auto;max-height:300px}.calc-history-empty{padding:var(--spacing-4, 16px);text-align:center;color:var(--text-muted, #9ca3af);font-size:var(--font-size-sm, .875rem)}.calc-history-item{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border-radius:var(--border-radius-sm, 4px);cursor:pointer;transition:background-color .15s ease;margin-bottom:var(--spacing-1, 4px)}.calc-history-item:hover{background-color:var(--bg-hover, #f3f4f6)}.calc-history-formula{font-size:var(--font-size-sm, .875rem);font-family:Roboto Mono,monospace;color:var(--text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calc-history-result{font-size:var(--font-size-xs, .75rem);color:var(--color-primary, #1e3a5f);font-weight:var(--font-weight-medium, 500)}.dark .calc-formula-input,[data-theme=dark] .calc-formula-input{background-color:var(--bg-card, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}.dark .calc-formula-input:focus,[data-theme=dark] .calc-formula-input:focus{border-color:var(--color-primary-light, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.dark .calc-variables-section,.dark .calc-result-section,[data-theme=dark] .calc-variables-section,[data-theme=dark] .calc-result-section{background-color:var(--bg-card, #1e293b);border-color:var(--border-color, #334155)}.dark .calc-variable-input,[data-theme=dark] .calc-variable-input{background-color:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}.dark .calc-history-section,[data-theme=dark] .calc-history-section{border-left-color:var(--border-color, #334155)}.dark .calc-history-item:hover,[data-theme=dark] .calc-history-item:hover{background-color:var(--bg-hover, #334155)}.dark .calc-history-formula,[data-theme=dark] .calc-history-formula{color:var(--text-primary, #f1f5f9)}@media (prefers-reduced-motion: reduce){.calc-formula-input,.calc-variable-input,.calc-clear-btn,.calc-history-clear,.calc-history-item{transition:none}}.autocomplete-container{position:absolute;z-index:10000;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #ddd);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;display:none;animation:autocomplete-fade-in .15s ease-out}@keyframes autocomplete-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.autocomplete-container::-webkit-scrollbar{width:6px}.autocomplete-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.autocomplete-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.autocomplete-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.autocomplete-suggestion{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color-light, #eee);display:flex;align-items:center;gap:8px;transition:background-color .15s ease;font-size:14px;color:var(--text-primary, #333)}.autocomplete-suggestion:last-child{border-bottom:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.autocomplete-active{background-color:var(--primary-bg, #e3f2fd)}.autocomplete-suggestion .suggestion-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted, #666);flex-shrink:0}.autocomplete-suggestion .suggestion-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-suggestion .suggestion-score{font-size:11px;color:var(--text-muted, #999);padding:2px 6px;background:var(--bg-secondary, #f5f5f5);border-radius:10px;flex-shrink:0}.autocomplete-suggestion .suggestion-type{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);padding:2px 6px;background:var(--bg-secondary, #f0f0f0);border-radius:3px;flex-shrink:0}.autocomplete-suggestion .suggestion-type.type-catalog{background:#e8f5e9;color:#2e7d32}.autocomplete-suggestion .suggestion-type.type-history{background:#fff3e0;color:#ef6c00}.autocomplete-highlight,mark.autocomplete-highlight{background:#fff3cd;padding:0 2px;border-radius:2px;color:inherit;font-weight:600}[data-theme=dark] .autocomplete-highlight,[data-theme=dark] mark.autocomplete-highlight{background:#5c4813;color:#ffd54f}.autocomplete-empty{padding:16px;text-align:center;color:var(--text-muted, #666);font-size:13px}.autocomplete-empty .empty-icon{font-size:24px;margin-bottom:8px;opacity:.5}.autocomplete-loading{padding:16px;text-align:center;color:var(--text-muted, #666)}.autocomplete-loading:after{content:"";display:inline-block;width:16px;height:16px;border:2px solid var(--primary, #1e3a5f);border-top-color:transparent;border-radius:50%;animation:autocomplete-spin .8s linear infinite;margin-left:8px;vertical-align:middle}@keyframes autocomplete-spin{to{transform:rotate(360deg)}}.autocomplete-section-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color-light, #eee);position:sticky;top:0}.autocomplete-add-new{padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--primary, #1e3a5f);font-size:14px;border-top:1px solid var(--border-color, #ddd);background:var(--bg-secondary, #f8f9fa);transition:background-color .15s ease}.autocomplete-add-new:hover{background:var(--primary-bg, #e3f2fd)}.autocomplete-add-new .add-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--primary, #1e3a5f);color:#fff;border-radius:50%;font-size:14px;font-weight:700}input[aria-autocomplete=list]{position:relative}input[aria-autocomplete=list][aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}[data-theme=dark] .autocomplete-container{background:var(--bg-primary, #1e293b);border-color:var(--border-color, #374151);box-shadow:0 4px 12px #0006}[data-theme=dark] .autocomplete-suggestion{color:var(--text-primary, #f1f5f9);border-bottom-color:var(--border-color-light, #374151)}[data-theme=dark] .autocomplete-suggestion:hover,[data-theme=dark] .autocomplete-suggestion.autocomplete-active{background-color:var(--primary-bg, #1e3a5f)}[data-theme=dark] .autocomplete-section-header{background:var(--bg-secondary, #0f172a);color:var(--text-muted, #94a3b8)}[data-theme=dark] .autocomplete-add-new{background:var(--bg-secondary, #0f172a);border-top-color:var(--border-color, #374151)}@media (max-width: 768px){.autocomplete-container{max-height:250px;border-radius:0 0 4px 4px}.autocomplete-suggestion{padding:12px;min-height:44px}.autocomplete-suggestion .suggestion-score{display:none}}@media (prefers-contrast: high){.autocomplete-container{border-width:2px;border-color:#000}.autocomplete-suggestion:hover,.autocomplete-suggestion.autocomplete-active{background-color:#000;color:#fff}.autocomplete-highlight{background:#ff0;color:#000;font-weight:700}}@media (prefers-reduced-motion: reduce){.autocomplete-container{animation:none}.autocomplete-suggestion{transition:none}.autocomplete-loading:after{animation:none}}.estimate-comparison-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.estimate-comparison-modal.visible{opacity:1;visibility:visible}.comparison-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;cursor:pointer}.comparison-container{position:relative;width:95%;max-width:1600px;height:90vh;background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);transition:transform .3s ease}.estimate-comparison-modal.visible .comparison-container{transform:scale(1)}.comparison-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--primary, #1e3a5f);color:#fff}.comparison-header h2{margin:0;font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:10px}.comparison-actions{display:flex;align-items:center;gap:12px}.comparison-actions .btn{padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.comparison-actions .btn-secondary{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff}.comparison-actions .btn-secondary:hover{background:#ffffff40}.comparison-actions .btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-primary, #1e3a5f);font-size:1.25rem}.comparison-actions .btn-icon:hover{background:transparent;color:var(--color-info, #0284c7)}.comparison-summary{padding:16px 24px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0)}.summary-cards{display:flex;gap:16px;flex-wrap:wrap}.summary-card{flex:1;min-width:150px;padding:12px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.summary-card .card-label{font-size:.75rem;color:var(--text-muted, #6c757d);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.summary-card .card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary, #212529)}.summary-card .card-value.positive{color:var(--success, #28a745)}.summary-card .card-value.negative{color:var(--danger, #dc3545)}.summary-card .card-percentage{font-size:.875rem;margin-top:2px}.summary-card .card-percentage.positive{color:var(--success, #28a745)}.summary-card .card-percentage.negative{color:var(--danger, #dc3545)}.text-success{color:var(--success, #28a745)!important}.text-danger{color:var(--danger, #dc3545)!important}.comparison-filters{display:flex;gap:8px;padding:12px 24px;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e0e0e0)}.filter-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:20px;font-size:.875rem;color:var(--text-secondary, #495057);cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--primary-bg, #e8f0f8);border-color:var(--primary, #1e3a5f)}.filter-btn.active{background:var(--primary, #1e3a5f);border-color:var(--primary, #1e3a5f);color:#fff}.filter-btn .badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.filter-btn .badge-warning{background:var(--warning, #ffc107);color:#212529}.filter-btn .badge-success{background:var(--success, #28a745);color:#fff}.filter-btn .badge-danger{background:var(--danger, #dc3545);color:#fff}.filter-btn.active .badge{background:#ffffff4d;color:#fff}.comparison-content{flex:1;display:flex;overflow:hidden}.comparison-side{flex:1;display:flex;flex-direction:column;overflow:hidden}.comparison-divider{width:4px;background:var(--border-color, #e0e0e0);cursor:col-resize}.comparison-divider:hover{background:var(--primary, #1e3a5f)}.side-header{padding:12px 16px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0)}.side-header h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary, #212529)}.estimate-stats{display:flex;gap:16px;font-size:.8125rem;color:var(--text-muted, #6c757d)}.estimate-stats span{display:flex;align-items:center;gap:4px}.side-body{flex:1;overflow-y:auto;padding:8px}.comparison-row{padding:12px;margin-bottom:4px;border-radius:6px;border:1px solid transparent;transition:all .2s ease}.comparison-row:hover{box-shadow:0 2px 8px #0000001a}.comparison-row.diff-added{background-color:#d4edda!important;border-color:#c3e6cb}.comparison-row.diff-removed{background-color:#f8d7da!important;border-color:#f5c6cb}.comparison-row.diff-changed{background-color:#fff3cd!important;border-color:#ffeeba}.comparison-row.diff-unchanged{background-color:transparent;border-color:var(--border-color, #e0e0e0)}.comparison-row.empty-row{display:flex;align-items:center;justify-content:center;min-height:80px;opacity:.6}.row-placeholder{display:flex;align-items:center;gap:8px;font-style:italic;color:var(--text-muted, #6c757d)}.row-description{font-size:.9375rem;font-weight:500;color:var(--text-primary, #212529);margin-bottom:6px;line-height:1.4}.row-details{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--text-secondary, #495057)}.row-quantity{display:flex;align-items:center;gap:4px}.row-total{font-weight:600;color:var(--text-primary, #212529)}.field-changed{position:relative;padding:2px 4px;background:#ffc1074d;border-radius:3px}.row-changes{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.1);font-size:.75rem}.change-item{display:flex;align-items:center;gap:6px;margin-bottom:2px}.change-label{color:var(--text-muted, #6c757d)}.change-value{font-weight:500}.change-delta{font-size:.6875rem}.change-delta.positive{color:var(--success, #28a745)}.change-delta.negative{color:var(--danger, #dc3545)}.no-items{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted, #6c757d);font-style:italic}@media (max-width: 1024px){.comparison-container{width:98%;height:95vh}.comparison-content{flex-direction:column}.comparison-divider{width:100%;height:4px;cursor:row-resize}.comparison-side{flex:none;height:50%}.summary-cards{flex-wrap:wrap}.summary-card{min-width:120px}}@media (max-width: 768px){.comparison-header{padding:12px 16px}.comparison-header h2{font-size:1rem}.comparison-filters{padding:8px 16px;overflow-x:auto}.filter-btn{padding:6px 12px;font-size:.8125rem;white-space:nowrap}.summary-card .card-value{font-size:1.25rem}}@media (prefers-color-scheme: dark){.comparison-container{background:#1e293b}.comparison-summary{background:#0f172a}.summary-card{background:#1e293b}.summary-card .card-value{color:#f1f5f9}.comparison-filters{background:#1e293b}.filter-btn{background:#0f172a;border-color:#334155;color:#94a3b8}.side-header{background:#0f172a}.side-header h3{color:#f1f5f9}.comparison-row.diff-unchanged{border-color:#334155}.row-description,.row-total{color:#f1f5f9}}@media print{.estimate-comparison-modal{position:static;height:auto}.comparison-overlay{display:none}.comparison-container{width:100%;height:auto;box-shadow:none;border-radius:0}.comparison-actions{display:none}.comparison-content{flex-direction:column}.comparison-side{height:auto;page-break-inside:avoid}.side-body{overflow:visible}}.warning-banner-container{position:sticky;top:0;z-index:1000;display:flex;flex-direction:column;gap:0}.warning-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.1);animation:bannerSlideIn .3s ease-out}@keyframes bannerSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.warning-banner.banner-critical{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.warning-banner.banner-error{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.warning-banner.banner-warning{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.warning-banner.banner-info{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.warning-banner.acknowledged{opacity:.85}.warning-banner.acknowledged:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#ffffff80}.banner-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff3;flex-shrink:0}.banner-icon i{font-size:16px}.banner-content{flex:1;min-width:0}.banner-title{font-weight:600;font-size:14px;margin-bottom:2px}.banner-message{font-size:13px;opacity:.95}.banner-details{font-size:12px;opacity:.8;margin-top:4px}.banner-actions{display:flex;gap:8px;flex-shrink:0}.btn-banner{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:#fff3;color:inherit;cursor:pointer;transition:background .2s ease}.btn-banner:hover{background:#ffffff59}.btn-banner:active{background:#ffffff80}.banner-timestamp{font-size:11px;opacity:.7;white-space:nowrap;flex-shrink:0}.alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:600;color:#fff}.alert-badge.badge-critical{background:#dc3545}.alert-badge.badge-warning{background:#f39c12}.alert-badge.badge-info{background:#3498db}.alert-indicator{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%}.alert-indicator.indicator-critical{background:#dc3545;animation:alertPulse 1.5s ease-in-out infinite}.alert-indicator.indicator-warning{background:#f39c12;animation:alertPulse 2s ease-in-out infinite}@keyframes alertPulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.7}}.threshold-config{padding:16px;background:var(--bg-secondary, #f8f9fa);border-radius:8px}.threshold-config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.threshold-config-title{font-weight:600;font-size:14px;color:var(--text-primary, #333)}.threshold-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:6px;margin-bottom:8px}.threshold-item:last-child{margin-bottom:0}.threshold-toggle{flex-shrink:0}.threshold-info{flex:1;min-width:0}.threshold-name{font-weight:500;font-size:13px;margin-bottom:2px}.threshold-description{font-size:12px;color:var(--text-secondary, #666)}.threshold-values{display:flex;gap:8px;flex-shrink:0}.threshold-input{width:60px;padding:4px 8px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:12px;text-align:center}.threshold-input:focus{outline:none;border-color:var(--primary-color, #3498db)}.threshold-input.warning{border-color:#f39c12}.threshold-input.critical{border-color:#dc3545}[data-theme=dark] .warning-banner-container{background:var(--bg-primary, #1a1a2e)}[data-theme=dark] .warning-banner{border-bottom-color:#ffffff1a}[data-theme=dark] .threshold-config{background:var(--bg-secondary, #16213e)}[data-theme=dark] .threshold-item{background:var(--bg-tertiary, #1a1a2e)}[data-theme=dark] .threshold-input{background:var(--bg-primary, #0f0f23);border-color:var(--border-color, #333);color:var(--text-primary, #e0e0e0)}@media (max-width: 768px){.warning-banner{flex-wrap:wrap;padding:10px 12px}.banner-content{order:2;width:100%;margin-top:8px}.banner-actions{order:1;margin-left:auto}.banner-timestamp{order:3;width:100%;text-align:right;margin-top:4px}.threshold-item{flex-wrap:wrap}.threshold-values{width:100%;margin-top:8px}}@media print{.warning-banner-container{position:static}.warning-banner{background:#f8f9fa!important;color:#333!important;border:1px solid #ddd;margin-bottom:8px}.banner-actions{display:none}}.multi-estimate-comparison{display:flex;flex-direction:column;gap:1rem;padding:1rem}.comparison-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--bg-secondary, #f5f5f5);border-radius:4px}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.comparison-column{border:1px solid var(--border-color, #e0e0e0);border-radius:4px;overflow:hidden}.comparison-column-header{padding:.75rem 1rem;background:var(--bg-secondary, #f5f5f5);font-weight:600;border-bottom:1px solid var(--border-color, #e0e0e0)}.comparison-row{display:flex;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border-color-light, #f0f0f0)}.comparison-row:last-child{border-bottom:none}.comparison-label{color:var(--text-secondary, #666)}.comparison-value{font-weight:500}.comparison-value.positive{color:var(--success-color, #28a745)}.comparison-value.negative{color:var(--danger-color, #dc3545)}.comparison-delta{font-size:.85em;margin-left:.5rem}.comparison-delta.up{color:var(--success-color, #28a745)}.comparison-delta.down{color:var(--danger-color, #dc3545)}.comparison-summary{margin-top:1rem;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:4px}.comparison-winner{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--success-color, #28a745)}.comparison-winner i{font-size:1.2em}:root{--zv-primary: #000000;--zv-accent: #10b981;--zv-accent-light: #d1fae5;--zv-bg-page: #f9fafb;--zv-bg-card: #ffffff;--zv-text-main: #111827;--zv-text-muted: #6b7280;--zv-border: #e5e7eb;--zv-shadow: 0 1px 3px rgba(0, 0, 0, .1);--zv-radius: 4px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--zv-bg-page);color:var(--zv-text-main);margin:0;padding:0}.zenvault-header{background:var(--zv-bg-card);color:var(--zv-text-main);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--zv-border);position:sticky;top:0;z-index:100}.zenvault-header h1{font-size:1.25rem;font-weight:600;font-family:Inter,sans-serif;display:flex;align-items:center;gap:.5rem;margin:0;color:var(--zv-primary)}.zenvault-header h1 i{color:var(--zv-accent)}.zenvault-header-actions{display:flex;gap:.5rem;align-items:center}.zenvault-container{max-width:1200px;margin:0 auto;padding:2rem}.zenvault-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.zenvault-card{background:var(--zv-bg-card);border-radius:var(--zv-radius);padding:1.5rem;box-shadow:var(--zv-shadow);border:1px solid var(--zv-border);transition:border-color .2s ease}.zenvault-card:hover{border-color:var(--zv-accent)}.zenvault-card h2{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--zv-text-main);display:flex;align-items:center;gap:.5rem;border:none;padding:0}.zenvault-card h2 i{color:var(--zv-accent)}.zenvault-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--zv-radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease;white-space:nowrap;text-decoration:none}.zenvault-btn-primary{background:var(--zv-primary);color:#fff;border-color:var(--zv-primary)}.zenvault-btn-primary:hover{background:#1f2937}.zenvault-btn-success{background:var(--zv-accent);color:#fff;border-color:var(--zv-accent)}.zenvault-btn-success:hover{background:#059669}.zenvault-btn-outline{background:transparent;color:var(--zv-text-main);border-color:var(--zv-border)}.zenvault-btn-outline:hover{background:var(--zv-bg-page);border-color:var(--zv-text-muted)}.zenvault-btn-secondary{background:var(--zv-bg-page);color:var(--zv-text-main);border-color:var(--zv-border)}.zenvault-btn-secondary:hover{background:var(--zv-border)}.zenvault-btn-sm{padding:.5rem .75rem;font-size:.8125rem}.zenvault-result-panel{background:var(--zv-bg-page);border-radius:var(--zv-radius);padding:1rem;font-family:JetBrains Mono,Consolas,monospace;font-size:.8125rem;color:var(--zv-text-main);border:1px solid var(--zv-border);margin-top:1rem;max-height:400px;overflow:auto}.zenvault-form-description{color:var(--zv-text-muted);font-size:.875rem;margin-bottom:1rem}.zenvault-toast{position:fixed;bottom:2rem;right:2rem;padding:.875rem 1.25rem;border-radius:var(--zv-radius);color:#fff;font-weight:500;font-size:.875rem;box-shadow:0 4px 12px #00000026;z-index:9999;display:flex;align-items:center;gap:.5rem}.zenvault-toast.success{background:var(--zv-accent)}.zenvault-toast.info{background:var(--zv-primary)}.zenvault-toast.warning{background:#f59e0b}.zenvault-toast.error{background:#ef4444}.payment-schedule-editor .btn-primary,.parties-form .btn-primary,.add-form .btn-primary{background:var(--zv-primary)!important;border-radius:var(--zv-radius)!important}.payment-schedule-editor .summary-item.success{border-left-color:var(--zv-accent)!important}.payment-schedule-editor .percentage-total.complete{color:var(--zv-accent)!important}.parties-tabs .parties-tab.active{color:var(--zv-primary)!important;border-bottom:2px solid var(--zv-primary)!important}.parties-form h3 i{color:var(--zv-accent)!important}.form-input:focus{border-color:var(--zv-accent)!important;box-shadow:0 0 0 2px var(--zv-accent-light)!important}.text-muted{color:var(--zv-text-muted)}.text-success{color:var(--zv-accent)}.bg-success-light{background:var(--zv-accent-light)}.view-mode-switcher{display:inline-flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.view-mode-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding-left:var(--spacing-2)}.view-mode-tabs{display:flex;gap:var(--spacing-1);background:var(--bg-secondary);padding:3px;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #0000000f}.view-mode-tab{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);min-width:100px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.view-mode-tab:hover:not(.active){background:var(--gray-100);color:var(--text-primary)}.view-mode-tab.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #1e3a5f4d;transform:translateY(-1px)}.view-mode-tab.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:#fff6;border-radius:1px}.dashboard-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-4) 0;margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color)}.dashboard-header h2{margin:0;padding:0;border:none;font-size:var(--font-size-lg);color:var(--color-primary);display:flex;align-items:center;gap:var(--spacing-3)}.dashboard-header h2:before{content:"📊";font-size:1.2em}.dashboard-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3)}.view-mode-investor .dashboard-header h2:before{content:"👤"}.view-mode-investor .dashboard-header:after{content:"Widok uproszczony dla Inwestora";display:block;width:100%;font-size:var(--font-size-xs);color:var(--color-info);background:var(--color-info-bg);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm);margin-top:var(--spacing-3);text-align:center;font-weight:var(--font-weight-medium)}.view-mode-investor .contractor-only,.view-mode-investor .internal-only,.view-mode-investor [data-visibility=contractor],.view-mode-investor [data-visibility=internal],.view-mode-investor .kpi-profit,.view-mode-investor .kpi-margin,.view-mode-investor .kpi-cost,.view-mode-investor .kpi-cost-breakdown,.view-mode-investor [data-widget-id=cost-structure],.view-mode-investor [data-widget-id=labor-cost-structure],.view-mode-investor [data-widget-id=material-profit],.view-mode-investor [data-widget-id=labor-details-table],.view-mode-investor [data-widget-id=profitability-analysis]{display:none!important}.view-mode-contractor .dashboard-header h2:before{content:"🏗️"}.view-mode-contractor .dashboard-header:after{content:"Pełna analiza z kosztami i rentownością";display:block;width:100%;font-size:var(--font-size-xs);color:var(--color-success);background:var(--color-success-bg);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm);margin-top:var(--spacing-3);text-align:center;font-weight:var(--font-weight-medium)}.view-mode-contractor .investor-only{display:none!important}.widget-content.summary-kpi-grid,.summary-kpi-grid,#analysis-dashboard .summary-kpi-grid,#analysis-dashboard .widget-content.summary-kpi-grid,#analiza .summary-kpi-grid,[data-widget-id=kpi-summary] .widget-content,.dashboard-widget[data-widget-id=kpi-summary] .widget-content{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:16px!important;flex-direction:unset!important;flex-wrap:unset!important;flex:unset!important;flex-grow:unset!important}@media (max-width: 600px){.widget-content.summary-kpi-grid,.summary-kpi-grid,#analysis-dashboard .summary-kpi-grid,[data-widget-id=kpi-summary] .widget-content{grid-template-columns:1fr!important}}.summary-box{background:#fff!important;border:1px solid var(--border-color, #e5e7eb)!important;border-radius:var(--radius-lg, 12px)!important;padding:var(--spacing-5, 20px)!important;transition:all .2s ease;position:relative;overflow:hidden;opacity:1!important;visibility:visible!important}.summary-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary, #1e3a5f);opacity:1}.summary-box:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.15));transform:translateY(-2px)}.summary-box h4{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-2, 8px)}.summary-box p,.kpi-value-large{font-size:1.5rem!important;font-weight:var(--font-weight-bold, 700)!important;color:var(--text-primary, #1f2937)!important;line-height:1.2;margin:0}.value-positive{color:var(--color-success)!important}.value-negative{color:var(--color-danger)!important}.value-neutral{color:var(--text-secondary)!important}.summary-box.kpi-revenue{border-left:5px solid var(--color-success, #059669)!important}.summary-box.kpi-revenue:before{background:linear-gradient(90deg,var(--color-success, #059669),#34d399)}.summary-box.kpi-cost{border-left:5px solid var(--color-warning, #f59e0b)!important}.summary-box.kpi-cost:before{background:linear-gradient(90deg,var(--color-warning, #f59e0b),#fbbf24)}.summary-box.kpi-profit{border-left:5px solid var(--color-primary, #1e3a5f)!important}.summary-box.kpi-profit:before{background:linear-gradient(90deg,var(--color-primary, #1e3a5f),#3b82f6)}.summary-box.kpi-margin{border-left:5px solid #8b5cf6!important}.summary-box.kpi-margin:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.view-mode-investor .widget-content.summary-kpi-grid{grid-template-columns:1fr!important;max-width:500px;margin:0 auto}.view-mode-investor .summary-box.kpi-revenue{padding:var(--spacing-8);text-align:center;background:#fff;border:2px solid var(--color-primary-light)}.view-mode-investor .summary-box:before{height:4px;opacity:1;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light),var(--color-primary))}.view-mode-investor .summary-box h4{font-size:var(--font-size-md);color:var(--color-primary);margin-bottom:var(--spacing-3)}.view-mode-investor .kpi-value-large{font-size:2.5rem;color:var(--color-primary)!important}#investor-extra-kpis{display:none;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4);margin-top:var(--spacing-4);grid-column:1 / -1}.view-mode-investor #investor-extra-kpis{display:grid}#investor-extra-kpis .summary-box{padding:var(--spacing-4);background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center}#investor-extra-kpis .summary-box:before{background:var(--color-info);opacity:1}#investor-extra-kpis .kpi-value-large{font-size:1.25rem;color:var(--color-info)}.delta-indicator{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--spacing-2)}.delta-indicator.value-positive{background:var(--color-success-bg);color:var(--color-success)}.delta-indicator.value-negative{background:var(--color-danger-bg);color:var(--color-danger)}.mode-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.mode-badge-investor{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.mode-badge-contractor{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #86efac}.mode-badge-internal{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.dashboard-widget{background:#fff!important;border:1px solid var(--border-color, #e5e7eb)!important;border-radius:var(--radius-lg, 12px);overflow:hidden;transition:all .2s ease;opacity:1!important;visibility:visible!important}.dashboard-widget:hover{box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.1))}.widget-header{display:flex;align-items:center;gap:var(--spacing-3, 12px);padding:var(--spacing-4, 16px);background:#f9fafb!important;border-bottom:1px solid var(--border-color, #e5e7eb);cursor:pointer;-webkit-user-select:none;user-select:none}.widget-header button,.dashboard-widget .widget-header button{background:transparent!important;border:none!important;box-shadow:none!important;min-height:auto!important;padding:6px 10px!important;color:#6b7280!important;transform:none!important}.widget-header button:hover,.dashboard-widget .widget-header button:hover{background:#e5e7eb!important;color:#374151!important;transform:none!important;box-shadow:none!important}.widget-header h3{flex:1;margin:0;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #1f2937)!important}.widget-header .drag-handle{color:var(--text-muted, #9ca3af);cursor:grab;font-size:12px;letter-spacing:2px}.widget-content{padding:var(--spacing-4, 16px);background:#fff!important;opacity:1!important}.widget-collapsed .widget-content{display:none}.widget-collapsed .widget-header{border-bottom:none}.dashboard-widget{animation:fadeInUp .3s ease forwards}@keyframes fadeInUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.view-mode-investor .dashboard-widget,.view-mode-contractor .dashboard-widget{transition:transform .3s ease}.view-mode-transition .contractor-only,.view-mode-transition .investor-only{transition:transform .25s ease-out}.view-mode-investor .contractor-only,.view-mode-contractor .investor-only{display:none!important}.analysis-table-container{overflow-x:auto;margin:var(--spacing-4) 0}.analysis-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.analysis-table th{background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold);text-align:left;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.analysis-table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-color-light);vertical-align:middle}.analysis-table tbody tr:nth-child(2n){background:var(--gray-50)}.analysis-table tbody tr:hover{background:var(--color-primary-bg)}.analysis-table .summary-row{background:#f3f4f6!important;font-weight:var(--font-weight-semibold)}.analysis-table .summary-row td{border-top:2px solid var(--color-primary);padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.analysis-table .text-right{text-align:right}.analysis-table .text-center{text-align:center}.price-breakdown-table{max-width:500px;margin:var(--spacing-4) auto}.price-breakdown-container{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px dashed var(--border-color)}.chart-container{position:relative;height:280px;padding:var(--spacing-4, 16px);background:#fff!important;opacity:1!important;visibility:visible!important}.chart-container canvas{max-height:100%;opacity:1!important;visibility:visible!important}.dashboard-widget .chart-container{background:#fff!important}.dashboard-widget .widget-content .chart-container canvas{filter:none!important;opacity:1!important}.skeleton-loader{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-kpi{height:40px;width:120px}.skeleton-table-row{height:36px;margin-bottom:var(--spacing-2)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analysis-error-message{display:none;background:var(--color-danger-bg);border:1px solid var(--color-danger-light);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-4);text-align:center}.analysis-error-message p{color:var(--color-danger);margin-bottom:var(--spacing-3)}.analysis-error-message i{margin-right:var(--spacing-2)}@media (max-width: 992px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-actions{width:100%;justify-content:flex-start}}@media (max-width: 768px){.view-mode-switcher{width:100%;justify-content:center}.view-mode-tabs{flex:1}.view-mode-tab{flex:1;min-width:auto;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.view-mode-investor .widget-content.summary-kpi-grid{max-width:100%}.view-mode-investor .kpi-value-large{font-size:2rem}#investor-extra-kpis{grid-template-columns:1fr}.chart-container{height:220px}.dashboard-actions{flex-wrap:wrap;gap:var(--spacing-2)}.dashboard-actions button{flex:1;min-width:120px}}@media (max-width: 480px){.widget-content.summary-kpi-grid{grid-template-columns:1fr!important}.view-mode-label{display:none}.kpi-value-large{font-size:1.25rem}.view-mode-investor .kpi-value-large{font-size:1.75rem}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:10pt;line-height:1.4;color:#1f2937;background:#fff;margin:0;padding:0}.no-print,.view-mode-switcher,.toolbar,.sidebar,.fab-container,button:not(.print-visible),.modal,.notification,nav,header:not(.print-header){display:none!important}.page-break-before{page-break-before:always}.page-break-after{page-break-after:always}.avoid-break{page-break-inside:avoid}@page{margin:15mm 12mm;size:A4 portrait}@page :first{margin-top:10mm}}.print-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;margin-bottom:25px;border-bottom:3px solid #1e3a5f;position:relative}.print-header:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:1px;background:#1e3a5f;opacity:.3}.print-header-logo{max-height:50px;max-width:180px}.print-header-company{flex:1}.print-header-company h1{font-size:16pt;color:#1e3a5f;margin:0 0 5px;font-weight:700}.print-header-company p{font-size:9pt;color:#64748b;margin:2px 0}.print-header-info{text-align:right;font-size:9pt;color:#64748b}.print-header-info .document-type{font-size:12pt;font-weight:700;color:#1e3a5f;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;padding:8px 16px;background:linear-gradient(135deg,#eef2f7,#e2e8f0);border-radius:4px;display:inline-block}.print-header-info .document-number{font-weight:600;color:#374151}.print-footer{position:fixed;bottom:0;left:0;right:0;padding:10px 15mm;border-top:1px solid #e5e7eb;font-size:8pt;color:#9ca3af;display:flex;justify-content:space-between;background:#fff}.print-footer-left{text-align:left}.print-footer-center{text-align:center;flex:1}.print-footer-right{text-align:right}.print-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-35deg);font-size:100pt;font-weight:900;letter-spacing:20px;pointer-events:none;z-index:-1;white-space:nowrap;opacity:.03;color:#1e3a5f}.print-watermark-investor{color:#1e40af;opacity:.04}.print-watermark-internal{color:#dc2626;opacity:.04}.print-template-investor{font-family:Segoe UI,Tahoma,sans-serif}.print-template-investor h1{font-size:18pt;color:#1e3a5f;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid #1e3a5f}.print-template-investor h2{font-size:12pt;color:#1e3a5f;margin:25px 0 12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:8px}.print-template-investor h2:before{content:"";width:4px;height:18px;background:linear-gradient(180deg,#1e3a5f,#3d5a80);border-radius:2px}.print-template-investor table{width:100%;border-collapse:collapse;margin:15px 0;font-size:9pt}.print-template-investor th{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;padding:12px 10px;text-align:left;font-weight:600;font-size:8pt;text-transform:uppercase;letter-spacing:.3px}.print-template-investor td{padding:10px;border-bottom:1px solid #e5e7eb}.print-template-investor tr:nth-child(2n){background:#f8fafc}.print-template-investor .department-row{background:linear-gradient(135deg,#e5e7eb,#f1f5f9)!important;font-weight:700}.print-template-investor .department-row td{padding:12px 10px;border-top:2px solid #cbd5e1}.print-template-investor .subdepartment-row{background:#f8fafc!important;font-style:italic;color:#64748b}.print-template-investor .summary-row{background:#f1f5f9!important;font-weight:600}.print-template-investor .total-row{background:linear-gradient(135deg,#1e3a5f,#2d4a6f)!important;color:#fff!important;font-weight:700;font-size:11pt}.print-template-investor .total-row td{padding:14px 10px}.print-template-investor .col-cost,.print-template-investor .col-profit,.print-template-investor .col-margin,.print-template-investor .col-purchase-price{display:none!important}.print-template-internal{font-family:Segoe UI,Tahoma,sans-serif}.print-template-internal .confidential-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #dc2626;color:#dc2626;padding:12px 20px;text-align:center;font-weight:800;font-size:11pt;text-transform:uppercase;letter-spacing:3px;margin-bottom:25px;border-radius:4px;box-shadow:0 2px 4px #dc26261a}.print-template-internal h1{font-size:16pt;color:#1f2937;margin:0 0 5px}.print-template-internal .document-meta{font-size:9pt;color:#6b7280;margin-bottom:20px}.print-template-internal h2{font-size:11pt;color:#1f2937;margin:25px 0 12px;padding-left:12px;border-left:4px solid #dc2626;background:linear-gradient(90deg,#fef2f2 0%,transparent 100%);padding-top:6px;padding-bottom:6px}.print-template-internal h3{font-size:10pt;color:#374151;margin:15px 0 10px}.print-template-internal table{width:100%;border-collapse:collapse;margin:12px 0;font-size:8pt}.print-template-internal th{background:linear-gradient(135deg,#374151,#4b5563);color:#fff;padding:10px 8px;text-align:left;font-weight:600;font-size:7pt;text-transform:uppercase;letter-spacing:.3px}.print-template-internal td{padding:8px;border:1px solid #e5e7eb}.print-template-internal tr:nth-child(2n){background:#f9fafb}.print-template-internal .department-row{background:linear-gradient(135deg,#e5e7eb,#f3f4f6)!important;font-weight:700}.print-template-internal .subdepartment-row{background:#f3f4f6!important;font-style:italic}.print-template-internal .summary-row{background:#f3f4f6!important;font-weight:600}.print-template-internal .value-positive{color:#059669!important;font-weight:700}.print-template-internal .value-negative{color:#dc2626!important;font-weight:700}.print-template-internal .profitability-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;padding:20px;margin:25px 0;border-radius:6px;box-shadow:0 2px 8px #f59e0b26}.print-template-internal .profitability-section h3{color:#92400e;margin:0 0 15px;font-size:11pt;border:none;padding:0;background:none}.print-template-internal .norms-cell{font-size:7pt;color:#6b7280;padding:6px 8px;background:#f9fafb;margin-top:4px;border-radius:3px;border-left:2px solid #d1d5db}.print-summary-section{margin-top:30px;padding:25px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000000a}.print-summary-section h2{margin-top:0!important;padding-bottom:12px;border-bottom:1px solid #e2e8f0;border-left:none!important;padding-left:0!important;background:none!important}.print-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.print-summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dotted #cbd5e1}.print-summary-item label{color:#64748b;font-size:9pt}.print-summary-item .value{font-weight:700;color:#1e293b;font-size:10pt}.print-summary-total{margin-top:20px;padding-top:20px;border-top:3px solid #1e3a5f;font-size:14pt;font-weight:800;display:flex;justify-content:space-between;align-items:center}.print-summary-total label{color:#1e3a5f}.print-summary-total span{color:#1e3a5f;font-size:16pt}.print-project-info{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 40px;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border:1px solid #e2e8f0}.print-project-info-item{display:flex;gap:12px;padding:8px 0;border-bottom:1px dotted #e2e8f0}.print-project-info-item:nth-last-child(-n+2){border-bottom:none}.print-project-info-item label{font-weight:600;color:#64748b;min-width:130px;font-size:9pt}.print-project-info-item span{color:#1e293b;font-size:9pt}.print-rms-summary{margin:25px 0}.print-rms-summary table{width:100%}.print-rms-summary .category-header{background:linear-gradient(135deg,#e5e7eb,#f3f4f6);font-weight:700;font-size:9pt}.print-rms-summary .subtotal-row{background:#f3f4f6;font-weight:600}@media print{@page{size:A4 portrait;margin:15mm 12mm}@page landscape{size:A4 landscape;margin:12mm 15mm}@page a3{size:A3 portrait;margin:20mm 15mm}.print-landscape{page:landscape}.print-a3{page:a3}@page{@bottom-center{content:"Strona " counter(page) " z " counter(pages);font-size:8pt;color:#9ca3af}}}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.font-bold{font-weight:700!important}.font-semibold{font-weight:600!important}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.mt-4{margin-top:16px!important}.mb-4{margin-bottom:16px!important}.border-top{border-top:1px solid #e5e7eb!important}.border-bottom{border-bottom:1px solid #e5e7eb!important}.print-signatures{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;padding-top:30px}.print-signature-box{text-align:center}.print-signature-line{border-top:1px solid #374151;margin-bottom:8px;padding-top:8px}.print-signature-label{font-size:8pt;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.print-terms{margin-top:30px;padding:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:8pt;color:#6b7280}.print-terms h4{font-size:9pt;color:#374151;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.print-terms ul{margin:0;padding-left:16px}.print-terms li{margin-bottom:4px}@media screen{.print-template-investor,.print-template-internal{max-width:900px;margin:0 auto;padding:40px;background:#fff;box-shadow:0 4px 20px #0000001a;border-radius:8px}.print-toolbar{position:fixed;top:20px;right:20px;display:flex;gap:10px;z-index:1000;background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026}.print-toolbar button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease}.print-toolbar button:first-child{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff}.print-toolbar button:first-child:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1e3a5f4d}.print-toolbar button:last-child{background:#f3f4f6;color:#374151}.print-toolbar button:last-child:hover{background:#e5e7eb}}#analiza{padding:24px;background:#f8fafc;min-height:calc(100vh - 140px);font-family:var(--font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--font-size-base, 13px);line-height:var(--line-height-normal, 1.4);color:var(--text-primary, #1f2937)}.analysis-header{margin-bottom:24px}.analysis-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.analysis-main-title{font-size:var(--font-size-xl, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #1e3a5f);margin:0}.analysis-actions{display:flex;gap:8px}.analysis-actions button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);color:#374151;display:flex;align-items:center;gap:6px;transition:all .2s}.analysis-actions button:hover{background:#f3f4f6;border-color:#9ca3af}.analysis-perspective-switcher{display:flex;gap:4px;background:#e5e7eb;padding:4px;border-radius:12px;width:fit-content}.analysis-perspective-tab{padding:10px 20px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #6b7280);transition:all .2s;display:flex;align-items:center;gap:8px}.analysis-perspective-tab:hover{background:#fff9;color:#374151}.analysis-perspective-tab.active{background:#fff;color:#1e3a5f;box-shadow:0 1px 3px #0000001a}.analysis-perspective-tab i{font-size:16px}.perspective-kosztorysant .analysis-perspective-tab[data-perspective=kosztorysant].active{color:#3b82f6}.perspective-inwestor .analysis-perspective-tab[data-perspective=inwestor].active{color:#10b981}.perspective-wykonawca .analysis-perspective-tab[data-perspective=wykonawca].active{color:#f59e0b}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s}.kpi-card:hover{box-shadow:0 4px 12px #0000001a}.kpi-icon{width:48px;height:48px;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon i{font-size:20px;color:#3b82f6}.kpi-content{display:flex;flex-direction:column;gap:4px;min-width:0}.kpi-label{font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:var(--font-size-2xl, 20px);font-weight:var(--font-weight-bold, 700);color:var(--text-primary, #1f2937);font-family:var(--font-family-mono, "Consolas", monospace)}.kpi-card.kpi-primary .kpi-icon{background:transparent}.kpi-card.kpi-primary .kpi-icon i{color:#2563eb}.kpi-card.kpi-success .kpi-icon{background:transparent}.kpi-card.kpi-success .kpi-icon i{color:#059669}.kpi-card.kpi-warning .kpi-icon{background:transparent}.kpi-card.kpi-warning .kpi-icon i{color:#d97706}.analysis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.analysis-widget{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden;transition:box-shadow .2s,transform .2s}.analysis-widget:hover{box-shadow:0 4px 12px #0000001f}.analysis-widget.full-width{grid-column:1 / -1}.analysis-widget.dragging{opacity:.6;transform:scale(1.02);box-shadow:0 8px 24px #0003}.analysis-widget.drag-over{border:2px dashed #3b82f6}.analysis-widget .widget-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.analysis-widget .widget-header h3{flex:1;margin:0;font-size:var(--font-size-md, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #1f2937);display:flex;align-items:center;gap:8px}.analysis-widget .widget-header h3 i{color:#3b82f6;font-size:16px}.analysis-widget .widget-header button,.widget-header button,.widget-header .widget-toggle,.widget-header .widget-info{background:transparent!important;border:none!important;box-shadow:none!important;min-height:auto!important;padding:6px 10px!important;color:#6b7280!important;transform:none!important}.analysis-widget .widget-header button:hover,.widget-header button:hover{background:#e5e7eb!important;color:#374151!important;transform:none!important;box-shadow:none!important}.widget-drag-handle{cursor:grab;color:#9ca3af;padding:4px;border-radius:4px;transition:color .2s}.widget-drag-handle:hover{color:#6b7280}.widget-drag-handle:active{cursor:grabbing}.widget-info{color:#9ca3af;cursor:help;font-size:14px}.widget-info:hover{color:#6b7280}.widget-toggle{background:transparent!important;border:none;padding:6px 10px;cursor:pointer;color:#6b7280;border-radius:6px;transition:all .2s;box-shadow:none!important;min-height:auto;transform:none}.widget-toggle:hover{background:#e5e7eb!important;color:#374151;transform:none;box-shadow:none!important}.widget-toggle i{transition:transform .2s}.analysis-widget.collapsed .widget-toggle i{transform:rotate(-90deg)}.analysis-widget .widget-content{padding:20px}.analysis-widget.collapsed .widget-content{display:none}.analysis-widget h4{font-size:var(--font-size-md, 14px);font-weight:var(--font-weight-semibold, 600);color:#1f2937;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.analysis-table,.payment-schedule-table,.labor-details-table,.profitability-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base, 13px);font-family:inherit;background:#fff;border-radius:8px;overflow:hidden}.analysis-table th,.payment-schedule-table th,.labor-details-table th,.profitability-table th{padding:var(--table-header-padding, 10px 12px);text-align:left;background:#f9fafb;font-weight:var(--font-weight-semibold, 600);color:var(--text-secondary, #374151);font-size:var(--font-size-sm, 12px);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-bottom:2px solid var(--border-color, #e5e7eb)}.analysis-table td,.payment-schedule-table td,.labor-details-table td,.profitability-table td{padding:var(--table-cell-padding, 8px 12px);text-align:left;border-bottom:1px solid var(--border-color-light, #e5e7eb);vertical-align:middle;font-size:var(--font-size-base, 13px)}.analysis-table tbody tr:hover,.payment-schedule-table tbody tr:hover,.labor-details-table tbody tr:hover,.profitability-table tbody tr:hover{background:#f9fafb}.analysis-table tbody tr:nth-child(2n),.payment-schedule-table tbody tr:nth-child(2n),.labor-details-table tbody tr:nth-child(2n),.profitability-table tbody tr:nth-child(2n){background:#fafafa}.analysis-table tbody tr:nth-child(2n):hover,.payment-schedule-table tbody tr:nth-child(2n):hover,.labor-details-table tbody tr:nth-child(2n):hover,.profitability-table tbody tr:nth-child(2n):hover{background:#f3f4f6}.analysis-table .text-right,.payment-schedule-table .text-right,.labor-details-table .text-right,.profitability-table .text-right{text-align:right}.analysis-table .text-center,.payment-schedule-table .text-center,.labor-details-table .text-center,.profitability-table .text-center{text-align:center}.analysis-table .total-row,.analysis-table .summary-row,.payment-schedule-table .total-row,.labor-details-table .total-row,.profitability-table .total-row{background:#f3f4f6!important;font-weight:600}.analysis-table .total-row td,.analysis-table .summary-row td,.payment-schedule-table .total-row td,.labor-details-table .total-row td,.profitability-table .total-row td{border-top:2px solid #d1d5db;border-bottom:none;padding-top:14px;padding-bottom:14px}.analysis-table td.numeric,.analysis-table .numeric,.payment-schedule-table td.numeric,.payment-schedule-table .numeric,.labor-details-table td.numeric,.labor-details-table .numeric,.profitability-table td.numeric,.profitability-table .numeric{font-family:var(--font-family-mono, "Consolas", monospace);text-align:right;font-size:var(--font-size-sm, 12px)}.value-positive,.positive{color:#059669!important}.value-negative,.negative{color:#dc2626!important}.value-warning,.warning{color:#d97706!important}.value-critical,.critical{color:#dc2626!important;font-weight:600}.payment-schedule-table th:nth-child(n+3),.payment-schedule-table td:nth-child(n+3){text-align:right}.payment-schedule-table td:nth-child(n+4){font-family:var(--font-family-mono, "Consolas", monospace);font-size:var(--font-size-sm, 12px)}.profitability-table .position-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profitability-table.profitable-table th{background:#ecfdf5;color:#065f46;border-bottom-color:#a7f3d0}.profitability-table.risky-table th{background:#fef2f2;color:#991b1b;border-bottom-color:#fecaca}.profitability-table .risky-row{background:#fef2f2}.profitability-table .risky-row:hover{background:#fee2e2}.profitability-table+.no-data,.no-data{text-align:center;padding:24px;color:#6b7280;font-size:var(--font-size-md, 14px);background:#f9fafb;border-radius:8px}.labor-details-table th{background:#eff6ff;color:#1e40af;border-bottom-color:#bfdbfe}.labor-details-table tbody tr:hover{background:#f0f9ff}.labor-details-table .total-row{background:#eff6ff!important}.labor-details-table .total-row td{border-top:2px solid #3b82f6}.cost-structure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.cost-item{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s ease}.cost-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.cost-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent}.cost-icon i{font-size:18px}.cost-labor .cost-icon{color:#2563eb}.cost-materials .cost-icon{color:#ea580c}.cost-equipment .cost-icon{color:#059669}.cost-details{display:flex;flex-direction:column;gap:2px;min-width:0}.cost-label{font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.3px}.cost-value{font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-bold, 700);color:var(--text-primary, #1f2937);font-family:var(--font-family-mono, "Consolas", monospace)}.cost-percent{font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);color:var(--text-muted, #9ca3af)}.cost-chart-container{height:200px;position:relative}.vat-config-dropdown{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px}.vat-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);color:#374151;white-space:nowrap;margin:0}.vat-label i{color:#6b7280;font-size:12px}.vat-select{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:var(--font-size-base, 13px);color:#1f2937;background:#fff;cursor:pointer;min-width:140px;transition:border-color .2s,box-shadow .2s}.vat-select:hover{border-color:#9ca3af}.vat-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.analysis-actions .vat-config-dropdown{padding:6px 10px;background:transparent;border:1px solid #d1d5db}.analysis-actions .vat-label{font-size:var(--font-size-sm, 12px)}.analysis-actions .vat-select{padding:4px 8px;font-size:var(--font-size-sm, 12px);min-width:120px}.chart-container{position:relative;width:100%;height:280px}.chart-container canvas{width:100%!important;height:100%!important}.widget-settings-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.widget-settings-panel.open{transform:translate(0)}.widget-settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.widget-settings-header h3{margin:0;font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-semibold, 600);display:flex;align-items:center;gap:8px;color:#1f2937}.widget-settings-close{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:6px;transition:all .2s}.widget-settings-close:hover{background:#f3f4f6;color:#374151}.widget-settings-content{flex:1;overflow-y:auto;padding:16px}.widget-settings-list{display:flex;flex-direction:column;gap:8px}.widget-settings-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:8px;cursor:pointer;transition:background .2s}.widget-settings-item:hover{background:#f3f4f6}.widget-settings-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.widget-settings-item label{flex:1;cursor:pointer;font-size:var(--font-size-md, 14px);color:#374151}.widget-settings-footer{padding:16px;border-top:1px solid #e5e7eb;display:flex;gap:8px}.widget-settings-footer button{flex:1;padding:10px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;cursor:pointer;font-size:var(--font-size-base, 13px);font-weight:var(--font-weight-medium, 500);display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;color:#374151}.widget-settings-footer button:hover{background:#f3f4f6}.analysis-error-message{padding:16px 20px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:20px;display:flex;align-items:center;gap:12px}.analysis-error-message i{font-size:20px}.analysis-empty-state{text-align:center;padding:60px 20px;color:#6b7280}.analysis-empty-state i{font-size:48px;color:#d1d5db;margin-bottom:16px}.analysis-empty-state p{font-size:var(--font-size-lg, 16px);margin:0}.analysis-widget .widget-content{background:#fff!important;opacity:1!important}.kpi-value,.kpi-value-large,.summary-box p{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;background-clip:unset!important;color:#1f2937!important}.kpi-value.value-positive,.kpi-value-large.value-positive,.summary-box p.value-positive{color:#059669!important}.kpi-value.value-negative,.kpi-value-large.value-negative,.summary-box p.value-negative{color:#dc2626!important}.analysis-widget .widget-header h3 i,.kpi-icon i,.cost-icon i{opacity:1!important;visibility:visible!important}.chart-container,.chart-container canvas{opacity:1!important;visibility:visible!important;filter:none!important}.perspective-transitioning .analysis-widget{transform:translateY(10px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.analysis-widget.animate-in{animation:fadeInUp .3s ease forwards}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.analysis-grid{grid-template-columns:1fr}.analysis-widget.full-width{grid-column:1}}@media (max-width: 768px){#analiza{padding:16px}.analysis-perspective-switcher{width:100%}.analysis-perspective-tab{flex:1;justify-content:center;padding:10px 12px}.analysis-perspective-tab span{display:none}.analysis-title-row{flex-direction:column;align-items:flex-start}.kpi-grid{grid-template-columns:1fr}.kpi-card{padding:16px}.kpi-value{font-size:18px}.widget-settings-panel{width:100%}.analysis-widget .widget-header{padding:12px 16px}.analysis-widget .widget-content{padding:16px}.cost-structure-grid{grid-template-columns:1fr}.vat-config-dropdown{flex-direction:column;align-items:stretch;gap:6px}.vat-select{width:100%}.analysis-table,.payment-schedule-table,.labor-details-table,.profitability-table{font-size:12px}.analysis-table th,.analysis-table td,.payment-schedule-table th,.payment-schedule-table td,.labor-details-table th,.labor-details-table td,.profitability-table th,.profitability-table td{padding:8px 10px}.profitability-table .position-name{max-width:120px}}@media (max-width: 480px){.analysis-perspective-tab{padding:8px}.payment-schedule-table{font-size:12px}.payment-schedule-table th,.payment-schedule-table td{padding:8px 10px}.chart-container{height:220px}.cost-structure-grid{gap:10px}.cost-item{padding:12px}.cost-icon{width:36px;height:36px}.cost-value{font-size:14px}.analysis-table th,.analysis-table td,.payment-schedule-table th,.payment-schedule-table td,.labor-details-table th,.labor-details-table td,.profitability-table th,.profitability-table td{padding:6px 8px;font-size:11px}}@media print{#analiza{padding:0;background:#fff}.analysis-header,.analysis-perspective-switcher,.analysis-actions,.widget-drag-handle,.widget-toggle,.widget-settings-panel{display:none!important}.analysis-grid{display:block}.analysis-widget{break-inside:avoid;page-break-inside:avoid;margin-bottom:20px;box-shadow:none;border:1px solid #e5e7eb}.analysis-widget .widget-header{background:#f3f4f6}.chart-container{height:200px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px}.kpi-card{box-shadow:none;border:1px solid #e5e7eb;padding:12px}}.ai-search-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90%;max-width:800px;max-height:85vh;background:#fff;border-radius:16px;box-shadow:0 25px 80px #0000004d;z-index:10000;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:all .3s ease}.ai-search-panel.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.ai-search-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:var(--color-primary, #1e3a5f);border-radius:16px 16px 0 0;color:#fff}.ai-search-header h3{margin:0;font-size:1.2em;font-weight:600;display:flex;align-items:center;gap:10px}.ai-search-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.ai-search-close:hover{background:#ffffff4d}.ai-search-input-wrapper{display:flex;gap:10px;padding:16px 20px;background:#f8f9fa}.ai-search-input-wrapper input{flex:1;padding:14px 18px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:border-color .2s,box-shadow .2s}.ai-search-input-wrapper input:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f26}.ai-search-btn{padding:14px 24px;background:var(--color-primary, #1e3a5f);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:16px;transition:transform .2s,box-shadow .2s}.ai-search-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #1e3a5f66}.ai-search-hints{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px;background:#f8f9fa;align-items:center}.hint-label{font-size:.85em;color:#666}.hint-btn{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:20px;font-size:.85em;cursor:pointer;transition:all .2s}.hint-btn:hover{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.ai-search-filters{display:flex;gap:20px;padding:12px 20px;border-bottom:1px solid #e0e0e0;background:#fafafa}.filter-checkbox{display:flex;align-items:center;gap:6px;font-size:.9em;color:#555;cursor:pointer}.filter-checkbox input{accent-color:#1e3a5f}.ai-search-results{flex:1;overflow-y:auto;padding:16px 20px;min-height:200px;max-height:400px}.ai-search-empty,.ai-search-no-results,.ai-search-loading,.ai-search-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#666}.ai-search-empty i,.ai-search-no-results i,.ai-search-loading i,.ai-search-error i{font-size:3em;margin-bottom:16px;opacity:.5}.ai-search-empty .hint,.ai-search-no-results .hint{font-size:.9em;color:#888;margin-top:8px}.ai-search-loading .spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#1e3a5f;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.ai-search-error,.ai-search-error i{color:#d32f2f}.ai-search-category{margin-bottom:20px}.ai-search-category h4{margin:0 0 12px;font-size:.95em;color:#444;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.ai-search-items{display:flex;flex-direction:column;gap:8px}.ai-search-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#f8f9fa;border-radius:10px;border:1px solid transparent;transition:all .2s}.ai-search-item:hover{background:#fff;border-color:#1e3a5f;box-shadow:0 2px 8px #1e3a5f26}.item-checkbox{padding-top:4px}.item-checkbox input{width:18px;height:18px;accent-color:#1e3a5f;cursor:pointer}.item-content{flex:1;min-width:0}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.item-id{font-family:monospace;font-size:.85em;color:#1e3a5f;font-weight:600}.item-score{font-size:.8em;padding:2px 8px;border-radius:10px;font-weight:600}.item-score.high{background:#e8f5e9;color:#2e7d32}.item-score.medium{background:#fff3e0;color:#ef6c00}.item-score.low{background:#fce4ec;color:#c2185b}.item-description{font-size:.95em;color:#333;line-height:1.4}.item-description mark{background:#fff59d;padding:0 2px;border-radius:2px}.item-meta{display:flex;gap:12px;margin-top:6px;font-size:.85em;color:#666}.item-unit{background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:4px}.item-branch{color:#888}.item-add-btn{padding:8px 12px;background:#1e3a5f;color:#fff;border:none;border-radius:8px;cursor:pointer;opacity:0;transition:all .2s}.ai-search-item:hover .item-add-btn{opacity:1}.item-add-btn:hover{background:#2d4a6f;transform:scale(1.05)}.ai-search-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid #e0e0e0;background:#fafafa;border-radius:0 0 16px 16px}#ai-search-status{font-size:.9em;color:#666}#ai-search-add-selected{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9em;transition:all .2s}#ai-search-add-selected:disabled{background:#ccc;cursor:not-allowed}#ai-search-add-selected:not(:disabled):hover{background:#43a047}.ai-search-panel.visible:before{content:"";position:fixed;top:-100vh;left:-100vw;width:300vw;height:300vh;background:#00000080;z-index:-1}@media (max-width: 768px){.ai-search-panel{width:95%;max-height:90vh}.ai-search-filters{flex-wrap:wrap;gap:10px}.ai-search-item{flex-wrap:wrap}.item-add-btn{opacity:1;width:100%;margin-top:8px}}.ai-przedmiar-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-przedmiar-modal-content{background:var(--white, #fff);border-radius:12px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-przedmiar-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e0e0e0);display:flex;align-items:center;justify-content:space-between;background:var(--color-primary, #1e3a5f);border-radius:12px 12px 0 0;color:#fff}.ai-przedmiar-modal .modal-header h2{margin:0;font-size:1.4rem;font-weight:600;display:flex;align-items:center;gap:10px}.ai-przedmiar-modal .modal-header h2 i{font-size:1.5rem}.ai-przedmiar-modal .modal-close-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.ai-przedmiar-modal .modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.ai-przedmiar-modal .modal-body{padding:24px;overflow-y:auto;flex:1}.ai-steps-progress{display:flex;justify-content:center;gap:40px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.ai-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.5;transition:all .3s}.ai-step.active{opacity:1}.ai-step.completed{opacity:.8}.ai-step .step-number{width:36px;height:36px;border-radius:50%;background:var(--light-gray, #f0f0f0);color:var(--dark-gray, #666);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;transition:all .3s}.ai-step.active .step-number{background:var(--color-primary, #1e3a5f);color:#fff;box-shadow:0 4px 15px #1e3a5f66}.ai-step.completed .step-number{background:var(--success-color, #28a745);color:#fff}.ai-step .step-label{font-size:.85rem;color:var(--dark-gray, #666);font-weight:500}.ai-step.active .step-label{color:var(--text-color, #333);font-weight:600}.ai-upload-zone{border:3px dashed var(--border-color, #ccc);border-radius:12px;padding:50px 30px;text-align:center;cursor:pointer;transition:all .3s;background:var(--light-bg, #f9f9f9);display:flex;flex-direction:column;align-items:center;gap:10px}.ai-upload-zone:hover,.ai-upload-zone.drag-over{border-color:var(--color-primary, #1e3a5f);background:#1e3a5f0d}.ai-upload-zone i{font-size:4rem;color:var(--color-primary, #1e3a5f);opacity:.7}.ai-upload-zone h3{margin:0;font-size:1.3rem;color:var(--text-color, #333)}.ai-upload-zone p{margin:0;color:var(--dark-gray, #666)}.ai-upload-formats{font-size:.85rem;color:var(--medium-gray, #999);margin-top:10px}.ai-upload-info{background:var(--light-bg, #f5f5f5);border-radius:8px;padding:20px;margin-bottom:20px}.ai-file-info{display:flex;align-items:center;gap:12px;margin-bottom:15px}.ai-file-info i{font-size:2rem;color:var(--color-primary, #1e3a5f)}.ai-file-info span{flex:1;font-weight:500}.btn-remove-file{background:none;border:none;color:var(--error-color, #dc3545);cursor:pointer;padding:5px;font-size:1.2rem}.ai-parsing-status{display:flex;align-items:center;gap:10px;color:var(--dark-gray, #666)}.ai-manual-input{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color, #e0e0e0)}.ai-manual-input h4{margin:0 0 15px;color:var(--text-color, #333)}.ai-manual-input textarea{width:100%;min-height:150px;padding:15px;border:1px solid var(--border-color, #ccc);border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;margin-bottom:15px}.ai-manual-input textarea:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f1a}.ai-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color, #e0e0e0)}.ai-review-stats{display:flex;gap:20px}.ai-review-stats .stat{display:flex;align-items:center;gap:6px;font-size:.9rem}.ai-review-stats .stat.matched i{color:var(--success-color, #28a745)}.ai-review-stats .stat.manual i{color:var(--warning-color, #ffc107)}.ai-review-stats .stat strong{font-size:1.1rem}.ai-items-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:10px}.ai-item{background:var(--white, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:15px;transition:all .2s}.ai-item:hover{box-shadow:0 2px 8px #00000014}.ai-item.matched{border-left:4px solid var(--success-color, #28a745)}.ai-item.manual{border-left:4px solid var(--warning-color, #ffc107)}.ai-item.skipped{opacity:.5;background:var(--light-bg, #f5f5f5)}.ai-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.ai-item-original{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.ai-item-lp{font-weight:600;color:var(--dark-gray, #666);min-width:30px}.ai-item-desc{flex:1;min-width:200px}.ai-item-qty{background:var(--light-bg, #f0f0f0);padding:2px 8px;border-radius:4px;font-size:.85rem;color:var(--dark-gray, #666);white-space:nowrap}.ai-item-actions button{background:none;border:none;color:var(--medium-gray, #999);cursor:pointer;padding:5px 8px;border-radius:4px;transition:all .2s}.ai-item-actions button:hover{background:var(--light-bg, #f0f0f0);color:var(--error-color, #dc3545)}.ai-item-match{background:var(--light-bg, #f9f9f9);border-radius:6px;padding:12px}.ai-match-info{display:flex;align-items:center;gap:12px;margin-bottom:6px}.ai-match-score{background:linear-gradient(90deg,var(--success-color, #28a745) var(--score),var(--light-gray, #e0e0e0) var(--score));padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:600;color:#fff}.ai-match-code{font-family:monospace;font-size:.85rem;color:var(--color-primary, #1e3a5f);background:#1e3a5f1a;padding:2px 8px;border-radius:4px}.ai-match-desc{font-size:.9rem;color:var(--text-color, #333)}.ai-no-match{display:flex;align-items:center;gap:8px;color:var(--warning-color, #856404);font-size:.9rem}.ai-no-match i{font-size:1.1rem}.ai-alternatives{margin-top:10px}.btn-show-alternatives{background:none;border:1px solid var(--border-color, #ccc);padding:6px 12px;border-radius:4px;font-size:.85rem;cursor:pointer;color:var(--dark-gray, #666);transition:all .2s}.btn-show-alternatives:hover{background:var(--light-bg, #f0f0f0);border-color:var(--color-primary, #1e3a5f);color:var(--color-primary, #1e3a5f)}.ai-alternatives-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.ai-alternative{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--white, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:.85rem}.ai-alt-score{background:var(--light-bg, #e0e0e0);padding:2px 8px;border-radius:10px;font-weight:600;font-size:.8rem}.ai-alt-code{font-family:monospace;color:var(--dark-gray, #666)}.ai-alt-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-select-alt{background:var(--success-color, #28a745);color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-select-alt:hover{transform:scale(1.1);box-shadow:0 2px 8px #28a74566}.ai-summary{text-align:center;padding:40px 20px}.ai-summary-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:3rem}.ai-summary-icon.success{background:#28a7451a;color:var(--success-color, #28a745)}.ai-summary h3{margin:0 0 30px;font-size:1.5rem;color:var(--text-color, #333)}.ai-summary-stats{display:flex;justify-content:center;gap:60px;margin-bottom:30px}.summary-stat{text-align:center}.summary-stat .stat-value{display:block;font-size:2.5rem;font-weight:700;color:var(--color-primary, #1e3a5f)}.summary-stat .stat-label{font-size:.9rem;color:var(--dark-gray, #666)}.ai-summary-note{color:var(--dark-gray, #666);font-size:.95rem}.ai-przedmiar-modal .modal-footer{padding:16px 24px;border-top:1px solid var(--border-color, #e0e0e0);display:flex;justify-content:flex-end;gap:12px;background:var(--light-bg, #f9f9f9);border-radius:0 0 12px 12px}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--dark-gray, #666);gap:15px}.ai-spinner{width:40px;height:40px;border:4px solid var(--light-gray, #e0e0e0);border-top-color:var(--color-primary, #1e3a5f);border-radius:50%;animation:spin 1s linear infinite}.ai-spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@media (max-width: 768px){.ai-przedmiar-modal-content{width:95%;max-height:95vh;margin:10px}.ai-steps-progress{gap:20px}.ai-step .step-label{font-size:.75rem}.ai-review-header{flex-direction:column;gap:15px}.ai-review-stats{flex-wrap:wrap;gap:10px}.ai-summary-stats{gap:30px}.summary-stat .stat-value{font-size:2rem}}#fixed-action-buttons .ai-btn{background:var(--color-primary, #1e3a5f);color:#fff;border:none;padding:10px 16px;border-radius:6px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #1e3a5f4d}#fixed-action-buttons .ai-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #1e3a5f80}#fixed-action-buttons .ai-btn:active{transform:translateY(0)}#fixed-action-buttons .ai-btn i{font-size:1.1em}@keyframes aiPulse{0%,to{box-shadow:0 2px 8px #1e3a5f4d}50%{box-shadow:0 2px 20px #1e3a5f99}}#fixed-action-buttons .ai-btn.pulse{animation:aiPulse 2s ease-in-out infinite}.ai-gemini-config{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;border-radius:8px;padding:15px 20px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.ai-gemini-config.configured{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745}.ai-gemini-status{display:flex;align-items:center;gap:10px;font-weight:500}.ai-gemini-status i{font-size:1.2rem}.ai-gemini-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-gemini-form input{flex:1;min-width:200px;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:.9rem}.ai-gemini-form input:focus{outline:none;border-color:var(--color-primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f1a}.ai-gemini-help{font-size:.85rem;color:var(--color-primary, #1e3a5f);text-decoration:none;display:flex;align-items:center;gap:5px}.ai-gemini-help:hover{text-decoration:underline}.btn-change-key{background:none;border:1px solid currentColor;padding:4px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;margin-left:auto;opacity:.7;transition:opacity .2s}.btn-change-key:hover{opacity:1}.ai-gemini-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);background-size:300% 300%;animation:geminiGradient 5s ease infinite;color:#fff;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}@keyframes geminiGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#ai-loading-text{animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:1}50%{opacity:.5}}.ai-item-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-color, #ddd);align-items:center}.ai-item-options button{padding:6px 12px;border:1px solid var(--border-color, #ccc);border-radius:6px;background:var(--white, #fff);cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.ai-item-options button:hover{background:var(--light-bg, #f5f5f5);border-color:var(--color-primary, #1e3a5f);color:var(--color-primary, #1e3a5f)}.btn-search-catalog{background:var(--color-primary, #1e3a5f)!important;color:#fff!important;border:none!important}.btn-search-catalog:hover{transform:translateY(-1px);box-shadow:0 2px 8px #1e3a5f66}.btn-show-suggestions{background:#fff3cd!important;border-color:#ffc107!important;color:#856404!important}.ai-checkbox-option{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--light-bg, #f9f9f9);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.ai-checkbox-option:hover{background:var(--light-gray, #e9e9e9)}.ai-checkbox-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.ai-add-to-catalog{background:#d4edda;color:#155724}.ai-new-position{display:flex;align-items:center;gap:8px;color:#155724;background:#d4edda;padding:10px 15px;border-radius:6px}.ai-new-position i{font-size:1.2rem}.ai-suggestions-list{margin-top:10px;border:1px solid var(--border-color, #ddd);border-radius:6px;overflow:hidden}.ai-suggestion{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--white, #fff);border-bottom:1px solid var(--border-color, #eee);cursor:pointer;transition:background .2s}.ai-suggestion:last-child{border-bottom:none}.ai-suggestion:hover{background:var(--light-bg, #f5f5f5)}.ai-sug-score{background:var(--light-gray, #e0e0e0);padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:600;min-width:45px;text-align:center}.ai-sug-code{font-family:monospace;color:var(--color-primary, #1e3a5f);font-size:.85rem;min-width:80px}.ai-sug-desc{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-suggestion .btn-select-suggestion{background:var(--success-color, #28a745);color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ai-catalog-search-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001}.ai-catalog-search-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.ai-catalog-search-content h3{padding:20px;margin:0;border-bottom:1px solid var(--border-color, #eee);display:flex;align-items:center;gap:10px}.ai-catalog-search-content h3 i{color:var(--color-primary, #1e3a5f)}#ai-catalog-search-input{margin:15px 20px;padding:12px 15px;border:2px solid var(--border-color, #ddd);border-radius:8px;font-size:1rem}#ai-catalog-search-input:focus{outline:none;border-color:var(--color-primary, #1e3a5f)}.ai-catalog-results{flex:1;overflow-y:auto;padding:0 20px 20px;max-height:400px}.ai-catalog-result{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--border-color, #eee);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s}.ai-catalog-result:hover{background:var(--light-bg, #f5f5f5);border-color:var(--color-primary, #1e3a5f)}.ai-catalog-result .result-code{font-family:monospace;color:var(--color-primary, #1e3a5f);font-weight:600;min-width:90px}.ai-catalog-result .result-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-catalog-result .result-unit{color:var(--dark-gray, #666);font-size:.85rem}.ai-catalog-search-footer{padding:15px 20px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end}.ai-item.new{border-left:4px solid #17a2b8}.btn-skip.active{background:var(--error-color, #dc3545)!important;color:#fff!important;border-color:var(--error-color, #dc3545)!important}.ai-item-compact{display:flex;flex-direction:column;background:var(--white, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:10px 15px;transition:all .2s}.ai-item-compact:hover{box-shadow:0 2px 8px #00000014}.ai-item-compact.matched{border-left:4px solid var(--success-color, #28a745)}.ai-item-compact.new{border-left:4px solid #17a2b8}.ai-item-compact.skipped{opacity:.5;background:var(--light-bg, #f5f5f5)}.ai-item-row{display:flex;align-items:center;gap:12px}.ai-lp{font-weight:600;color:var(--dark-gray, #666);min-width:35px;font-size:.9rem}.ai-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ai-original{font-size:.9rem;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-matched{display:flex;align-items:center;gap:8px;font-size:.85rem}.ai-score{padding:2px 8px;border-radius:10px;font-weight:600;font-size:.75rem;color:#fff}.ai-score.high{background:var(--success-color, #28a745)}.ai-score.medium{background:var(--warning-color, #ffc107);color:#333}.ai-score.low{background:var(--error-color, #dc3545)}.ai-code{font-family:monospace;font-size:.8rem;color:var(--color-primary, #1e3a5f);background:#1e3a5f1a;padding:2px 6px;border-radius:4px}.ai-desc{color:var(--dark-gray, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-new-badge{display:inline-flex;align-items:center;gap:4px;background:#17a2b8;color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.ai-qty{background:var(--light-bg, #f0f0f0);padding:4px 10px;border-radius:4px;font-size:.85rem;color:var(--dark-gray, #666);white-space:nowrap;min-width:80px;text-align:center}.ai-actions{display:flex;gap:4px}.ai-actions button{background:none;border:1px solid var(--border-color, #ddd);color:var(--dark-gray, #666);width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.ai-actions button:hover{background:var(--light-bg, #f0f0f0);border-color:var(--color-primary, #1e3a5f);color:var(--color-primary, #1e3a5f)}.ai-actions .btn-accept.active{background:var(--success-color, #28a745);border-color:var(--success-color, #28a745);color:#fff}.ai-actions .btn-skip-compact.active{background:var(--error-color, #dc3545);border-color:var(--error-color, #dc3545);color:#fff}.ai-actions .btn-search:hover{background:var(--color-primary, #1e3a5f);border-color:var(--color-primary, #1e3a5f);color:#fff}.ai-alt-list{margin-top:10px;padding:10px;background:var(--light-bg, #f9f9f9);border-radius:6px;display:flex;flex-direction:column;gap:6px}.ai-alt-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--white, #fff);border:1px solid var(--border-color, #eee);border-radius:6px;cursor:pointer;transition:all .2s}.ai-alt-item:hover{background:var(--color-primary, #1e3a5f);color:#fff;border-color:var(--color-primary, #1e3a5f)}.ai-alt-item:hover .alt-score,.ai-alt-item:hover .alt-code{background:#fff3;color:#fff}.alt-score{background:var(--light-gray, #e0e0e0);padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;min-width:40px;text-align:center}.alt-code{font-family:monospace;font-size:.8rem;color:var(--color-primary, #1e3a5f);background:#1e3a5f1a;padding:2px 6px;border-radius:4px}.alt-desc{flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-no-items{text-align:center;padding:40px 20px;color:var(--dark-gray, #666);font-style:italic}.ai-przedmiar-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.ai-przedmiar-modal .btn.primary{background:var(--color-primary, #1e3a5f);color:#fff;box-shadow:0 2px 8px #1e3a5f4d}.ai-przedmiar-modal .btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #1e3a5f66}.ai-przedmiar-modal .btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-przedmiar-modal .btn.secondary{background:var(--white, #fff);color:var(--text-color, #333);border:1px solid var(--border-color, #ccc)}.ai-przedmiar-modal .btn.secondary:hover{background:var(--light-bg, #f5f5f5);border-color:var(--dark-gray, #999)}.ai-przedmiar-modal .btn.small{padding:6px 12px;font-size:.85rem}.ai-catalog-search-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.ai-catalog-search-modal .btn.secondary{background:var(--white, #fff);color:var(--text-color, #333);border:1px solid var(--border-color, #ccc)}.ai-catalog-search-modal .btn.secondary:hover{background:var(--light-bg, #f5f5f5);border-color:var(--dark-gray, #999)}.ai-actions .btn-create-new{background:none;border:1px solid #17a2b8;color:#17a2b8}.ai-actions .btn-create-new:hover{background:#17a2b8;color:#fff}.ai-actions .btn-create-new.active{background:#17a2b8;border-color:#17a2b8;color:#fff}.btn-clear-match{background:none;border:none;color:#dc3545;cursor:pointer;padding:2px 6px;margin-left:8px;border-radius:4px;font-size:.85rem;transition:all .2s}.btn-clear-match:hover{background:#dc3545;color:#fff}.btn-restore-match{background:none;border:none;color:#28a745;cursor:pointer;padding:2px 6px;margin-left:8px;border-radius:4px;font-size:.85rem;transition:all .2s}.btn-restore-match:hover{background:#28a745;color:#fff}.ai-alt-header{font-size:.8rem;color:var(--dark-gray, #666);padding:5px 10px;border-bottom:1px solid var(--border-color, #eee);font-weight:500}.ai-alt-item.ai-alt-new{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px dashed #2196f3;color:#1565c0}.ai-alt-item.ai-alt-new:hover{background:#2196f3;color:#fff;border-style:solid}.ai-alt-item .alt-new-icon{font-size:1.1rem;margin-right:8px}.ai-alt-item .alt-new-text{font-weight:500}.ai-item-compact.new{border-left:4px solid #17a2b8;background:#17a2b80d}.ai-item-compact.new .ai-new-badge{background:#17a2b8}.ai-actions button[title]{position:relative}.ai-actions button[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:100;margin-bottom:5px}.ai-analyze-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);padding:0;background:transparent;border:none;transition:color .2s ease,transform .15s ease;line-height:1;margin-left:4px}.ai-analyze-icon:hover{background:transparent;color:var(--color-info, #0284c7);transform:scale(1.1)}.ai-analyze-icon.analyzing{animation:aiPulse 1s ease-in-out infinite}@keyframes aiPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.ai-analysis-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ai-analysis-content{background:var(--white, #fff);border-radius:12px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.ai-analysis-header{padding:20px 24px;border-bottom:1px solid var(--border-color, #e0e0e0);display:flex;align-items:center;justify-content:space-between;background:var(--color-primary, #1e3a5f);border-radius:12px 12px 0 0;color:#fff}.ai-analysis-header h3{margin:0;font-size:1.2rem;display:flex;align-items:center;gap:10px}.ai-analysis-body{padding:24px;overflow-y:auto;flex:1}.ai-analysis-section{margin-bottom:20px;padding:15px;background:var(--light-bg, #f9f9f9);border-radius:8px}.ai-analysis-section h4{margin:0 0 12px;font-size:1rem;color:var(--text-color, #333);display:flex;align-items:center;gap:8px}.ai-analysis-section h4 i{color:var(--color-primary, #1e3a5f)}.ai-analysis-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color, #eee)}.ai-analysis-label{color:var(--dark-gray, #666);font-size:.9rem}.ai-analysis-value{font-weight:600;color:var(--text-color, #333)}.ai-analysis-value.price{color:#28a745}.ai-analysis-value.warning{color:#ffc107}.ai-analysis-value.error{color:#dc3545}.ai-analysis-suggestion{background:#e3f2fd;border-left:4px solid #2196f3;padding:12px;margin-top:10px;border-radius:0 8px 8px 0}.ai-analysis-suggestion p{margin:0;font-size:.9rem;color:#1565c0}.ai-analysis-footer{padding:16px 24px;border-top:1px solid var(--border-color, #e0e0e0);display:flex;justify-content:flex-end;gap:12px;background:var(--light-bg, #f9f9f9);border-radius:0 0 12px 12px}.ai-analysis-footer .btn{padding:10px 18px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.ai-analysis-footer .btn.primary{background:var(--color-primary, #1e3a5f);color:#fff}.ai-analysis-footer .btn.secondary{background:var(--white, #fff);color:var(--text-color, #333);border:1px solid var(--border-color, #ccc)}@media print{.ai-analyze-icon{display:none!important}}.ai-rms-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:10px}.ai-rms-table th,.ai-rms-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-color, #eee)}.ai-rms-table th{background:var(--light-bg, #f5f5f5);font-weight:600;font-size:.85rem;color:var(--dark-gray, #666)}.ai-rms-table tbody tr:hover{background:#667eea0d}.ai-rms-table td:first-child{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-rms-table small{color:var(--dark-gray, #888);font-size:.8rem}.ai-status-badge{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:.75rem}.ai-status-badge.ok{background:#d4edda;color:#28a745}.ai-status-badge.warning{background:#fff3cd;color:#856404}.ai-status-badge.error{background:#f8d7da;color:#dc3545}.ai-comment{margin:8px 0 0;padding:8px 12px;background:var(--light-bg, #f9f9f9);border-left:3px solid var(--color-primary, #1e3a5f);font-size:.85rem;color:var(--dark-gray, #666);font-style:italic}@media (max-width: 600px){.ai-rms-table{font-size:.8rem}.ai-rms-table th,.ai-rms-table td{padding:6px 8px}.ai-materials-table th:nth-child(2),.ai-materials-table td:nth-child(2),.ai-equipment-table th:nth-child(2),.ai-equipment-table td:nth-child(2){display:none}}.norm-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.75em;margin-right:4px;font-weight:500}.norm-badge.norm-r{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.norm-badge.norm-m{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.norm-badge.norm-s{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.norm-badge.norm-empty{background:#f5f5f5;color:#9e9e9e;border:1px solid #e0e0e0;font-style:italic}.ai-suggested-position{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50;border-radius:8px;padding:15px}.ai-suggested-position h4{color:#2e7d32;margin-bottom:12px}.ai-suggested-header{background:#fff;padding:10px 12px;border-radius:6px;margin-bottom:12px;border-left:4px solid #4caf50}.ai-suggested-header strong{color:#1b5e20;font-size:1.05em}.ai-suggested-unit{color:#666;font-weight:400;margin-left:8px}.ai-suggested-rms{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;padding:8px;background:#ffffffb3;border-radius:4px}.ai-rms-label{font-weight:700;min-width:25px;color:#333}.ai-suggested-list{flex:1}.ai-suggested-item{margin-bottom:4px;font-size:.9em}.ai-suggested-item small{display:block;color:#666;font-style:italic;margin-left:10px}.ai-apply-suggested{margin-top:15px;width:100%;padding:12px;font-size:1em;background:linear-gradient(135deg,#4caf50,#388e3c);border:none;color:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.ai-apply-suggested:hover{background:linear-gradient(135deg,#43a047,#2e7d32);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.ai-completeness-bar{position:relative;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden}.ai-completeness-fill{height:100%;transition:width .5s ease;border-radius:12px}.ai-completeness-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ai-rms-table{width:100%;border-collapse:collapse;margin-top:8px}.ai-rms-table td,.ai-rms-table th{padding:6px 10px;border-bottom:1px solid #e0e0e0;text-align:left}.ai-rms-table th{background:#f5f5f5;font-weight:600;font-size:.85em}.ai-materials-table{font-size:.9em}.ai-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.85em}.ai-status-badge.ok{background:#c8e6c9;color:#2e7d32}.ai-status-badge.warning{background:#fff3e0;color:#e65100}.ai-status-badge.error{background:#ffcdd2;color:#c62828}.ai-comment{margin:8px 0;padding:8px 12px;background:#f5f5f5;border-left:3px solid #2196f3;border-radius:0 4px 4px 0;font-size:.9em;color:#555}.ai-analysis-section{margin-bottom:16px;padding:12px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0}.ai-analysis-section h4{margin:0 0 10px;color:#333;font-size:1em;display:flex;align-items:center;gap:8px}.ai-analysis-section h4 i{color:#2196f3}.ai-analysis-item{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dotted #e0e0e0}.ai-analysis-item:last-child{border-bottom:none}.ai-analysis-label{color:#666;font-size:.9em}.ai-analysis-value{font-weight:500;color:#333}.ai-analysis-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.ai-analysis-modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:85vh;overflow:hidden;box-shadow:0 10px 40px #0003}.ai-analysis-header{padding:16px 20px;background:var(--color-primary, #1e3a5f);color:#fff;display:flex;justify-content:space-between;align-items:center}.ai-analysis-header h3{margin:0;font-size:1.2em;display:flex;align-items:center;gap:10px}.ai-analysis-body{padding:20px;max-height:55vh;overflow-y:auto}.ai-analysis-footer{padding:15px 20px;background:#f5f5f5;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e0e0e0}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.ai-loading .ai-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--color-primary, #1e3a5f);border-radius:50%;animation:ai-spin 1s linear infinite;margin-bottom:15px}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-assistant-container{max-width:1200px;margin:0 auto;padding:20px;position:relative}.ai-assistant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-color, #e0e0e0)}.ai-assistant-header h2{margin:0;display:flex;align-items:center;gap:10px;color:var(--primary-color, #1e3a5f)}.ai-assistant-header h2 i{font-size:1.2em}.ai-header-actions{display:flex;align-items:center;gap:12px}.ai-header-actions .btn.small{padding:8px 12px;border-radius:8px;background:var(--color-primary-bg, #eef2f7);border:1px solid var(--border-color, #e0e0e0);color:var(--color-primary, #1e3a5f);cursor:pointer;transition:all .2s ease}.ai-header-actions .btn.small:hover{background:var(--color-primary, #1e3a5f);color:#fff}.ai-status-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:.9em;font-weight:500}.ai-status-badge.configured{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32}.ai-status-badge.not-configured{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.ai-status-badge .status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ai-config-panel{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:1px solid #ffc107;border-radius:12px;padding:20px;margin-bottom:20px}.ai-config-panel .config-header{display:flex;align-items:center;gap:10px;font-weight:600;color:#f57c00;margin-bottom:10px}.ai-config-panel .config-body p{margin:0 0 15px;color:#5d4037}.ai-config-panel .config-form{display:flex;gap:10px;margin-bottom:10px}.ai-config-panel .config-form input{flex:1;padding:10px 15px;border:1px solid #ffb74d;border-radius:8px;font-size:.95em}.ai-config-panel .config-link{color:#1976d2;text-decoration:none;font-size:.9em}.ai-config-panel .config-link:hover{text-decoration:underline}.ai-config-panel.configured{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50;padding:12px 20px}.ai-config-panel.configured .config-header{color:#2e7d32;margin-bottom:0;cursor:pointer}.ai-config-panel.configured .config-header:after{content:" ▼";font-size:.8em;margin-left:8px}.ai-config-panel.configured .config-body>p:first-child,.ai-config-panel.configured .config-link,.ai-config-panel.configured .config-note{display:none}.ai-config-panel.configured .config-model-selector{margin-top:10px!important;padding-top:10px!important;border-top-color:#81c784!important}.config-model-selector select{background:#fff;cursor:pointer}.config-model-selector select:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 3px #1e3a5f33}.ai-mode-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px;padding:15px;background:var(--bg-light, #f5f5f5);border-radius:12px}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:15px 20px;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s ease;min-width:100px}.mode-btn i{font-size:1.5em;color:var(--text-muted, #666)}.mode-btn span{font-size:.85em;font-weight:500;color:var(--text-color, #333)}.mode-btn:hover{border-color:var(--primary-color, #1e3a5f);transform:translateY(-2px);box-shadow:0 4px 12px #1e3a5f26}.mode-btn.active{background:var(--color-primary, #1e3a5f);border-color:transparent}.mode-btn.active i,.mode-btn.active span{color:#fff}.ai-mode-panels{margin-bottom:25px}.ai-mode-panel{display:none;background:#fff;border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:25px}.ai-mode-panel.active{display:block}.ai-mode-panel h3{margin:0 0 10px;color:var(--primary-color, #1e3a5f)}.ai-mode-panel .panel-desc{color:var(--text-muted, #666);margin-bottom:20px}.ai-input-group{margin-bottom:20px}.ai-input-group label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-color, #333)}.ai-input-group textarea,.ai-input-group input[type=text]{width:100%;padding:12px 15px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:.95em;font-family:inherit;resize:vertical;transition:border-color .2s}.ai-input-group textarea:focus,.ai-input-group input:focus{outline:none;border-color:var(--primary-color, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f1a}.ai-input-group input[type=text]{margin-bottom:10px}.ai-options,.ai-analyze-options,.ai-offer-options,.ai-import-options{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.ai-options label,.ai-analyze-options label,.ai-offer-options label,.ai-import-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9em}.ai-offer-options select{padding:8px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:.9em}.ai-current-estimate-info{display:flex;align-items:center;gap:10px;padding:15px;background:var(--bg-light, #f5f5f5);border-radius:8px;margin-bottom:20px}.ai-current-estimate-info i{font-size:1.5em;color:var(--primary-color, #1e3a5f)}.ai-current-estimate-info #ai-current-estimate-name{font-weight:500}.ai-current-estimate-info #ai-current-estimate-stats{color:var(--text-muted, #666);font-size:.9em}.ai-quick-quotes{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.quick-quote-label{font-size:.85em;color:var(--text-muted, #666)}.quick-quote-btn{padding:6px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:15px;background:#fff;font-size:.85em;cursor:pointer;transition:all .2s}.quick-quote-btn:hover{background:var(--primary-color, #1e3a5f);color:#fff;border-color:transparent}.ai-optimize-goals label{display:block;font-weight:500;margin-bottom:10px}.optimize-goal-btns{display:flex;gap:10px}.goal-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.goal-btn:hover{border-color:var(--primary-color, #1e3a5f)}.goal-btn.active{background:var(--primary-color, #1e3a5f);border-color:transparent;color:#fff}.ai-action-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;font-size:1em;font-weight:600;background:var(--color-primary, #1e3a5f);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s}.ai-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e3a5f4d}.ai-action-btn:active{transform:translateY(0)}.ai-results-panel{background:#fff;border:2px solid var(--primary-color, #1e3a5f);border-radius:12px;overflow:hidden;margin-top:25px}.ai-results-panel .results-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--color-primary, #1e3a5f);color:#fff}.ai-results-panel .results-header h3{margin:0;display:flex;align-items:center;gap:10px}.ai-results-panel .results-actions{display:flex;gap:8px}.ai-results-panel .results-actions .btn{background:#fff3;border:none;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s}.ai-results-panel .results-actions .btn:hover{background:#ffffff4d}.ai-results-panel .results-content{padding:20px;max-height:500px;overflow-y:auto;line-height:1.6}.ai-results-panel .results-content pre{background:var(--bg-light, #f5f5f5);padding:15px;border-radius:8px;overflow-x:auto;font-size:.85em}.ai-results-panel .results-content h2,.ai-results-panel .results-content h3,.ai-results-panel .results-content h4{color:var(--primary-color, #1e3a5f);margin-top:20px;margin-bottom:10px}.ai-results-panel .results-content h2:first-child,.ai-results-panel .results-content h3:first-child{margin-top:0}.ai-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;z-index:100;border-radius:12px}.ai-loading-spinner{width:50px;height:50px;border:4px solid var(--border-color, #e0e0e0);border-top-color:var(--primary-color, #1e3a5f);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#ai-loading-text{font-size:1.1em;color:var(--text-color, #333);font-weight:500}@media (max-width: 768px){.ai-mode-selector{justify-content:center}.mode-btn{min-width:80px;padding:12px 15px}.mode-btn span{font-size:.75em}.optimize-goal-btns{flex-wrap:wrap}.ai-assistant-header{flex-direction:column;gap:15px;text-align:center}}.quick-estimate-results{padding:20px}.quick-estimate-results h3{margin:0 0 20px;color:#1e3a5f;font-size:1.3em}.estimate-card{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:15px;border-left:4px solid #1e3a5f}.estimate-card h4{margin:0 0 15px;color:#333;font-size:1.1em}.price-range{display:flex;align-items:center;gap:15px;margin-bottom:15px;flex-wrap:wrap}.price-range .min{color:#4caf50;font-weight:500}.price-range .avg{color:#1e3a5f;font-weight:700;font-size:1.2em;padding:4px 12px;background:#1e3a5f1a;border-radius:6px}.price-range .max{color:#f44336;font-weight:500}.price-range .unit{color:#666;font-size:.9em}.total-estimate{background:#fff;padding:15px;border-radius:8px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.total-estimate strong{color:#333}.total-estimate span{font-weight:600;color:#1e3a5f}.total-estimate .avg-total{color:#888;font-weight:400;font-size:.9em}.estimate-card .includes{font-size:.85em;color:#666;padding-top:10px;border-top:1px dashed #ddd}.quick-estimate-results .note{font-size:.85em;color:#888;font-style:italic;margin-top:15px;padding:10px;background:#fff3e0;border-radius:6px}.ai-optimize-goals{margin-bottom:20px}.ai-optimize-goals label{display:block;margin-bottom:10px;font-weight:500}.optimize-goal-btns{display:flex;gap:10px;flex-wrap:wrap}.goal-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:15px 25px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s}.goal-btn i{font-size:1.5em;color:#1e3a5f}.goal-btn:hover{border-color:#1e3a5f;transform:translateY(-2px)}.goal-btn.active{background:var(--color-primary, #1e3a5f);border-color:transparent;color:#fff}.goal-btn.active i{color:#fff}.gap-analysis-panel{position:fixed;right:20px;top:80px;width:380px;max-height:calc(100vh - 120px);background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000026;z-index:1001;overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.gap-panel-header{padding:16px;background:var(--color-primary, #1e3a5f);color:#fff;display:flex;justify-content:space-between;align-items:center}.gap-panel-header h3{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.gap-panel-header .close-btn{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:18px}.gap-panel-body{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto}.completeness-meter{height:24px;background:#e9ecef;border-radius:12px;position:relative;overflow:hidden;margin-bottom:16px}.meter-fill{height:100%;border-radius:12px;transition:width .5s ease}.completeness-meter.good .meter-fill{background:linear-gradient(90deg,#28a745,#20c997)}.completeness-meter.medium .meter-fill{background:linear-gradient(90deg,#ffc107,#fd7e14)}.completeness-meter.poor .meter-fill{background:linear-gradient(90deg,#dc3545,#e83e8c)}.meter-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:600;color:#212529}.analysis-section{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.analysis-section h4{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px}.analysis-section.warning{background:#fff3cd;border-left:4px solid #ffc107}.analysis-section.suggestions{background:#e7f5ff;border-left:4px solid #1e3a5f}.analysis-section ul{margin:0;padding-left:20px}.analysis-section li{margin-bottom:4px;font-size:13px}.suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #dee2e6}.suggestion-item:last-child{border-bottom:none}.suggestion-item.priority-high{color:#dc3545}.suggestion-item.priority-medium{color:#fd7e14}.suggestion-item.priority-low{color:#6c757d}.btn-small{padding:4px 8px;font-size:11px;background:#1e3a5f;color:#fff;border:none;border-radius:4px;cursor:pointer}.success-message{text-align:center;color:#28a745;font-weight:500;padding:20px}.version-history-panel{position:fixed;right:0;top:60px;width:350px;height:calc(100vh - 60px);background:#fff;box-shadow:-4px 0 20px #0000001a;z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.version-history-panel.active{transform:translate(0)}.version-panel-header{padding:16px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.version-panel-header h3{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.version-panel-body{flex:1;overflow-y:auto;padding:12px}.version-list{list-style:none;padding:0;margin:0}.version-item{padding:12px;border:1px solid #e9ecef;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.version-item:hover{border-color:#1e3a5f;background:#f8f9ff}.version-item.current{border-color:#28a745;background:#f0fff4}.version-date{font-size:12px;color:#6c757d;margin-bottom:4px}.version-description{font-size:14px;font-weight:500}.version-actions{display:flex;gap:8px;margin-top:8px}.version-actions button{padding:4px 8px;font-size:12px;border:none;border-radius:4px;cursor:pointer}.version-actions .restore-btn{background:#1e3a5f;color:#fff}.version-actions .compare-btn{background:#e9ecef;color:#495057}.version-actions .delete-btn{background:#dc3545;color:#fff}.payment-system-selector{padding:1.5rem;background:var(--background-color, #fff)}.payment-system-selector__header{margin-bottom:2rem;text-align:center}.payment-system-selector__header h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary, #333)}.payment-system-selector__description{margin:0;color:var(--text-secondary, #666);font-size:.95rem}.payment-system-selector__warning{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404}.payment-system-selector__warning i{font-size:1.25rem}.payment-system-selector__comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.payment-system-card{position:relative;padding:1.5rem;border:2px solid var(--border-color, #ddd);border-radius:8px;background:var(--card-background, #fff);cursor:pointer;transition:all .3s ease}.payment-system-card:hover:not(.disabled){border-color:var(--primary-color, #007bff);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payment-system-card.selected{border-color:var(--success-color, #28a745);background:var(--success-light, #f0f9f4)}.payment-system-card.disabled{opacity:.6;cursor:not-allowed}.payment-system-card__badge{position:absolute;top:-10px;right:1rem;padding:.25rem .75rem;background:var(--primary-color, #007bff);color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;text-transform:uppercase}.payment-system-card__header{margin-bottom:1.5rem}.payment-system-card__header h4{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary, #333)}.payment-system-card__description{margin:0;color:var(--text-secondary, #666);font-size:.9rem}.payment-system-card__details{margin-bottom:1.5rem;padding:1rem;background:var(--background-light, #f8f9fa);border-radius:4px}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-light, #e9ecef)}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:var(--text-secondary, #666)}.detail-value{color:var(--text-primary, #333);text-align:right}.payment-system-card__costs{margin-bottom:1.5rem;padding:1rem;background:var(--background-light, #f8f9fa);border-radius:4px}.payment-system-card__costs h5{margin:0 0 1rem;font-size:1rem;color:var(--text-primary, #333)}.cost-breakdown{margin-bottom:1rem}.cost-item{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;color:var(--text-secondary, #666)}.cost-total{display:flex;justify-content:space-between;padding-top:1rem;border-top:2px solid var(--border-color, #ddd);font-weight:600;font-size:1.1rem}.cost-total__amount{color:var(--primary-color, #007bff)}.payment-system-card__pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.pros,.cons{padding:1rem;border-radius:4px}.pros{background:var(--success-light, #f0f9f4)}.cons{background:var(--warning-light, #fff3cd)}.pros h5,.cons h5{margin:0 0 .75rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.pros h5 i{color:var(--success-color, #28a745)}.cons h5 i{color:var(--warning-color, #ffc107)}.pros ul,.cons ul{margin:0;padding-left:1.25rem;font-size:.85rem}.pros li,.cons li{margin-bottom:.5rem}.payment-system-card__requirements{padding:1rem;background:var(--info-light, #e7f3ff);border-radius:4px}.payment-system-card__requirements h5{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary, #333)}.payment-system-card__requirements ul{margin:0;padding-left:1.25rem;font-size:.85rem}.payment-system-card__requirements li{margin-bottom:.5rem}.payment-system-card__selected-indicator{position:absolute;bottom:1rem;right:1rem;padding:.5rem 1rem;background:var(--success-color, #28a745);color:#fff;font-weight:600;border-radius:4px;display:flex;align-items:center;gap:.5rem}.payment-system-selector__recommendation{padding:1.5rem;margin-bottom:2rem;background:var(--info-light, #e7f3ff);border-left:4px solid var(--info-color, #17a2b8);border-radius:4px}.payment-system-selector__recommendation h4{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary, #333)}.payment-system-selector__recommendation p{margin:0;color:var(--text-secondary, #666)}.payment-system-selector__actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #ddd)}.payment-system-selector-compact{margin-bottom:1.5rem}.payment-system-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}.payment-system-option{position:relative;padding:1rem;border:2px solid var(--border-color, #ddd);border-radius:4px;cursor:pointer;transition:all .2s ease}.payment-system-option:hover:not(.disabled){border-color:var(--primary-color, #007bff)}.payment-system-option.selected{border-color:var(--success-color, #28a745);background:var(--success-light, #f0f9f4)}.payment-system-option.disabled{opacity:.6;cursor:not-allowed}.payment-system-option input[type=radio]{position:absolute;opacity:0}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-content strong{font-size:1rem;color:var(--text-primary, #333)}.option-content span{font-size:.85rem;color:var(--text-secondary, #666)}.payment-system-modal .modal-content{max-width:1200px;max-height:90vh;overflow-y:auto}.payment-system-modal .modal-body{padding:0}@media (max-width: 768px){.payment-system-selector__comparison,.payment-system-card__pros-cons,.payment-system-options{grid-template-columns:1fr}}.suggestion-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.suggestion-modal-content{background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column}.suggestion-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.suggestion-modal .modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary, #333)}.suggestion-modal .close-modal-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #666);padding:0;line-height:1}.suggestion-modal .close-modal-btn:hover{color:var(--text-primary, #333)}.suggestion-modal .modal-body{padding:20px;overflow-y:auto;flex:1}.suggestion-modal-description{margin:0 0 16px;color:var(--text-secondary, #666);font-size:.9rem}.suggestion-modal-description strong{color:var(--text-primary, #333)}.suggestion-categories-list{display:flex;flex-direction:column;gap:12px}.no-suggestions{text-align:center;color:var(--text-secondary, #666);padding:20px}.suggestion-branch-group{margin-bottom:16px}.branch-group-title{font-size:.85rem;color:var(--text-secondary, #666);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-color, #e0e0e0)}.suggestion-category{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:12px;transition:all .2s ease}.suggestion-category:hover{border-color:var(--primary-color, #4a90d9)}.suggestion-category.selected{background:var(--primary-light, #e8f4fd);border-color:var(--primary-color, #4a90d9)}.suggestion-category.mandatory{border-left:3px solid var(--warning-color, #f0ad4e)}.suggestion-category-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.suggestion-checkbox{width:18px;height:18px;cursor:pointer}.category-name{flex:1;color:var(--text-primary, #333)}.mandatory-badge{background:var(--warning-color, #f0ad4e);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:3px;text-transform:uppercase}.positions-count{color:var(--text-secondary, #666);font-size:.85rem;font-weight:400}.selected-position-info{margin-top:8px;padding:8px;background:var(--bg-primary, #ffffff);border-radius:4px;font-size:.85rem}.selected-label{color:var(--text-secondary, #666);margin-right:4px}.selected-name{color:var(--primary-color, #4a90d9);font-weight:500}.select-position-btn{margin-top:8px;font-size:.85rem}.suggestion-branch-filter{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color, #e0e0e0)}.suggestion-branch-filter label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-secondary, #666)}.suggestion-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #e0e0e0)}@media (max-width: 600px){.suggestion-modal-content{width:95%;max-height:90vh}.suggestion-modal .modal-header,.suggestion-modal .modal-body,.suggestion-modal .modal-footer{padding:12px 16px}.suggestion-category-label{flex-wrap:wrap}.positions-count{width:100%;margin-top:4px}}.suggestion-modal.selection-modal-open .modal-content{opacity:.7;pointer-events:none}.suggestion-modal.selection-modal-open .modal-footer{pointer-events:auto}.suggestion-modal .modal-footer button:disabled{opacity:.5;cursor:not-allowed}.selection-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:10100;display:flex;align-items:center;justify-content:center}.selection-modal-content{background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 8px 32px #00000040;max-width:800px;width:95%;max-height:85vh;display:flex;flex-direction:column;position:relative;z-index:10101}.selection-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #e0e0e0)}.selection-modal .modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary, #333)}.selection-modal .close-modal-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #666);padding:0;line-height:1}.selection-modal .close-modal-btn:hover{color:var(--text-primary, #333)}.selection-modal .modal-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column}.selection-search-container{position:relative;margin-bottom:12px}.selection-search-input{width:100%;padding:10px 40px 10px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:.95rem;transition:border-color .2s ease}.selection-search-input:focus{outline:none;border-color:var(--primary-color, #4a90d9);box-shadow:0 0 0 2px #4a90d91a}.selection-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #666);pointer-events:none}.selection-results-info{margin-bottom:12px;font-size:.85rem;color:var(--text-secondary, #666)}.selection-positions-list{flex:1;overflow-y:auto;border:1px solid var(--border-color, #e0e0e0);border-radius:6px}.no-positions{text-align:center;color:var(--text-secondary, #666);padding:40px 20px}.selection-positions-table{width:100%;border-collapse:collapse;font-size:.9rem}.selection-positions-table thead{position:sticky;top:0;background:var(--bg-secondary, #f5f5f5);z-index:1}.selection-positions-table th{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #666);border-bottom:2px solid var(--border-color, #e0e0e0)}.selection-positions-table td{padding:10px 12px;border-bottom:1px solid var(--border-color, #e0e0e0);vertical-align:middle}.selection-positions-table .col-num{width:120px;white-space:nowrap}.selection-positions-table .col-desc{min-width:200px}.selection-positions-table .col-unit{width:60px;text-align:center}.selection-positions-table .col-norm{width:80px;text-align:right}.selection-positions-table .col-action{width:100px;text-align:center}.position-row{cursor:pointer;transition:background-color .15s ease}.position-row:hover{background-color:var(--primary-light, #e8f4fd)}.position-row:hover .select-btn{opacity:1}.position-row .select-btn{opacity:.7;transition:opacity .15s ease}.selection-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color, #e0e0e0)}@media (max-width: 768px){.selection-modal-content{width:98%;max-height:95vh}.selection-modal .modal-header,.selection-modal .modal-body,.selection-modal .modal-footer{padding:12px 16px}.selection-positions-table{font-size:.85rem}.selection-positions-table th,.selection-positions-table td{padding:8px}.selection-positions-table .col-num{width:80px}.selection-positions-table .col-norm{display:none}}@media (max-width: 480px){.selection-positions-table .col-unit{display:none}.selection-positions-table .col-action{width:70px}.position-row .select-btn{padding:4px 8px;font-size:.8rem}}.validation-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;cursor:pointer;position:relative;transition:transform .2s ease,box-shadow .2s ease;font-size:12px;font-weight:700}.validation-indicator:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003}.validation-indicator:focus{outline:2px solid var(--primary-color, #2196F3);outline-offset:2px}.validation-indicator.status-valid{background-color:#4caf50;color:#fff}.validation-indicator.status-warning{background-color:#ff9800;color:#fff}.validation-indicator.status-error{background-color:#f44336;color:#fff}.indicator-icon{line-height:1}.validation-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;min-width:180px;max-width:300px;white-space:normal;text-align:left;margin-bottom:8px;box-shadow:0 4px 12px #0000004d}.validation-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}.validation-indicator:hover .validation-tooltip{opacity:1;visibility:visible}.tooltip-score{font-size:13px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-errors{color:#ff6b6b;font-weight:500}.tooltip-warnings{color:#ffc107;font-weight:500}.tooltip-suggestions{color:#64b5f6}.tooltip-issues{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.2)}.tooltip-issue{font-size:11px;margin-bottom:4px;line-height:1.3}.tooltip-issue-error{color:#ff6b6b}.tooltip-issue-warning{color:#ffc107}.tooltip-hint{margin-top:8px;font-size:10px;color:#fff9;font-style:italic}.validation-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.validation-panel-content{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.validation-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#f5f5f5}.validation-panel-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.close-panel-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1;transition:color .2s ease}.close-panel-btn:hover{color:#333}.validation-panel-summary{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fafafa;border-bottom:1px solid #e0e0e0}.validation-score-display{display:flex;align-items:center;gap:8px}.score-label{font-size:14px;color:#666}.score-value{font-size:20px;font-weight:700}.score-value.score-good{color:#4caf50}.score-value.score-medium{color:#ff9800}.score-value.score-bad{color:#f44336}.validation-counts{display:flex;gap:16px;font-size:13px}.error-count{color:#f44336}.warning-count{color:#ff9800}.info-count{color:#2196f3}.validation-panel-body{flex:1;overflow-y:auto;padding:16px 20px}.validation-issues-list{display:flex;flex-direction:column;gap:16px}.no-issues{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#4caf50}.no-issues-icon{font-size:48px;margin-bottom:12px}.no-issues-text{font-size:16px;font-weight:500}.issues-group{border-radius:8px;overflow:hidden}.issues-group-title{margin:0;padding:10px 12px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.issues-group-error .issues-group-title{background:#ffebee;color:#c62828}.issues-group-warning .issues-group-title{background:#fff3e0;color:#e65100}.issues-group-info .issues-group-title{background:#e3f2fd;color:#1565c0}.validation-issue{padding:12px;border-bottom:1px solid #f0f0f0;background:#fff}.validation-issue:last-child{border-bottom:none}.validation-issue.auto-fixable{background:#f8fff8}.issue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.issue-field{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.issue-code{font-size:10px;color:#999;font-family:monospace}.issue-message{font-size:14px;color:#333;line-height:1.4}.issue-suggestion{margin-top:8px;padding:8px 10px;background:#fffde7;border-radius:4px;font-size:13px;color:#5d4037}.btn-fix{margin-top:8px;background:#4caf50;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s ease}.btn-fix:hover{background:#43a047}.validation-panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e0e0e0;background:#fafafa}.close-validation-btn{background:#e0e0e0;color:#333;border:none;padding:10px 20px;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s ease}.close-validation-btn:hover{background:#d0d0d0}.fix-all-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s ease}.fix-all-btn:hover{background:#43a047}.validation-highlight{outline:2px solid #f44336!important;outline-offset:2px;animation:validation-pulse 1s ease-in-out infinite}@keyframes validation-pulse{0%,to{box-shadow:0 0 #f4433666}50%{box-shadow:0 0 0 6px #f4433600}}@media (max-width: 600px){.validation-panel-content{width:95%;max-height:90vh}.validation-panel-summary{flex-direction:column;gap:12px;align-items:flex-start}.validation-counts{flex-wrap:wrap;gap:8px}.validation-tooltip{left:auto;right:0;transform:none}.validation-tooltip:after{left:auto;right:12px;transform:none}}@media (prefers-color-scheme: dark){.validation-panel-content{background:#1e1e1e;color:#e0e0e0}.validation-panel-header{background:#2d2d2d;border-color:#404040}.validation-panel-header h3{color:#e0e0e0}.validation-panel-summary{background:#252525;border-color:#404040}.validation-issue{background:#1e1e1e;border-color:#404040}.validation-issue.auto-fixable{background:#1a2e1a}.issue-message{color:#e0e0e0}.validation-panel-footer{background:#252525;border-color:#404040}.close-validation-btn{background:#404040;color:#e0e0e0}}:root{--action-bar-height: 50px;--sticky-header-height: 85px;--table-row-hover-bg: var(--color-primary-bg);--task-row-default-bg: transparent;--border-radius-main: var(--radius-lg);--border-radius-small: var(--radius-sm);--box-shadow: var(--shadow-sm);--font-family-sans: var(--font-family)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);max-width:1400px;margin:0 auto;min-height:100vh;padding:var(--sticky-header-height) var(--spacing-6) var(--action-bar-height) var(--spacing-6)}h1{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-6)}h2{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-5);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-3)}h3{color:var(--color-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-top:var(--spacing-8);margin-bottom:var(--spacing-4)}h4{color:var(--color-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-6);margin-bottom:var(--spacing-4)}h5{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--spacing-6);margin-bottom:var(--spacing-4);border-bottom:1px dotted var(--border-color);padding-bottom:var(--spacing-2)}#sticky-header-tabs{position:fixed;top:0;width:100%;max-width:1400px;left:50%;transform:translate(-50%);z-index:1100;background-color:var(--light-gray);padding:3px 15px;box-shadow:0 1px 3px #00000014;border-bottom:1px solid var(--medium-gray);display:flex;flex-direction:column;gap:3px}.sticky-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:8px;min-height:35px}.top-bar .main-menu-container{display:flex;align-items:center;gap:4px}.dropdown-menu{position:relative;display:inline-block}.top-bar .dropdown-toggle,button.dropdown-toggle{background-color:transparent!important;color:var(--color-primary)!important;border:1px solid var(--color-primary)!important;padding:7px 12px!important;cursor:pointer;font-size:13px;font-weight:500;border-radius:var(--border-radius-small);transition:background-color .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap;line-height:1.2;font-family:inherit;box-shadow:none!important;transform:none!important;min-height:auto!important}.top-bar .dropdown-menu:hover .dropdown-toggle,.top-bar .dropdown-toggle:hover,button.dropdown-toggle:hover{background-color:var(--color-primary-bg)!important;border-color:var(--color-primary-hover)!important;color:var(--color-primary-hover)!important;transform:none!important}.dropdown-content{display:none;position:absolute;background-color:#fff;min-width:220px;box-shadow:0 4px 12px #00000026;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);z-index:1200;padding:4px 0}.dropdown-menu:hover .dropdown-content{display:block}.dropdown-content .menu-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;color:var(--text-color);font-size:13px;text-decoration:none;white-space:nowrap;cursor:pointer}.dropdown-content .menu-item:hover{background-color:var(--color-primary);color:var(--text-color-light)}.dropdown-content .menu-item.disabled{color:var(--dark-gray);background-color:#f8f9fa;cursor:not-allowed}.dropdown-content .menu-item.disabled:hover{background-color:#f8f9fa;color:var(--dark-gray)}.dropdown-content .menu-item .shortcut{font-size:.8em;color:var(--dark-gray)}.dropdown-content .menu-item:hover .shortcut{color:var(--text-color-light)}.dropdown-content hr{border:none;border-top:1px solid var(--medium-gray);margin:4px 0}.bottom-bar{border-top:1px solid var(--medium-gray);padding-top:5px;margin-top:5px}.tabs{display:flex;background-color:#fff;border-radius:var(--radius-md);box-shadow:none;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;border:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs{scrollbar-width:none}.tab{padding:var(--spacing-3) var(--spacing-6);cursor:pointer;background-color:#fff;border:none;border-bottom:2px solid transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);flex-shrink:0;text-align:center;color:var(--text-secondary);white-space:nowrap}.tab:not(.active):hover{color:var(--color-primary);border-bottom-color:var(--color-primary);background-color:#fff}.tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary);background-color:#fff;font-weight:var(--font-weight-semibold)}.branch-filter-container{margin-left:auto}.menu-item-group{padding:4px 0}.menu-group-header{display:block;padding:8px 12px;font-size:.8em;font-weight:600;color:var(--dark-gray);text-transform:uppercase}.menu-item.sub-item{padding-left:28px}.menu-item .menu-icon{width:20px;text-align:center;margin-right:8px;color:var(--color-primary)}.menu-item:hover .menu-icon{color:var(--text-inverse)}.tab-contents-wrapper>.tab-content{display:none}.tab-contents-wrapper>.tab-content.active{display:block;animation:fadeIn .3s;background:#fff;padding:15px;border-radius:var(--border-radius-main);box-shadow:var(--box-shadow);margin-top:15px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--spacing-5);margin-bottom:var(--spacing-5)}.form-group{margin-bottom:var(--spacing-4)}label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm)}input[type=text],input[type=number],input[type=file],input[type=email],input[type=password],input[type=search],input[type=date],select,textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-fast);background-color:var(--bg-secondary);color:var(--text-primary);min-height:36px}input[type=text]:hover,input[type=number]:hover,select:hover,textarea:hover{border-color:var(--gray-400)}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--shadow-focus)}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{background-color:var(--color-primary);color:var(--text-inverse);border:none;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-smooth);white-space:nowrap;line-height:1.4;font-family:inherit;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);min-height:36px}button:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-interactive);transform:translateY(-1px)}button:active{background-color:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-sm)}button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}button.secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);box-shadow:none}button.secondary:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}button.secondary:active{background-color:var(--color-primary-bg-hover)}button.danger{background-color:var(--color-danger);border-color:var(--color-danger)}button.danger:hover{background-color:var(--color-danger-dark)}button.ghost{background-color:transparent;color:var(--color-primary);box-shadow:none;padding:var(--spacing-2) var(--spacing-4)}button.ghost:hover{background-color:var(--color-primary-bg)}button.small-action-btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);min-height:28px}.button-group{display:flex;gap:var(--spacing-3);flex-wrap:wrap;align-items:center}input[type=checkbox]{margin-right:var(--spacing-2);vertical-align:middle;width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}#cost-table,#material-summary-table,#equipment-summary-table,#labor-summary-table,.analysis-table,.calculation-preview-table{width:100%;border-collapse:collapse;margin-bottom:20px;background-color:#fff;border-radius:var(--border-radius-main);overflow:hidden;box-shadow:var(--box-shadow);font-size:13px;table-layout:fixed}#cost-table th,#material-summary-table th,#equipment-summary-table th,#labor-summary-table th,.analysis-table th,.calculation-preview-table th,#cost-table td,#material-summary-table td,#equipment-summary-table td,#labor-summary-table td,.analysis-table td,.calculation-preview-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--medium-gray);vertical-align:middle;word-wrap:break-word}#cost-table th,#material-summary-table th,#equipment-summary-table th,#labor-summary-table th,.analysis-table th{background-color:var(--table-header-bg)!important;color:var(--table-header-text-color)!important;font-weight:500;white-space:nowrap;font-size:.9em;padding:6px}#cost-table tbody tr:hover>td,#material-summary-table tbody tr:hover>td,#equipment-summary-table tbody tr:hover>td,#labor-summary-table tbody tr:hover>td,.analysis-table tbody tr:hover>td{background-color:var(--table-row-hover-bg)!important}#cost-table tfoot td,#material-summary-table tfoot td,#equipment-summary-table tfoot td,#labor-summary-table tfoot td{font-weight:500;background-color:var(--light-gray);padding:4px 6px;border-top:1px solid var(--medium-gray)}#cost-table tfoot tr.grand-total-row td{font-weight:700;background-color:var(--primary-color);color:var(--text-color-light);border-top:2px solid #000;padding:6px}.col-drag{width:20px;text-align:center;padding:8px 0}.col-lp{width:45px;text-align:center;white-space:nowrap;padding:8px 4px}.col-desc{width:auto}.col-unit{width:6%;text-align:center}.col-qty{width:7.5%;text-align:right}.qty-wrapper{display:flex;align-items:center;gap:4px}.col-qty .quantity-input{flex-grow:1;width:100%;min-width:40px}.calculator-icon-qty{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);padding:2px;border-radius:var(--border-radius-small);transition:color .2s ease,transform .15s ease;line-height:1;flex-shrink:0}.calculator-icon-qty:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.calculator-icon-qty.has-calculation{color:var(--color-success, #059669)}.col-price-r-unit,.col-price-m-unit,.col-price-s-unit,.col-price-total,.col-value{width:7.5%;text-align:right;white-space:nowrap}.labor-override-icon{font-size:.65em;margin-left:3px;opacity:.5;color:#888;cursor:help;vertical-align:middle}.labor-override-icon:hover{opacity:.8}[data-theme=dark] .labor-override-icon{color:#999}#cost-table .col-desc>div:first-child,.col-special-desc>div:first-child{display:flex;align-items:center;justify-content:space-between}.notes-icon-wrapper,.special-row-icons-container{display:flex;align-items:center;margin-left:6px;position:relative;flex-shrink:0}.special-row-icons-container{gap:4px}.notes-icon,.color-picker-icon,.edit-special-row-icon{cursor:pointer;font-size:14px;color:var(--color-primary, #1e3a5f);padding:2px 4px;border-radius:var(--border-radius-small);transition:color .2s ease,transform .15s ease;line-height:1}.notes-icon:hover,.color-picker-icon:hover,.edit-special-row-icon:hover{color:var(--color-info, #0284c7);transform:scale(1.1)}.notes-icon.has-notes{color:var(--color-primary, #1e3a5f)}.notes-preview-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-5px);background-color:#fff;border:1px solid var(--medium-gray);padding:6px 10px;border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);font-size:.8em;z-index:1200;max-width:350px;width:max-content;white-space:pre-wrap;color:var(--text-color);text-align:left;pointer-events:none}.notes-icon-wrapper:hover .notes-preview-tooltip{display:block}.department-row td,.subdepartment-row td{vertical-align:middle;border-bottom:1px solid #ccc;color:var(--text-color)}.department-row{font-weight:700}.subdepartment-row{font-style:italic}.department-row td{border-top:2px solid #bbb;border-bottom:1px solid #bbb}.subdepartment-row td{border-top:1px dashed #ccc;border-bottom:1px dashed #ccc}.department-row .col-lp,.subdepartment-row .col-lp{font-weight:700;font-style:normal}.department-row .special-row-sum-r,.department-row .special-row-sum-m,.department-row .special-row-sum-s,.subdepartment-row .special-row-sum-r,.subdepartment-row .special-row-sum-m,.subdepartment-row .special-row-sum-s{text-align:right!important;font-weight:700;padding:4px 8px;white-space:nowrap;min-width:80px}.subdepartment-row .special-row-sum-r,.subdepartment-row .special-row-sum-m,.subdepartment-row .special-row-sum-s{font-weight:400;font-style:italic}.col-special-desc{text-align:left!important}.subdepartment-row .col-special-desc{padding-left:25px!important}.special-row-input{width:100%;border:none;background-color:transparent;font-weight:inherit;font-style:inherit;font-size:inherit;padding:2px 0;margin:0;outline:none;color:inherit}.special-row-input:focus{background-color:#fffc;box-shadow:inset 0 0 0 1px var(--secondary-color)}.collapsible-icon{font-size:.9em;margin-right:8px;cursor:pointer;transition:transform .2s ease-in-out,color .2s ease-in-out;display:inline-block;width:16px;text-align:center;color:var(--color-primary, #1e3a5f)}.department-row .collapsible-icon{font-weight:700}.subdepartment-row .collapsible-icon{font-style:normal}.collapsible-icon:hover{transform:scale(1.2);color:var(--color-info, #0284c7)}.collapsed>.col-special-desc .collapsible-icon{transform:none;color:var(--text-secondary, #6b7280)}.collapsed>.col-special-desc .collapsible-icon:before{content:"▶"}tr:not(.collapsed)>.col-special-desc .collapsible-icon:before{content:"▼"}tr.hidden-by-collapse{display:none}tr.insert-indicator-row td.insert-indicator-cell{height:3px!important;padding:0!important;border:none!important;background-color:var(--accent-color)!important;opacity:.7;line-height:0;font-size:0;transition:opacity .2s ease-in-out}tr.insert-indicator-row{position:relative;top:-1px}#cost-table-body tr[data-row-type=task]>td{background-color:var(--task-row-default-bg, transparent);color:var(--text-color)}#cost-table-body tr[data-row-type=task] .task-search-input,#cost-table-body tr[data-row-type=task] .quantity-input{color:inherit}#cost-table-body tr[data-row-type=task] input[type=number],#cost-table-body tr[data-row-type=task] input[type=text]{padding:5px 7px;font-size:13px;width:100%}#cost-table-body tr[data-row-type=task] .col-price-r-unit,#cost-table-body tr[data-row-type=task] .col-price-m-unit,#cost-table-body tr[data-row-type=task] .col-price-s-unit,#cost-table-body tr[data-row-type=task] .col-price-total,#cost-table-body tr[data-row-type=task] .col-value{text-align:right}#cost-table-body tr.last-clicked-row-highlight,#cost-table-body tr.last-clicked-row-highlight>td,#cost-table-body tr.last-clicked-row-highlight td{background-color:var(--row-highlight-selected-bg)!important;color:var(--row-highlight-selected-text)!important}#cost-table-body tr.last-clicked-row-highlight .special-row-input,#cost-table-body tr.last-clicked-row-highlight .task-search-input,#cost-table-body tr.last-clicked-row-highlight input{background-color:var(--row-highlight-selected-bg)!important;color:var(--row-highlight-selected-text)!important}#cost-table-body tr.row-deleting,#cost-table-body tr.row-deleting>td,#cost-table-body tr.row-deleting td{background-color:var(--row-highlight-delete-bg)!important;color:var(--row-highlight-delete-text)!important;transition:background-color .3s ease}#cost-table-body tr.row-deleting .special-row-input,#cost-table-body tr.row-deleting .task-search-input,#cost-table-body tr.row-deleting input{background-color:var(--row-highlight-delete-bg)!important;color:var(--row-highlight-delete-text)!important}#cost-table-body tr.row-copying,#cost-table-body tr.row-copying>td,#cost-table-body tr.row-copying td{background-color:var(--row-highlight-copy-bg)!important;color:var(--row-highlight-copy-text)!important;transition:background-color .3s ease}#cost-table-body tr.row-copying .special-row-input,#cost-table-body tr.row-copying .task-search-input,#cost-table-body tr.row-copying input{background-color:var(--row-highlight-copy-bg)!important;color:var(--row-highlight-copy-text)!important}#cost-table-body tr.cut-row,#cost-table-body tr.cut-row>td,#cost-table-body tr.cut-row td{background-color:var(--row-highlight-cut-bg)!important;color:var(--row-highlight-cut-text)!important;opacity:.7}#cost-table-body tr.cut-row .special-row-input,#cost-table-body tr.cut-row .task-search-input,#cost-table-body tr.cut-row input{background-color:var(--row-highlight-cut-bg)!important;color:var(--row-highlight-cut-text)!important}#cost-table-body tr.row-pasting,#cost-table-body tr.row-pasting>td,#cost-table-body tr.row-pasting td{background-color:var(--row-highlight-paste-bg)!important;color:var(--row-highlight-paste-text)!important;transition:background-color .3s ease}#cost-table-body tr.row-pasting .special-row-input,#cost-table-body tr.row-pasting .task-search-input,#cost-table-body tr.row-pasting input{background-color:var(--row-highlight-paste-bg)!important;color:var(--row-highlight-paste-text)!important}#cost-table-body tr.row-delete-hover,#cost-table-body tr.row-delete-hover>td,#cost-table-body tr.row-delete-hover td{background-color:var(--row-highlight-delete-bg)!important;color:var(--row-highlight-delete-text)!important;transition:background-color .15s ease}#cost-table-body tr.row-delete-hover .special-row-input,#cost-table-body tr.row-delete-hover .task-search-input,#cost-table-body tr.row-delete-hover input{background-color:var(--row-highlight-delete-bg)!important;color:var(--row-highlight-delete-text)!important}.color-palette{display:none;position:absolute;z-index:10001;background-color:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);box-shadow:0 4px 12px #00000026;padding:6px;flex-wrap:wrap;gap:4px;width:auto;max-width:180px}.color-palette-item{width:20px;height:20px;border-radius:3px;cursor:pointer;border:1px solid var(--medium-gray);transition:transform .1s ease-out,box-shadow .1s ease-out}.color-palette-item:hover{transform:scale(1.1);box-shadow:0 0 5px #0003}.color-palette-item.no-color{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff}.drag-handle{cursor:grab;display:inline-block;padding:2px 4px;-webkit-user-select:none;user-select:none;font-size:1em;line-height:1;color:var(--color-primary, #1e3a5f);width:100%;text-align:center;transition:color .2s ease}.drag-handle:hover{color:var(--color-info, #0284c7)}.drag-handle:active,tr.dragging .drag-handle{cursor:grabbing}#cost-table-body tr.dragging,#cost-table-body tr.dragging-child{opacity:.6;background-color:var(--row-highlight-drag-bg)!important;border:1px dashed var(--secondary-color);box-shadow:0 4px 8px #0003}#cost-table-body tr.drag-over{border-top:3px solid var(--secondary-color)!important;background-color:var(--row-highlight-dragover-bg)!important}.norms-display{font-size:11px;color:var(--dark-gray);margin-top:4px;padding-left:4px;border-left:2px solid var(--medium-gray);line-height:1.3}.norms-display ul{margin:2px 0 0 8px;padding:0;list-style-type:none}.norms-display li{margin-bottom:1px}.norms-display strong{color:var(--text-color);font-weight:600}.suggestions-container{position:relative;width:100%}.suggestions-container .task-search-input[readonly]{background-color:var(--gray-100);cursor:not-allowed;border-color:var(--border-color)}.suggestions-container .change-task-btn{padding:5px 7px!important;font-size:.85em!important;line-height:1!important;min-width:auto}.suggestions-dropdown-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:1140}.suggestions-dropdown{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:900px;max-height:70vh;overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1150;font-size:var(--font-size-base);padding:var(--spacing-4);box-sizing:border-box}.suggestions-dropdown ul{list-style:none;padding:0;margin:0;max-height:calc(70vh - 50px);overflow-y:auto}.suggestions-dropdown .department-header{padding:var(--spacing-4) var(--spacing-5);font-weight:var(--font-weight-bold);background-color:var(--gray-100);cursor:pointer;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.suggestions-dropdown .department-header:after{content:"▶";font-size:.8em;color:var(--text-secondary);margin-left:var(--spacing-5)}.suggestions-dropdown .department-header:hover{background-color:var(--color-primary-bg)}.suggestions-dropdown .task-item{padding:var(--spacing-4) var(--spacing-5);cursor:pointer;border-bottom:1px solid var(--border-color-light)}.suggestions-dropdown .task-item:last-child{border-bottom:none}.suggestions-dropdown .task-item:hover{background-color:var(--color-primary-bg)}.suggestions-dropdown .dropdown-nav-header{position:sticky;top:0;z-index:10;background-color:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.suggestions-dropdown .dropdown-nav-header:empty{display:none}.suggestions-dropdown .dropdown-nav-header .back-to-departments,.suggestions-dropdown .dropdown-nav-header .back-to-branches{padding:var(--spacing-3) var(--spacing-5);font-weight:var(--font-weight-bold);font-style:italic;cursor:pointer;border-bottom:1px solid var(--border-color-light)}.suggestions-dropdown .dropdown-nav-header .back-to-branches{color:var(--color-primary);background-color:var(--color-primary-bg)}.suggestions-dropdown .dropdown-nav-header .back-to-departments{color:var(--color-info);background-color:var(--gray-50)}.suggestions-dropdown .dropdown-nav-header .back-to-branches:hover,.suggestions-dropdown .dropdown-nav-header .back-to-departments:hover{background-color:var(--color-primary-bg-hover)}.suggestions-dropdown .back-to-departments{padding:var(--spacing-4) var(--spacing-5);font-weight:var(--font-weight-bold);font-style:italic;color:var(--color-primary);background-color:var(--gray-50);cursor:pointer;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color-light)}.suggestions-dropdown .back-to-departments:hover{background-color:var(--color-primary-bg-hover)}.suggestions-dropdown .back-to-branches{padding:var(--spacing-4) var(--spacing-5);font-weight:var(--font-weight-bold);font-style:italic;color:var(--color-primary);background-color:var(--color-primary-bg);cursor:pointer;border-bottom:1px solid var(--border-color)}.suggestions-dropdown .back-to-branches:hover{background-color:var(--color-primary-bg-hover)}.suggestions-dropdown .branch-header{padding:var(--spacing-5) var(--spacing-6);font-weight:var(--font-weight-bold);background-color:var(--color-success-bg);cursor:pointer;border-bottom:1px solid var(--color-success-light);color:var(--color-success-dark)}.suggestions-dropdown .branch-header:hover{background-color:var(--color-success-light)}.suggestions-dropdown .branch-header strong{color:var(--color-primary);margin-right:var(--spacing-2)}.suggestions-dropdown .dropdown-item-count{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.suggestions-dropdown .dropdown-group-header{padding:var(--spacing-3) var(--spacing-5);font-weight:var(--font-weight-semibold);background-color:var(--gray-100);color:var(--text-secondary);font-size:var(--font-size-sm);border-bottom:1px solid var(--border-color);cursor:default}.suggestions-dropdown .branch-filter-header{background-color:var(--color-success-bg);color:var(--color-success-dark);padding:var(--spacing-5) var(--spacing-6);font-size:1em;border-bottom:2px solid var(--color-success)}.suggestions-dropdown .branch-filter-header strong{color:var(--color-success-dark)}.suggestions-dropdown li.active:not(.branch-filter-header):not(.dropdown-group-header){background-color:var(--color-primary);color:var(--text-inverse)}.suggestions-dropdown .department-header.active:after{color:var(--text-inverse)}.suggestions-dropdown .no-results{padding:var(--spacing-6);color:var(--text-muted);text-align:center;cursor:default;font-style:italic}.suggestions-dropdown-close-btn{position:absolute;top:8px;right:12px;font-size:26px;font-weight:700;color:var(--dark-gray);background:none;border:none;cursor:pointer;line-height:1;padding:4px}.suggestions-dropdown-close-btn:hover{color:var(--accent-color)}.modal{display:none;position:fixed;z-index:9000;left:0;top:0;width:100%;height:100%;background-color:#00000080;animation:modalFadeIn .2s ease-out;overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.active{display:block}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-secondary);margin:3% auto;padding:var(--spacing-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:800px;position:relative;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.close-modal-btn{position:absolute;top:var(--spacing-4);right:var(--spacing-5);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:var(--font-weight-bold);cursor:pointer;color:var(--text-muted);background-color:transparent;border:none;border-radius:var(--radius-md);transition:all var(--transition-fast);line-height:1;padding:0;box-shadow:none}.close-modal-btn:hover{color:var(--color-danger);background-color:var(--color-danger-bg);transform:none}.modal h2{text-align:left;border:none;padding:0;margin-bottom:var(--spacing-8);padding-right:var(--spacing-10);font-size:var(--font-size-xl)}.modal-form .form-group{margin-bottom:var(--spacing-5)}.modal-form label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.modal-actions{margin-top:var(--spacing-10);display:flex;justify-content:flex-end;gap:var(--spacing-3);padding-top:var(--spacing-6);border-top:1px solid var(--border-color-light)}#custom-task-materials-list,#custom-task-equipment-list{margin-bottom:12px;max-height:180px;overflow-y:auto;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);padding:12px}.material-norm-header,.equipment-norm-header{display:grid;gap:6px;margin-bottom:8px;font-weight:700;color:var(--primary-color);font-size:.8em;padding:0 4px 4px;border-bottom:1px solid var(--medium-gray)}.material-norm-header{grid-template-columns:1.5fr .5fr 1fr .8fr auto}.equipment-norm-header{grid-template-columns:1.5fr 1fr .8fr auto}.material-norm-group,.equipment-norm-group{display:grid;gap:4px;margin-bottom:6px;align-items:center;padding-bottom:6px;border-bottom:1px dashed var(--border-color-light)}.material-norm-group{grid-template-columns:1.5fr .5fr 1fr .8fr auto}.equipment-norm-group{grid-template-columns:2fr 1fr .8fr auto}#custom-task-materials-list input,#custom-task-equipment-list input{font-size:13px;padding:7px 9px}.remove-material-btn,.remove-equipment-btn{padding:5px 9px;font-size:11px}#add-material-norm-btn,#add-equipment-norm-btn{margin-top:12px;margin-bottom:15px}#open-project-modal .modal-content{max-width:600px}#project-list-container{max-height:50vh;overflow-y:auto;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);margin-bottom:15px}ul.projects-list-modal{list-style:none;padding:0;margin:0}ul.projects-list-modal li{padding:10px 15px;border-bottom:1px solid var(--medium-gray);cursor:pointer;transition:background-color .2s;display:flex;justify-content:space-between;align-items:center}ul.projects-list-modal li:last-child{border-bottom:none}ul.projects-list-modal li:hover{background-color:var(--color-primary-bg)}ul.projects-list-modal li.selected{background-color:var(--color-primary);color:var(--text-inverse)}ul.projects-list-modal .project-name{font-weight:var(--font-weight-medium)}ul.projects-list-modal .project-date{font-size:var(--font-size-sm);color:var(--text-secondary)}ul.projects-list-modal li.selected .project-date{color:#fffc}#survey-modal .modal-content{max-width:700px}#survey-modal h2{font-size:1.3em;margin-bottom:5px}#survey-modal-item-desc{margin-bottom:15px;font-style:italic;color:var(--dark-gray);padding:8px 12px;background-color:var(--light-gray);border-radius:var(--border-radius-small);font-size:.9em;border:1px solid var(--medium-gray)}#survey-list{max-height:45vh;overflow-y:auto;padding:var(--spacing-5);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);margin-bottom:var(--spacing-5)}.survey-item{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-3);padding:var(--spacing-2);border-radius:var(--radius-sm);border:1px solid transparent}.survey-item:hover{background-color:var(--color-primary-bg)}.survey-item .drag-handle{cursor:grab;color:var(--text-secondary);padding:0 var(--spacing-2);align-self:center}.survey-item .drag-handle:active{cursor:grabbing}.survey-item.dragging{opacity:.5;background:var(--color-primary-bg);border:1px dashed var(--color-primary)}.survey-item.drag-over{border-top:2px solid var(--color-primary);background-color:var(--color-primary-bg)}.survey-item input[type=text]{border:1px solid var(--medium-gray);padding:6px 8px;border-radius:var(--border-radius-small);font-size:13px}.survey-item input[type=text]:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--shadow-focus)}.survey-item[data-type=text]{display:grid;grid-template-columns:auto 1fr auto;background-color:var(--color-primary-bg);padding:var(--spacing-3) var(--spacing-2);margin:var(--spacing-4) 0;border-top:1px solid var(--color-primary);border-bottom:1px solid var(--color-primary)}.survey-item[data-type=text] .survey-text-input{flex-grow:1;font-weight:600;color:var(--primary-color);background:transparent;border:none;box-shadow:none}.survey-item[data-type=calc]{display:grid;grid-template-columns:auto 1fr 2fr 100px auto;gap:8px;align-items:center}.survey-calc-desc{flex-grow:2}.survey-calc-expr{flex-grow:3;font-family:Courier New,Courier,monospace}.survey-calc-expr.error{border-color:var(--color-danger);background-color:var(--color-danger-bg);color:var(--color-danger)}.survey-calc-expr.error::placeholder{color:var(--color-danger);opacity:.7}.survey-calc-result{font-weight:var(--font-weight-bold);text-align:right;padding:var(--spacing-3) var(--spacing-4);background-color:var(--gray-100);border-radius:var(--radius-sm);white-space:nowrap;min-width:80px}.survey-calc-result.error{background-color:var(--color-danger-bg);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-align:center;overflow:hidden;text-overflow:ellipsis}.survey-item .delete-item-btn{background:none;border:none;color:var(--dark-gray);cursor:pointer;font-size:1.2em;padding:0 5px}.survey-item .delete-item-btn:hover{color:var(--accent-color)}.survey-actions{display:flex;gap:10px;margin-bottom:15px;align-items:center}.survey-actions button{font-size:.85em;padding:5px 10px}#link-survey-item-btn{font-size:1.2em;padding:4px 8px;line-height:1}.survey-summary{margin-top:15px;padding-top:15px;border-top:2px solid var(--primary-color);display:flex;justify-content:space-between;align-items:center}.survey-summary label{font-weight:700;font-size:1.1em}#survey-total-result{font-size:1.6em;font-weight:700;color:var(--success-color)}#survey-modal .modal-actions{justify-content:space-between;align-items:center}#use-survey-result-btn{background-color:var(--color-success)}#use-survey-result-btn:hover{background-color:var(--color-success-dark)}#notes-modal-textarea{width:100%;min-height:100px;padding:8px;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);font-size:13px;font-family:inherit;resize:vertical;margin-bottom:12px}#notes-modal-textarea:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--shadow-focus)}#notes-modal-item-desc{margin-bottom:12px;font-style:italic;color:var(--dark-gray);padding:7px 9px;background-color:var(--light-gray);border-radius:3px;font-size:.85em;max-height:50px;overflow-y:auto;border:1px solid var(--medium-gray)}#confirm-notification-modal .modal-content{border-left:4px solid var(--warning-color);max-width:420px}#confirm-notification-modal h3{color:var(--primary-color);font-size:1.1em}#confirm-notification-modal .modal-actions button{min-width:70px}#print-selection-modal .modal-content{max-width:650px}.print-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.print-category{border:1px solid var(--border-color);padding:var(--spacing-6);border-radius:var(--radius-lg);background-color:var(--bg-secondary)}.print-category h4{margin-top:0;margin-bottom:10px;font-size:1em;color:var(--primary-color);border-bottom:1px solid var(--medium-gray);padding-bottom:6px}.print-category div{margin-bottom:8px;display:flex;align-items:center}.print-category input[type=checkbox].print-option{margin-right:7px;width:auto;transform:scale(1.05)}.print-category label{font-weight:400;font-size:.9em;color:var(--text-color);margin-bottom:0;cursor:pointer}#templates-modal .modal-content{max-width:650px}#templates-list-container select{width:100%;margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-secondary);min-height:90px}#templates-list-container option{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}#templates-list-container option:checked{background-color:var(--color-primary);color:var(--text-inverse)}#templates-list-container option.department-template{font-style:italic;color:var(--text-secondary)}#templates-list-container option.estimate-template{font-weight:700}.task-modal-form{display:flex;flex-direction:column;gap:12px}.task-modal-form .form-group{display:flex;flex-direction:column;gap:4px}.task-modal-form .form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.task-modal-form .form-group input,.task-modal-form .form-group select{padding:var(--spacing-4) var(--spacing-5);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.task-modal-form .form-group input:focus,.task-modal-form .form-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:var(--shadow-focus)}.task-modal-form .form-row-3{display:grid;grid-template-columns:100px 1fr 1fr;gap:12px}.task-modal-form .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rms-fieldset{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-5) var(--spacing-6);margin:0}.rms-fieldset legend{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-primary);padding:0 var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-5)}.rms-fieldset .btn-add{padding:var(--spacing-1) var(--spacing-5);font-size:var(--font-size-sm);background:var(--color-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.rms-fieldset .btn-add:hover{background:var(--color-primary-hover)}.rms-item-row{display:grid;grid-template-columns:1fr 80px 60px 80px 30px;gap:var(--spacing-4);align-items:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3);background:var(--gray-50);border-radius:var(--radius-sm)}.rms-item-row .mat-price{text-align:right;background:var(--color-warning-bg)}.rms-item-row select,.rms-item-row input{padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.rms-item-row input[type=number]{text-align:right}.rms-item-row .btn-remove{padding:var(--spacing-2) var(--spacing-4);background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-light);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.rms-item-row .btn-remove:hover{background:var(--color-danger-light)}.rms-item-row .mat-input-group,.rms-item-row .eq-input-group{display:flex;gap:4px;align-items:center}.rms-item-row .mat-input-group select,.rms-item-row .mat-input-group input[type=text]{flex:1;min-width:0}.rms-item-row .mat-custom-name{background:var(--color-warning-bg)}.rms-item-row .btn-toggle-custom{padding:var(--spacing-2) var(--spacing-4);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);flex-shrink:0;color:var(--color-primary, #1e3a5f)}.rms-item-row .btn-toggle-custom:hover{background:transparent;color:var(--color-info, #0284c7)}.rms-item-row .eq-input-group input{flex:1}.rms-empty{text-align:center;padding:var(--spacing-8);color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}#custom-task-modal .modal-actions{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--border-color-light)}#custom-task-modal .modal-actions .primary{background:var(--color-success)}#custom-task-modal .modal-actions .primary:hover{background:var(--color-success-dark)}.picker-modal{z-index:9500!important}.picker-modal .picker-content{max-width:1000px;max-height:85vh;display:flex;flex-direction:column}.picker-modal h2{margin:0 0 15px;font-size:1.3em;color:var(--text-color)}.picker-filters{margin-bottom:10px}.picker-search{width:100%;padding:10px 12px;font-size:1em;border:2px solid var(--medium-gray);border-radius:var(--border-radius-small);margin-bottom:8px}.picker-search:focus{border-color:var(--color-primary);outline:none;box-shadow:var(--shadow-focus)}.picker-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.picker-filter{padding:6px 10px;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);font-size:.9em}.picker-count{font-size:.85em;color:var(--dark-gray);margin-left:auto;font-weight:500}.picker-list{flex:1;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:200px;max-height:400px;background:var(--bg-secondary)}.picker-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--medium-gray);cursor:pointer;transition:background .15s}.picker-item:hover{background:var(--table-row-hover-bg)}.picker-item:last-child{border-bottom:none}.picker-item-name{font-weight:500;flex:1;color:var(--text-color)}.picker-item-unit{color:var(--dark-gray);font-size:.85em;margin-left:10px;background:var(--light-gray);padding:2px 8px;border-radius:var(--border-radius-small)}.picker-item-category{color:var(--dark-gray);font-size:.8em;margin-left:8px}.picker-no-results{text-align:center;padding:30px;color:var(--dark-gray);font-style:italic}.picker-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--bg-secondary)}.picker-table thead{position:sticky;top:0;background:var(--gray-50);z-index:1}.picker-table th{padding:6px 8px;text-align:left;font-weight:500;border-bottom:2px solid var(--medium-gray);color:var(--text-color);white-space:nowrap}.picker-table td{padding:6px 8px;border-bottom:1px solid var(--medium-gray);vertical-align:middle}.picker-table .col-ean{width:10%}.picker-table .col-name{width:25%}.picker-table .col-distributor{width:15%}.picker-table .col-cat,.picker-table .col-unit{width:6%;text-align:center}.picker-table .col-price,.picker-table .col-priceX{width:10%;text-align:right}.picker-table .col-discount{width:8%;text-align:right}.picker-row{cursor:pointer;transition:background .15s}.picker-row:hover{background:var(--table-row-hover-bg)!important}.picker-row:nth-child(2n){background:var(--light-gray)}.picker-table.excel-style thead{position:sticky;top:0;background:var(--bg-secondary);z-index:2}.picker-table.excel-style .header-row th{background:var(--primary-color);color:var(--text-color-light);padding:8px 6px;font-weight:500;border-bottom:none;font-size:.9em}.picker-table.excel-style .filter-row th{background:var(--light-gray);padding:4px;border-bottom:2px solid var(--primary-color)}.picker-table.excel-style .column-filter{width:100%;padding:5px 6px;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);font-size:11px;box-sizing:border-box;background:#fff}.picker-table.excel-style .column-filter:focus{border-color:var(--secondary-color);outline:none;box-shadow:0 0 0 2px #3498db33}.picker-table.excel-style .no-results{text-align:center;padding:30px;color:var(--dark-gray);font-style:italic}.picker-table.excel-style .sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.picker-table.excel-style .sortable:hover{background:var(--primary-color-dark)}.picker-table.excel-style .sort-icon{font-size:.8em;margin-left:4px;opacity:.8}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin-bottom:8px;border-bottom:1px solid var(--medium-gray)}.picker-header .picker-count{font-weight:600;color:var(--text-color)}.picker-header .picker-hint{color:var(--dark-gray);font-size:.85em}.picker-custom{margin-top:12px;padding-top:12px;border-top:1px solid var(--medium-gray)}.picker-custom h4{margin:0 0 8px;font-size:.95em;color:var(--dark-gray)}.picker-custom-row{display:flex;gap:8px;align-items:center}.picker-custom-row input{padding:8px 10px;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);flex:1}.picker-custom-row input:focus{border-color:var(--secondary-color);outline:none;box-shadow:0 0 0 2px #3498db33}.picker-custom-row .btn-add{padding:8px 16px;background:var(--success-color);color:#fff;border:none;border-radius:var(--border-radius-small);cursor:pointer;white-space:nowrap;transition:background .15s}.picker-custom-row .btn-add:hover{background:#218838}.rms-item-row .btn-pick{padding:6px 10px;background:transparent;border:none;border-radius:var(--border-radius-small);cursor:pointer;font-size:1em;flex-shrink:0;color:var(--color-primary, #1e3a5f);transition:color .15s}.rms-item-row .btn-pick:hover{background:transparent;border-color:transparent;color:var(--color-info, #0284c7)}.rms-item-row .mat-name,.rms-item-row .eq-name{flex:1;cursor:pointer;background:var(--light-gray);transition:background .15s}.rms-item-row .mat-name:hover,.rms-item-row .eq-name:hover{background:var(--table-row-hover-bg)}.material-name-with-preview{position:relative}.material-image-preview{cursor:help;margin-right:6px;font-size:.9em;opacity:.7;transition:opacity .15s}.material-image-preview:hover{opacity:1}.image-tooltip{position:fixed;z-index:10000;background:#fff;border:2px solid var(--primary-color);border-radius:var(--border-radius-main);box-shadow:0 8px 24px #00000040;padding:8px;max-width:300px;max-height:300px;pointer-events:none;opacity:0;transform:scale(.9);transition:opacity .2s,transform .2s}.image-tooltip.visible{opacity:1;transform:scale(1)}.image-tooltip img{max-width:100%;max-height:280px;display:block;border-radius:var(--border-radius-small)}.image-tooltip .image-loading{padding:40px;text-align:center;color:var(--dark-gray)}.image-tooltip .image-error{padding:20px;text-align:center;color:var(--accent-color);font-size:.9em}#material-summary-table{font-size:12px;table-layout:auto}#material-summary-table th,#material-summary-table td{padding:5px 7px;vertical-align:middle;white-space:nowrap}#material-summary-table th{font-size:.85em}#material-summary-table th:nth-child(1),#material-summary-table td:nth-child(1){width:22%;white-space:normal;word-break:break-word}#material-summary-table th:nth-child(2),#material-summary-table td:nth-child(2){width:5%;text-align:center}#material-summary-table th:nth-child(3),#material-summary-table td:nth-child(3){width:10%;text-align:left;white-space:normal}#material-summary-table th:nth-child(4),#material-summary-table td:nth-child(4){width:8%;text-align:right}#material-summary-table th:nth-child(5),#material-summary-table td:nth-child(5){width:5%;text-align:center}#material-summary-table th:nth-child(6),#material-summary-table td:nth-child(6){width:10%;text-align:right}#material-summary-table th:nth-child(7),#material-summary-table td:nth-child(7){width:10%;text-align:right}#material-summary-table th:nth-child(8),#material-summary-table td:nth-child(8){width:10%;text-align:right}#material-summary-table th:nth-child(9),#material-summary-table td:nth-child(9){width:8%;text-align:right}#material-summary-table th:nth-child(10),#material-summary-table td:nth-child(10){width:10%;text-align:right}#material-summary-table th:nth-child(11),#material-summary-table td:nth-child(11){width:10%;text-align:right}#material-summary-table input.material-summary-price-input,#material-summary-table input.material-summary-purchase-price-input{padding:3px 5px;font-size:12px;width:75px;border:1px solid var(--light-gray);border-radius:3px;background-color:#fafafa;text-align:right;background-color:transparent;transition:border-color .2s ease,background-color .2s ease}#material-summary-table input.material-summary-price-input:hover,#material-summary-table input.material-summary-purchase-price-input:hover{border-color:var(--medium-gray)}#material-summary-table input.material-summary-price-input:focus,#material-summary-table input.material-summary-purchase-price-input:focus{border-color:var(--secondary-color);background-color:#fff;outline:0;box-shadow:0 0 0 2px #3498db33}#material-summary-table tfoot td{padding:7px;font-weight:700}#material-summary-table tr.zero-price td{background-color:#fff2f2!important;color:#721c24!important}#material-summary-table tr.zero-price input.material-summary-price-input,#material-summary-table tr.zero-price input.material-summary-purchase-price-input{font-weight:700;color:#721c24;background-color:transparent}#material-summary-table tr.zero-price td.material-summary-value{font-weight:700}#material-summary-table thead th[data-sort-key]{cursor:pointer;position:relative}#material-summary-table thead th[data-sort-key]:after{content:"";position:absolute;right:8px;top:50%;border:4px solid transparent;opacity:.5;margin-top:-4px}#material-summary-table thead th.sort-asc:after{border-bottom:4px solid currentColor;margin-top:-2px;opacity:1}#material-summary-table thead th.sort-desc:after{border-top:4px solid currentColor;margin-top:-6px;opacity:1}#material-summary-table td.editable-material-name-cell{cursor:text;position:relative}#material-summary-table td.editable-material-name-cell input[type=text]{width:calc(100% - 4px);box-sizing:border-box;padding:3px 5px;font-size:inherit;font-family:inherit;border:1px solid var(--secondary-color);border-radius:3px;background-color:#fff}#material-summary-table tbody tr{cursor:pointer;transition:background-color .15s ease}#material-summary-table tbody tr:hover{background-color:#e8f4fc!important}#material-summary-table tbody tr td:first-child:before{content:"🔄";opacity:0;margin-right:5px;font-size:.9em;transition:opacity .2s ease}#material-summary-table tbody tr:hover td:first-child:before{opacity:.5}#material-summary-table tbody tr:active{background-color:#d4edfc!important}#equipment-summary-table{font-size:12px;table-layout:auto}#equipment-summary-table th,#equipment-summary-table td{padding:5px 7px;vertical-align:middle;white-space:nowrap}#equipment-summary-table th{font-size:.85em}#equipment-summary-table th:nth-child(1),#equipment-summary-table td:nth-child(1){width:35%;white-space:normal;word-break:break-word}#equipment-summary-table th:nth-child(2),#equipment-summary-table td:nth-child(2){width:10%;text-align:right}#equipment-summary-table th:nth-child(3),#equipment-summary-table td:nth-child(3){width:8%;text-align:center}#equipment-summary-table th:nth-child(4),#equipment-summary-table td:nth-child(4){width:15%;text-align:right}#equipment-summary-table th:nth-child(5),#equipment-summary-table td:nth-child(5){width:15%;text-align:right}#equipment-summary-table th:nth-child(6),#equipment-summary-table td:nth-child(6){width:17%;text-align:right}#equipment-summary-table input.equipment-summary-price-input{width:85px;padding:3px 5px;font-size:12px;border:1px solid var(--light-gray);border-radius:3px;text-align:right;background-color:#fafafa;transition:border-color .2s ease,background-color .2s ease}#equipment-summary-table input.equipment-summary-price-input:focus{border-color:var(--secondary-color);background-color:#fff;outline:none;box-shadow:0 0 0 2px #3498db33}#equipment-summary-table tfoot td{padding:7px;font-weight:700}#equipment-summary-table tbody tr{cursor:default;transition:background-color .15s ease}#equipment-summary-table tbody tr:hover{background-color:#e8f4fc!important}#equipment-summary-table input.equipment-summary-price-input{padding:3px 5px;font-size:12px;width:80px;margin-left:auto;border:1px solid transparent;border-radius:3px;text-align:right;background-color:transparent;transition:border-color .2s ease,background-color .2s ease}#equipment-summary-table input.equipment-summary-price-input:hover{border-color:var(--medium-gray)}#equipment-summary-table input.equipment-summary-price-input:focus{border-color:var(--secondary-color);background-color:#fff;outline:0;box-shadow:0 0 0 2px #3498db33}#equipment-summary-table tr.has-price-override td{background-color:#fff8e6!important}#labor-summary-table{font-size:12px;table-layout:auto}#labor-summary-table th,#labor-summary-table td{padding:5px 7px;vertical-align:middle;white-space:nowrap}#labor-summary-table th{font-size:.85em}#labor-summary-table th:nth-child(1),#labor-summary-table td:nth-child(1){width:40%;white-space:normal;word-break:break-word}#labor-summary-table th:nth-child(2),#labor-summary-table td:nth-child(2){width:10%;text-align:center}#labor-summary-table th:nth-child(3),#labor-summary-table td:nth-child(3){width:15%;text-align:right}#labor-summary-table th:nth-child(4),#labor-summary-table td:nth-child(4){width:15%;text-align:right}#labor-summary-table th:nth-child(5),#labor-summary-table td:nth-child(5){width:20%;text-align:right}#labor-summary-table tfoot td{padding:7px;font-weight:700}#labor-summary-table tbody tr{cursor:default;transition:background-color .15s ease}#labor-summary-table tbody tr:hover{background-color:#e8f4fc!important}#labor-summary-table input.labor-summary-rate-input{padding:3px 5px;font-size:12px;width:80px;border:1px solid transparent;border-radius:3px;text-align:right;background-color:transparent;transition:border-color .2s ease,background-color .2s ease}#labor-summary-table input.labor-summary-rate-input:hover{border-color:var(--medium-gray)}#labor-summary-table input.labor-summary-rate-input:focus{border-color:var(--secondary-color);background-color:#fff;outline:0;box-shadow:0 0 0 2px #3498db33}#labor-summary-table tr.has-price-override td{background-color:#fff8e6!important}.catalog-items-list{list-style:none;padding:0;margin-top:8px;border:1px solid var(--medium-gray);border-radius:var(--border-radius)}.catalog-items-list .catalog-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid #eee;flex-wrap:wrap;gap:8px}.catalog-items-list .catalog-item:last-child{border-bottom:none}.catalog-items-list .catalog-item:hover{background-color:var(--light-gray)}.catalog-items-list .item-info{flex-grow:1}.catalog-items-list .item-description,.catalog-items-list .item-name{display:block;font-weight:500;color:var(--primary-color);margin-bottom:2px;font-size:.9em}.catalog-items-list .item-details{font-size:.75em;color:var(--dark-gray)}.catalog-items-list .user-defined-tag{background-color:var(--secondary-color);color:#fff;padding:1px 4px;border-radius:3px;font-size:.7em;margin-left:5px;vertical-align:middle}.catalog-items-list .item-actions{display:flex;gap:6px;flex-shrink:0}.catalog-items-list .item-actions button{font-size:.75em;padding:3px 7px}.catalog-branch-header,.catalog-department-header,.catalog-category-header{padding:7px 10px;font-weight:700;background-color:var(--table-header-bg)!important;color:var(--table-header-text-color)!important;border-bottom:1px solid var(--medium-gray);font-size:.85em}.catalog-department-header,.catalog-category-header{background-color:#e9ecef!important;color:var(--primary-color)!important;padding-left:20px;font-style:italic}#katalogi-wlasne .intro-text{font-size:.9em;color:var(--dark-gray);margin-bottom:20px;max-width:800px}.catalog-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.catalog-section{background-color:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius);padding:15px;display:flex;flex-direction:column}.catalog-section h3{margin-top:0;margin-bottom:15px;font-size:1.1em;border-bottom:1px solid var(--medium-gray);padding-bottom:10px}.catalog-section h3 i{margin-right:8px;color:var(--secondary-color)}.catalog-controls{display:flex;gap:8px;margin-bottom:15px}.catalog-controls input{flex-grow:1}.catalog-list-container{flex-grow:1;overflow-y:auto;border:1px solid var(--medium-gray);border-radius:var(--border-radius);padding:5px;min-height:200px;background-color:#fdfdfd}.catalog-list-container p{padding:15px;text-align:center;color:var(--dark-gray);font-style:italic}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;align-items:stretch}.dashboard-widget{background-color:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;flex-direction:column;transition:box-shadow .2s ease-in-out;min-height:350px}.dashboard-widget.dragging{opacity:.5;box-shadow:0 10px 20px #0003;border:1px dashed var(--secondary-color)}.dashboard-widget.large-widget{grid-column:1 / -1}.widget-header{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--medium-gray);background-color:var(--light-gray)}.widget-header .drag-handle{cursor:grab;padding:5px;margin-right:8px;color:var(--dark-gray)}.widget-header h3{flex-grow:1;margin:0;font-size:1.1em;border:none;padding:0}.widget-controls{display:flex}.widget-controls .toggle-widget-visibility{background:none;border:none;cursor:pointer;font-size:1.2em;color:var(--dark-gray);padding:0 5px}.widget-content{padding:15px;flex-grow:1;display:flex;flex-direction:column}.widget-content.summary-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);flex-direction:unset}.widget-content.hidden{display:none}.chart-container{position:relative;min-height:280px;height:100%;width:100%;flex-grow:1;display:flex;align-items:center;justify-content:center;background:#fff;opacity:1}.chart-container canvas{max-width:100%;max-height:100%;opacity:1}.summary-kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.summary-box{background-color:#fff;padding:15px;border-radius:var(--border-radius);text-align:center;border:1px solid var(--medium-gray);border-left:5px solid}.summary-box.kpi-revenue{border-color:var(--success-color)}.summary-box.kpi-cost{border-color:var(--accent-color)}.summary-box.kpi-profit{border-color:var(--secondary-color)}.summary-box.kpi-margin{border-color:var(--warning-color)}.summary-box h4{margin:0 0 8px;font-size:.85rem;font-weight:500;color:var(--dark-gray);text-transform:uppercase;letter-spacing:.5px}.summary-box p{margin:0;font-size:1.6em;font-weight:700}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.dashboard-header h2{margin-bottom:0;border-bottom:none;padding-bottom:0}.dashboard-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.view-mode-container{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--color-primary-bg);border-radius:var(--border-radius-small);border:1px solid var(--color-primary)}.view-mode-container label{margin-bottom:0;color:var(--color-primary);font-size:1em}.view-mode-container select{border:none;background:transparent;color:var(--color-primary);font-weight:600;font-size:.9em;padding:4px 8px;cursor:pointer;min-width:160px}.view-mode-container select:focus{outline:none}#analysis-dashboard.view-mode-investor .contractor-only{display:none!important}#analysis-dashboard.view-mode-investor .investor-only{display:grid!important}#analysis-dashboard.view-mode-contractor .investor-only{display:none!important}#analysis-dashboard.view-mode-contractor .contractor-only{display:block}#investor-extra-kpis{grid-template-columns:repeat(2,1fr);gap:15px}#investor-extra-kpis .summary-box{border-color:var(--color-info)}#analysis-dashboard.view-mode-investor .summary-box.kpi-revenue{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-bg) 0%,#fff 100%)}#analysis-dashboard.view-mode-investor .kpi-value-large{color:var(--color-primary)}.filter-container{display:flex;align-items:center;gap:8px}.filter-container label{margin-bottom:0;font-size:.9em;white-space:nowrap}.filter-container select{min-width:180px;padding:6px 10px;font-size:.9em}.kpi-value-large{font-size:2rem!important;font-weight:700;line-height:1.2}.value-positive{color:var(--success-color, #28a745)!important}.value-negative{color:var(--accent-color, #dc3545)!important}.value-neutral{color:var(--text-color, #333)!important}.dashboard-widget.widget-collapsed .widget-content{display:none}.dashboard-widget.widget-collapsed{min-height:auto}.widget-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.widget-header:hover{background-color:var(--color-primary-bg, #e8f4fc)}.widget-collapse-indicator{margin-left:auto;margin-right:8px;font-size:.8em;color:var(--dark-gray);transition:transform .2s ease}.dashboard-widget.widget-collapsed .widget-collapse-indicator{transform:rotate(-90deg)}#expand-all-widgets-btn{display:none;margin-bottom:15px}.analysis-table tbody tr:nth-child(2n){background-color:var(--light-gray, #f8f9fa)}.analysis-table tbody tr:hover{background-color:var(--color-primary-bg, #e8f4fc)!important}.analysis-table .summary-row{background-color:var(--color-primary-bg, #e8f4fc)!important;font-weight:600}.analysis-table .summary-row td{border-top:2px solid var(--color-primary, #1e3a5f)}.analysis-table .profit-row td{font-size:1.05em}.analysis-table .text-right{text-align:right!important}.analysis-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.no-data-message{text-align:center;color:var(--dark-gray);font-style:italic;padding:20px}.delta-indicator{display:inline-block;font-size:.65em;margin-left:8px;padding:2px 6px;border-radius:var(--border-radius-small);vertical-align:middle}.delta-indicator.value-positive{background-color:#28a74526}.delta-indicator.value-negative{background-color:#dc354526}#comparison-mode-btn.active{background-color:var(--color-primary);color:var(--text-color-light);border-color:var(--color-primary)}.price-breakdown-container{margin-top:15px;border-top:1px solid var(--medium-gray);padding-top:15px}.price-breakdown-table{font-size:.9em}.price-breakdown-table th,.price-breakdown-table td{padding:8px 12px}.skeleton-loader{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:var(--border-radius-small)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-kpi{height:60px;margin-bottom:10px}.skeleton-chart{height:250px}.skeleton-table-row{height:40px;margin-bottom:8px}.analysis-error-message{text-align:center;padding:30px;color:var(--accent-color)}.analysis-error-message button{margin-top:15px}.sensitivity-controls{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:20px}.sensitivity-controls .form-group{display:flex;align-items:center;gap:10px}.sensitivity-controls label{flex-basis:50%;margin-bottom:0}.sensitivity-controls input{flex-grow:1}.sensitivity-results{border-top:1px dashed var(--medium-gray);padding-top:15px;font-size:1.1em}.sensitivity-results p{margin-bottom:5px}.analysis-table-container{overflow-x:auto}.analysis-table{table-layout:auto}.analysis-table td:not(:first-child){text-align:right}@media (max-width: 767px){.dashboard-grid,.summary-kpi-grid{grid-template-columns:1fr}.kpi-value-large{font-size:1.5rem!important}.dashboard-header{flex-direction:column;align-items:flex-start;gap:10px}.dashboard-header h2{font-size:1.2rem}.analysis-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.analysis-table{min-width:500px}.chart-container{min-height:200px}}@media (min-width: 768px) and (max-width: 1199px){.dashboard-grid,.summary-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.dashboard-grid,.summary-kpi-grid{grid-template-columns:repeat(2,1fr)}}#ustawienia h2{margin-bottom:18px}.settings-main-sections{display:flex;flex-direction:column;gap:0}.settings-section{padding:15px;border-radius:var(--border-radius);border:1px solid var(--medium-gray);box-shadow:0 1px 2px #00000008;margin-bottom:18px}.settings-section:last-child{margin-bottom:0}#general-settings-section{background-color:var(--settings-bg-general)}#labor-rates-settings-section{background-color:var(--settings-bg-labor)}#material-csv-settings-section{background-color:var(--settings-bg-csv)}#estimate-versions-section{background-color:var(--settings-bg-versions)}#style-configurator-section{background-color:var(--settings-bg-configurator)}.settings-section h3{margin-top:0;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--medium-gray)}.settings-divider{border:none;border-top:1px solid #ddd;margin:0 0 18px}.collapsible-section{margin-top:15px}.collapsible-header{display:flex;align-items:center;width:100%;padding:10px 15px;background:#f5f5f5;border:1px solid var(--medium-gray);border-radius:var(--border-radius);cursor:pointer;font-weight:500;text-align:left;transition:background-color .2s;font-size:14px;color:#333}.collapsible-header:hover{background:#e0e0e0}.collapsible-header:focus{outline:2px solid var(--primary-color);outline-offset:2px}.collapsible-header.active{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;background:#e8e8e8}.collapsible-content{padding:15px;border:1px solid var(--medium-gray);border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius);background:#fafafa}.settings-table{border-collapse:collapse}.settings-table th,.settings-table td{padding:8px 12px;border-bottom:1px solid #ddd}.settings-table th{background:#f0f0f0;font-weight:500}.settings-table tbody tr:hover{background:#f5f5f5}.settings-table input[type=number]{width:120px;padding:6px 8px;border:1px solid #ccc;border-radius:4px;text-align:right}.settings-table input[type=number]:focus{border-color:var(--primary-color);outline:none}.settings-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-grid-layout .settings-section{margin-bottom:0}.labor-cost-grid{display:grid;grid-template-columns:1fr;gap:25px}@media (min-width: 768px){.labor-cost-grid{grid-template-columns:1fr 1fr;gap:30px}}.input-section,.preview-section{padding:15px;border:1px solid var(--medium-gray);border-radius:var(--border-radius);background-color:#fff}.input-section h4,.preview-section h4{margin-top:0;border-bottom:1px solid var(--medium-gray);padding-bottom:8px}.input-section .form-group{margin-bottom:15px}.input-section .form-group small{font-size:.8em;color:var(--dark-gray);display:block;margin-top:4px}.calculation-preview-table{font-size:.9em;table-layout:auto}.calculation-preview-table td{padding:8px 5px}.calculation-preview-table tr:last-child td{border-bottom:none}.calculation-preview-table td:last-child{text-align:right;font-weight:600}.calculation-preview-table .selling-rate-row{background-color:#e9f5fd;font-size:1.1em}.calculation-preview-table .selling-rate-row strong{color:var(--primary-color)}.specialist-rates-compact .form-group{margin-bottom:8px}.specialist-rates-compact label{font-size:.85em;margin-bottom:3px}.specialist-rates-compact input[type=number]{padding:7px 9px;font-size:13px}#project-overheads-section .form-group small{font-size:.8em;color:var(--dark-gray);display:block;margin-top:4px}#estimate-versions-select{width:100%;margin-bottom:8px;font-size:.9em;padding:7px;border:1px solid var(--medium-gray);border-radius:var(--border-radius);background-color:#fff;height:auto}#estimate-versions-select option{padding:4px 7px;font-size:.85em}#estimate-versions-select option:checked{background-color:var(--secondary-color);color:#fff}#estimate-versions-list-container .button-group button.small-action-btn{font-size:.85em;padding:5px 10px}#konfigurator-stylu-content{padding-top:12px}#toggle-style-configurator-btn{font-size:.85em;padding:5px 10px}.style-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.config-section{border:1px solid var(--medium-gray);padding:15px;border-radius:var(--border-radius);background-color:#fff;box-shadow:0 1px 3px #0000000a}.config-section legend{font-weight:600;font-size:1.05em;color:var(--primary-color);padding:0 8px 8px;margin-left:4px;margin-bottom:12px;display:block;width:calc(100% - 16px);border-bottom:1px solid var(--medium-gray)}.config-section .form-group{margin-bottom:10px}.config-section .form-group label{font-size:.85em;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}.config-section .form-group input[type=color]{height:28px;width:55px;padding:2px;border-radius:3px;border:1px solid var(--medium-gray);cursor:pointer}.config-section .form-group input[type=number],.config-section .form-group select{font-size:13px;padding:7px 9px}.custom-context-menu{position:fixed;z-index:10000;display:none;background-color:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius);box-shadow:0 2px 10px #00000026;min-width:180px;padding:4px 0}.custom-context-menu ul{list-style:none;padding:0;margin:0}.custom-context-menu li{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text-color);white-space:nowrap}.custom-context-menu li:hover{background-color:var(--secondary-color);color:#fff}.custom-context-menu li.disabled{color:var(--dark-gray);background-color:#f8f9fa;cursor:not-allowed}.custom-context-menu li.disabled:hover{background-color:#f8f9fa;color:var(--dark-gray)}.custom-context-menu hr{border:none;border-top:1px solid var(--medium-gray);margin:4px 0}.notifications-container{position:fixed;top:15px;right:15px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:320px;width:90%}.notification{background-color:#fff;color:var(--text-color);padding:10px 12px;border-radius:var(--border-radius);box-shadow:0 3px 10px #0000001f;border-left:4px solid var(--info-color);opacity:0;transform:translate(100%);transition:opacity .3s ease,transform .3s ease;display:flex;justify-content:space-between;align-items:center;font-size:.85em;line-height:1.3}.notification .notification-icon{margin-right:8px;font-size:1.2em;line-height:1}.notification.success .notification-icon{color:var(--success-color)}.notification.error{border-left-color:var(--error-color)}.notification.error .notification-icon{color:var(--error-color)}.notification.warning .notification-icon{color:#b8860b}.notification.info .notification-icon{color:var(--info-color)}.notification-message{flex-grow:1;margin-right:8px;word-break:break-word}.notification-close-btn{background:none;border:none;color:var(--dark-gray);font-size:1.1em;font-weight:700;cursor:pointer;padding:0 4px;line-height:1}.notification-close-btn:hover{color:#000}#fixed-action-buttons{position:fixed;bottom:0;width:100%;max-width:1400px;left:50%;transform:translate(-50%);background-color:var(--light-gray);background-color:#f6f7fbe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:8px 15px;box-shadow:0 -2px 8px #0000001f;z-index:1000;display:flex;justify-content:flex-start;align-items:center;gap:8px;border-top:1px solid var(--medium-gray);height:var(--action-bar-height)}#fixed-action-buttons button{padding:7px 10px;font-size:12px;height:32px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}@media (max-width: 1200px){body:has(#cost-table){max-width:100%;padding:120px 10px 55px}.tab-contents-wrapper>.tab-content{padding:12px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.summary-kpi-grid,.settings-grid-layout{grid-template-columns:1fr}#cost-table th,#cost-table td{padding:6px 4px;font-size:12px}.col-lp{width:40px}.col-unit{width:5%}.col-qty,.col-price-r-unit,.col-price-m-unit,.col-price-s-unit,.col-price-total,.col-value{width:6%}}@media (max-width: 1050px){body:has(#cost-table) .top-bar .main-header-buttons{flex-wrap:wrap;justify-content:flex-start}body:has(#cost-table) .top-bar .main-header-buttons button,body:has(#cost-table) .top-bar .main-header-buttons select{margin-bottom:4px}.dropdown-content{min-width:200px}.modal-content{max-width:90%}}@media (max-width: 992px){body:has(#cost-table){padding-top:115px}.settings-grid-layout{grid-template-columns:1fr}.settings-grid-layout .settings-section{margin-bottom:18px}.settings-grid-layout .settings-section:last-child{margin-bottom:0}#sticky-header-tabs{padding:6px 12px}.tabs{gap:2px}.tab{padding:5px 10px;font-size:11px}.notifications-container{max-width:280px;right:10px;top:10px}}@media (max-width: 768px){body:has(#cost-table){padding:130px 8px 55px}#sticky-header-tabs{padding:8px;gap:8px}.sticky-header-row{flex-direction:column;align-items:stretch}.top-bar .main-menu-container{flex-wrap:wrap}.tabs{flex-wrap:wrap;border:none}.tab{flex-basis:auto;min-width:80px;flex-grow:1;font-size:12px;padding:7px 8px}#cost-table{border:none;box-shadow:none}#cost-table thead{display:none}#cost-table tbody tr{display:block;margin-bottom:12px;border:1px solid var(--medium-gray);border-radius:var(--border-radius-main);padding:8px;background-color:#fff;box-shadow:var(--box-shadow)}#cost-table tbody tr[data-row-type=department],#cost-table tbody tr[data-row-type=subdepartment]{padding:7px 8px}#cost-table tbody td{display:block;width:100%!important;text-align:left!important;padding:5px 0;border:none;border-bottom:1px dashed var(--light-gray)}#cost-table tbody td:last-child{border-bottom:none}#cost-table .col-lp{font-size:1.5em;color:var(--secondary-color);float:left;margin-right:8px}#cost-table .col-desc{font-weight:500;color:var(--primary-color);clear:both;padding-top:0}#cost-table .col-desc .suggestions-container input{font-size:.95em;padding:7px}.suggestions-container .task-search-input[readonly]{background-color:#f9f9f9}.suggestions-container .change-task-btn{display:inline-block!important;vertical-align:middle}#cost-table .notes-icon-wrapper,#cost-table .special-row-icons-container{margin-left:auto;padding-left:8px;display:flex!important}#cost-table .notes-preview-tooltip{display:none!important}#cost-table .norms-display{font-size:.75em;color:var(--dark-gray);margin-top:4px;padding-left:0;border-left:none}#cost-table .col-unit:before{content:"j.m.: ";font-weight:700;color:var(--dark-gray);margin-right:4px}#cost-table .col-qty{width:100%!important}#cost-table .col-qty .qty-wrapper{display:flex;align-items:center;width:100%}#cost-table .col-qty .qty-wrapper:before{content:"Obmiar: ";font-weight:700;color:var(--dark-gray);margin-right:4px;flex-shrink:0}#cost-table .col-qty .quantity-input{text-align:left;width:auto;flex-grow:1;max-width:120px}#cost-table .calculator-icon-qty{margin-left:auto}#cost-table .col-value:before{content:"Wartość: ";font-weight:700;color:var(--dark-gray);margin-right:4px}#cost-table .col-value{font-weight:700;font-size:1.05em}#cost-table .col-price-r-unit,#cost-table .col-price-m-unit,#cost-table .col-price-s-unit,#cost-table .col-price-total{display:none!important}#cost-table tr[data-row-type=department] .col-special-desc,#cost-table tr[data-row-type=subdepartment] .col-special-desc{padding-left:0!important;font-size:1.05em}#cost-table tr[data-row-type=department] .col-lp,#cost-table tr[data-row-type=subdepartment] .col-lp{float:none;margin-right:6px;font-size:1.05em;color:var(--primary-color);display:inline-block;vertical-align:middle}#cost-table tr[data-row-type=department] .special-row-input,#cost-table tr[data-row-type=subdepartment] .special-row-input{display:inline-block;width:auto;vertical-align:middle}#cost-table tr[data-row-type=department] .special-row-sum,#cost-table tr[data-row-type=subdepartment] .special-row-sum{text-align:right!important;font-weight:700;font-size:1.05em;padding-top:6px;clear:both}#cost-table tr[data-row-type=department] .col-special-desc:before,#cost-table tr[data-row-type=subdepartment] .col-special-desc:before,#cost-table tr[data-row-type=department] .special-row-sum:before,#cost-table tr[data-row-type=subdepartment] .special-row-sum:before{content:""}#cost-table tfoot tr td{display:flex;justify-content:space-between;padding:8px;font-size:1.05em}#material-summary-table th,#material-summary-table td{padding:4px 3px;font-size:10px}#material-summary-table th[data-sort-key=name],#material-summary-table td:nth-child(1){min-width:110px}#material-summary-table th:nth-child(6),#material-summary-table td:nth-child(6),#material-summary-table th:nth-child(7),#material-summary-table td:nth-child(7),#material-summary-table th:nth-child(9),#material-summary-table td:nth-child(9){display:none!important}#material-summary-table tfoot td[colspan="7"]{colspan:4!important}#material-summary-table tfoot tr.print-hide-internal{display:none!important}.modal-content{width:95%;padding:18px;margin:8% auto}.material-norm-header,.material-norm-group,.equipment-norm-group{grid-template-columns:1fr;gap:6px}.material-norm-header,.equipment-norm-header{display:none}.remove-material-btn,.remove-equipment-btn{justify-self:end}.suggestions-dropdown{width:90%;max-width:480px;min-height:230px;padding:12px}#fixed-action-buttons{width:100%;left:0;transform:none;max-width:none;padding:6px;gap:4px;justify-content:flex-start;height:auto;flex-wrap:wrap}#fixed-action-buttons button{padding:6px 7px;font-size:11px;flex-grow:1;min-width:65px}.analysis-grid,.summary-grid{grid-template-columns:1fr}}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.notifications-container{position:fixed;top:20px;right:20px;z-index:10000;max-width:400px;pointer-events:none}.notification{background:var(--text-color-light);color:var(--text-color);border-radius:var(--border-radius-main);padding:12px 16px;margin-bottom:10px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:10px;opacity:0;transform:translate(100%);transition:all .3s ease-in-out;pointer-events:auto;border-left:4px solid;position:relative;overflow:hidden}.notification.show{opacity:1;transform:translate(0)}.notification.success{border-left-color:var(--success-color)}.notification.error{border-left-color:var(--accent-color)}.notification.warning{border-left-color:var(--warning-color)}.notification.info{border-left-color:var(--info-color)}.notification-icon{font-size:1.2em;flex-shrink:0}.notification-message{flex-grow:1;font-size:.9em;line-height:1.4}.notification-close-btn{background:none;border:none;color:var(--dark-gray);font-size:1.2em;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;flex-shrink:0}.notification-close-btn:hover{background-color:#0000001a;color:var(--text-color)}.notification:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:currentColor;opacity:.3;animation:notification-progress 5s linear forwards}.notification[data-duration="0"]:before{display:none}@keyframes notification-progress{0%{width:100%}to{width:0%}}.notification-group{position:relative}.notification-group .notification-count{position:absolute;top:-8px;right:-8px;background:var(--accent-color);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7em;font-weight:700}.feature-lock-overlay{text-align:center;padding:40px 20px;background-color:#f8f9fa;border-radius:var(--border-radius);border:1px dashed var(--medium-gray);margin:20px}.feature-lock-overlay h3{font-size:1.5em;color:var(--primary-color);margin-bottom:15px;border:none}.feature-lock-overlay p{font-size:1em;color:var(--dark-gray);max-width:600px;margin:0 auto 25px}.feature-lock-overlay ul{list-style:none;padding:0;margin-bottom:30px;display:inline-block;text-align:left}.feature-lock-overlay li{font-size:1em;margin-bottom:10px;display:flex;align-items:center}.feature-lock-overlay .icon{font-size:1.2em;margin-right:12px;color:var(--secondary-color)}.feature-lock-overlay button{font-size:1.1em;padding:12px 25px;background-color:var(--success-color);transition:transform .2s ease,box-shadow .2s ease}.feature-lock-overlay button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000026;background-color:#218838}#harmonogram .intro-text{font-size:.9em;color:var(--dark-gray);margin-bottom:20px;max-width:800px}.gantt-controls{margin-bottom:20px;display:flex;align-items:center;gap:10px;padding:10px;background-color:var(--light-gray);border-radius:var(--border-radius-small);border:1px solid var(--medium-gray)}.gantt-controls label{font-weight:600;margin-bottom:0}#gantt-chart-container{width:100%;overflow-x:auto;border:1px solid var(--medium-gray);border-radius:var(--border-radius);padding:10px;background-color:#fff;min-height:400px}#gantt-chart-container .placeholder-text{text-align:center;padding:50px 20px;color:var(--dark-gray);font-style:italic;font-size:1.1em}#gantt-chart-container .error-text{color:var(--accent-color)}.gantt .bar{fill:var(--secondary-color);cursor:pointer;transition:opacity .2s}.gantt .bar-wrapper:hover .bar{opacity:.8}.gantt .bar-progress{fill:var(--primary-color)}.gantt .grid-header,.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:var(--light-gray)}.gantt .bar-wrapper .handle-group{opacity:0;visibility:hidden;transition:opacity .1s ease-in-out}.gantt .bar-wrapper:hover .handle-group{opacity:1!important;visibility:visible!important}.gantt .bar-wrapper .handle{fill:#e0e0e0!important;stroke:#8d8d8d!important;fill:none;stroke:var(--primary-color)!important;stroke-width:1.5px!important}.gantt .arrow-wrapper.hover .arrow{stroke-width:2.5px!important}.gantt-popup{background:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius-small);box-shadow:var(--box-shadow);padding:10px;font-size:12px;color:var(--text-color)}.gantt-popup strong{color:var(--primary-color);display:block;margin-bottom:5px}.gantt-popup .split-task-btn{background-color:var(--light-gray);border:1px solid var(--medium-gray);color:var(--primary-color);padding:3px 8px;font-size:11px;border-radius:var(--border-radius-small);cursor:pointer;margin-top:8px;display:inline-block}.gantt-popup .split-task-btn:hover{background-color:var(--medium-gray)}.gantt_drag_marker{background-color:var(--secondary-color);opacity:.3}.gantt_drag_marker.gantt_marker_ok{background-color:var(--success-color)}.gantt_drag_marker.gantt_marker_error{background-color:var(--accent-color)}.gantt_row_target{background-color:#f0f8ff!important}.gantt_row.gantt_drag_source{box-shadow:0 2px 8px #0003;font-weight:700}.help-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1200px;margin:0 auto}.help-section{background:var(--card-background);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow)}.help-section h3{color:var(--primary-color);margin-bottom:20px;font-size:1.2em;border-bottom:2px solid var(--primary-color);padding-bottom:10px}.shortcuts-accordion{border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 4px #0000001a}.accordion-item{border-bottom:1px solid var(--border-color)}.accordion-item:last-child{border-bottom:none}.accordion-header{width:100%;background:var(--secondary-background);border:none;padding:15px 20px;text-align:left;cursor:pointer;font-size:1em;font-weight:600;color:var(--text-color);display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease}.accordion-header:hover{background:var(--hover-background)}.accordion-header:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.accordion-icon{transition:transform .3s ease;font-size:1.2em}.accordion-item.active .accordion-icon{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--background-color)}.accordion-item.active .accordion-content{max-height:500px}.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;padding:20px}.shortcut-item{display:flex;align-items:center;gap:15px;padding:12px 15px;background:var(--card-background);border-radius:var(--border-radius-small);border:1px solid var(--border-color);transition:all .2s ease}.shortcut-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;border-color:var(--primary-color)}.shortcut-item kbd{background:var(--primary-color);color:#fff;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:.9em;font-weight:700;min-width:60px;text-align:center;box-shadow:0 2px 4px #0003}.shortcut-item span{flex:1;font-size:.95em;color:var(--text-color)}.tips-list{display:flex;flex-direction:column;gap:15px}.tip-item{background:var(--card-background);border-radius:var(--border-radius);padding:15px;border-left:4px solid var(--primary-color);transition:all .2s ease}.tip-item:hover{transform:translate(5px);box-shadow:0 4px 12px #0000001a}.tip-item h4{margin:0 0 8px;color:var(--primary-color);font-size:1.1em;display:flex;align-items:center;gap:8px}.tip-item p{margin:0;color:var(--text-color);line-height:1.5;font-size:.95em}@media (max-width: 768px){.help-content{grid-template-columns:1fr;gap:20px}.shortcuts-grid{grid-template-columns:1fr;gap:10px;padding:15px}.shortcut-item{padding:10px 12px;gap:10px}.shortcut-item kbd{min-width:50px;font-size:.85em}.shortcut-item span{font-size:.9em}}@media (max-width: 480px){.help-section{padding:15px}.help-section h3{font-size:1.1em}.accordion-header{padding:12px 15px;font-size:.95em}.shortcuts-grid{padding:10px}.tip-item{padding:12px}.tip-item h4{font-size:1em}}.table-end-indicator{position:fixed;background:var(--primary-color);color:#fff;padding:8px 12px;border-radius:var(--border-radius-small);font-size:.9em;font-weight:500;box-shadow:0 4px 12px #0000004d;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000;text-align:center}.table-end-indicator.show{opacity:1}.table-end-indicator span{display:inline-block;background:#fff3;padding:2px 6px;border-radius:3px}.task-tooltip{position:fixed;z-index:10001;background:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius-main);box-shadow:0 4px 12px #00000026;padding:12px 16px;max-width:400px;min-width:280px;font-size:13px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .2s ease}.task-tooltip.visible{opacity:1}.task-tooltip-title{font-weight:600;color:var(--primary-color);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--medium-gray)}.task-tooltip-scope{color:var(--text-color);margin-bottom:10px;font-style:italic}.task-tooltip-norms{background:var(--light-gray);border-radius:var(--border-radius-small);padding:8px 10px}.task-tooltip-norms-title{font-weight:600;font-size:12px;color:var(--dark-gray);margin-bottom:6px;text-transform:uppercase}.task-tooltip-norm-item{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}.task-tooltip-norm-item.labor{color:var(--primary-color);font-weight:500}.task-tooltip-norm-item.material{color:#27ae60}.task-tooltip-norm-item.equipment{color:#e67e22}.task-tooltip-norm-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:10px}.task-tooltip-norm-value{font-weight:500;white-space:nowrap}.dropdown-item-unit{color:var(--primary-color);font-weight:600;font-size:.85em;margin-left:6px;white-space:nowrap}.rms-subtabs{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-6);padding:var(--spacing-2);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:fit-content}.rms-subtab{padding:var(--spacing-3) var(--spacing-6);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-fast)}.rms-subtab:hover{background:var(--color-primary-bg);color:var(--color-primary)}.rms-subtab.active{background:var(--color-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.rms-panel{display:none}.rms-panel.active{display:block;animation:fadeIn .3s ease}@media (max-width: 768px){.rms-subtabs{width:100%;justify-content:center}.rms-subtab{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-xs)}}.fab-container{position:fixed;bottom:80px;right:24px;z-index:1050;display:flex;flex-direction:column-reverse;align-items:center;gap:12px;transition:top .2s ease,left .2s ease,bottom .2s ease,right .2s ease}.fab-container.fab-following-row{transition:top .15s ease-out,left .15s ease-out}.fab-button{width:56px;height:56px;border-radius:50%;background-color:var(--secondary-color);color:var(--text-color-light);border:none;box-shadow:0 4px 12px #00000040;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.fab-button:hover{background-color:#2980b9;transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.fab-button.active{transform:rotate(45deg);background-color:var(--accent-color)}.fab-menu{display:none;flex-direction:column;gap:8px;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.fab-menu.open{display:flex;opacity:1;transform:translateY(0)}.fab-menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;background-color:#fff;border:1px solid var(--medium-gray);border-radius:24px;box-shadow:0 2px 8px #00000026;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-color);white-space:nowrap;transition:background-color .2s ease,transform .15s ease}.fab-menu-item:hover{background-color:var(--light-gray);transform:translate(-4px)}.fab-menu-item i{color:var(--secondary-color);font-size:14px;width:18px;text-align:center}@media (max-width: 992px){.fab-container{bottom:70px;right:20px}.fab-button{width:52px;height:52px;font-size:22px}.fab-menu-item{padding:9px 14px;font-size:12px}}@media (max-width: 768px){.fab-container{bottom:65px;right:16px}.fab-button{width:48px;height:48px;font-size:20px;box-shadow:0 3px 10px #00000040}.fab-menu{gap:6px}.fab-menu-item{padding:8px 12px;font-size:12px;border-radius:20px}.fab-menu-item i{font-size:13px;width:16px}}@media (max-width: 480px){.fab-container{bottom:60px;right:12px}.fab-button{width:44px;height:44px;font-size:18px}.fab-menu-item{padding:7px 10px;font-size:11px;gap:8px}.fab-menu-item span{max-width:120px;overflow:hidden;text-overflow:ellipsis}}@media (max-height: 400px) and (orientation: landscape){.fab-container{bottom:10px;right:10px}.fab-button{width:40px;height:40px;font-size:16px}.fab-menu-item{padding:6px 10px;font-size:11px}}.quick-actions-section{margin-bottom:24px;padding:20px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-dark) 100%);border-radius:var(--border-radius-main);box-shadow:var(--box-shadow)}.quick-actions-section h2{color:var(--text-color-light);border-bottom:none;margin-bottom:16px;font-size:16px;font-weight:600}.quick-actions-grid{display:flex;gap:12px;flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:10px;padding:12px 20px;background-color:transparent;border:none;border-radius:var(--border-radius-small);color:var(--color-primary, #1e3a5f);font-size:14px;font-weight:500;cursor:pointer;transition:color .2s ease}.quick-action-btn:hover{background-color:transparent;color:var(--color-info, #0284c7)}.quick-action-btn i{font-size:18px}.rms-toggle-btn{padding:4px 10px;font-size:11px;background-color:transparent;color:var(--color-primary, #1e3a5f);border:none;border-radius:var(--border-radius-small);cursor:pointer;margin-left:8px;transition:color .2s ease}.rms-toggle-btn:hover{background-color:transparent;color:var(--color-info, #0284c7)}.rms-norms-collapsed .norms-display{display:none!important}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalContentSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalContentSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.modal.modal-animating-in{animation:modalOverlayFadeIn .2s ease forwards}.modal.modal-animating-in .modal-content{animation:modalContentSlideIn .25s ease forwards}.modal.modal-animating-out{animation:modalOverlayFadeOut .15s ease forwards}.modal.modal-animating-out .modal-content{animation:modalContentSlideOut .2s ease forwards}.modal-content.modal-slim{padding:20px;border-radius:6px;box-shadow:0 4px 20px #0000001f}.modal-content.modal-slim h2{font-size:16px;margin-bottom:16px}.modal-content.modal-slim .modal-actions button{padding:6px 12px;font-size:12px}.recent-projects-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--medium-gray);border-radius:var(--border-radius-main);box-shadow:0 4px 16px #00000026;min-width:280px;max-width:350px;z-index:1100;display:none}.recent-projects-dropdown.open{display:block}.recent-projects-header{padding:12px 16px;border-bottom:1px solid var(--medium-gray);font-weight:600;color:var(--primary-color);font-size:13px}.recent-projects-list{list-style:none;padding:0;margin:0;max-height:250px;overflow-y:auto}.recent-project-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--light-gray);transition:background-color .15s ease}.recent-project-item:last-child{border-bottom:none}.recent-project-item:hover{background-color:var(--light-gray)}.recent-project-name{font-weight:500;color:var(--text-color);font-size:13px;margin-bottom:2px}.recent-project-date{font-size:11px;color:var(--dark-gray)}.recent-projects-empty{padding:20px 16px;text-align:center;color:var(--dark-gray);font-style:italic;font-size:13px}.tabs,.bottom-bar .tabs,#sticky-header-tabs .tabs{background-color:#fff!important;border:none!important}.tab,.bottom-bar .tab,#sticky-header-tabs .tab,.rms-subtab{background-color:#fff!important;border:none!important;border-bottom:2px solid transparent!important;color:var(--text-secondary)!important}.tab:hover,.bottom-bar .tab:hover,#sticky-header-tabs .tab:hover,.rms-subtab:hover{background-color:#fff!important;color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important}.tab.active,.bottom-bar .tab.active,#sticky-header-tabs .tab.active,.rms-subtab.active{background-color:#fff!important;color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important;font-weight:var(--font-weight-semibold)!important}.btn-icon,.btn-pick,.btn-pick-variant,.btn-select-variant,.btn-toggle-custom,.widget-action,.analysis-action-btn,.analysis-toolbar-btn,.action-btn,.edit-btn,.delete-btn,.view-btn,.rms-toggle-btn,.quick-action-btn{background:transparent!important;border:none!important;color:var(--color-primary, #1e3a5f)!important}.btn-icon:hover,.btn-pick:hover,.btn-pick-variant:hover,.btn-select-variant:hover,.btn-toggle-custom:hover,.widget-action:hover,.analysis-action-btn:hover,.analysis-toolbar-btn:hover,.action-btn:hover,.edit-btn:hover,.view-btn:hover,.rms-toggle-btn:hover,.quick-action-btn:hover{background:transparent!important;border:none!important;color:var(--color-info, #0284c7)!important}.delete-btn:hover{color:var(--color-danger, #dc2626)!important}.kpi-icon,.card-icon,.report-icon,.status-icon,.notification-icon,.toast-icon,.dashboard-stat-icon{background:transparent!important}#custom-task-modal.modal .compact-modal-content{background:#fff!important;max-width:850px;width:95%;margin:20px auto;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a;font-size:13px;max-height:90vh;display:flex;flex-direction:column}#custom-task-modal .compact-modal-header{background:#11005e;color:#fff;padding:8px 15px;display:flex;justify-content:space-between;align-items:center;border-radius:4px 4px 0 0}#custom-task-modal .compact-modal-header h2{margin:0;font-size:14px;font-weight:600;color:#fff}#custom-task-modal .compact-modal-header .close-modal-btn{color:#fff!important;font-size:18px;cursor:pointer;opacity:.8;transition:opacity .15s;background:none!important;border:none!important;line-height:1;padding:0;position:static}#custom-task-modal .compact-modal-header .close-modal-btn:hover{opacity:1;background:none!important}#custom-task-modal .compact-modal-body{padding:12px;overflow-y:auto;flex:1;background:#fff}#custom-task-modal .compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}#custom-task-modal .compact-field{display:flex;flex-direction:column}#custom-task-modal .compact-field.span-5,#custom-task-modal .compact-field.span-4{grid-column:span 4}#custom-task-modal .compact-field.span-3{grid-column:span 3}#custom-task-modal .compact-field.span-2{grid-column:span 2}#custom-task-modal .compact-field label{font-size:11px;text-transform:uppercase;color:#6b7280;margin-bottom:2px;font-weight:700}#custom-task-modal .compact-field input,#custom-task-modal .compact-field select{padding:4px 8px;border:1px solid #d1d5db;border-radius:3px;font-size:13px;height:28px;background:#fff;color:#1f2937}#custom-task-modal .compact-field input:focus,#custom-task-modal .compact-field select:focus{outline:none;border-color:#2e1a8e}#custom-task-modal .compact-section-title{background:#f9fafb;border:1px solid #d1d5db;border-bottom:none;padding:4px 10px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:12px;color:#2e1a8e}#custom-task-modal .compact-btn-add{padding:2px 8px;font-size:11px;cursor:pointer;border-radius:3px;border:1px solid #d1d5db;background:#fff;color:#1f2937}#custom-task-modal .compact-btn-add:hover{background:#e8e4f5}#custom-task-modal .compact-rms-table{width:100%;border-collapse:collapse;border:1px solid #d1d5db;margin-bottom:12px;background:#fff;table-layout:fixed}#custom-task-modal .compact-rms-table thead{background-color:#9191e8!important}#custom-task-modal .compact-rms-table thead tr th,#custom-task-modal .compact-rms-table th{text-align:left;padding:6px 10px;font-size:11px;font-weight:600;color:#fff!important;background-color:#9191e8!important;border-bottom:1px solid #7a7ad0;text-transform:uppercase}#custom-task-modal .compact-rms-table td{padding:2px 8px;border-bottom:1px solid #edf2f7;vertical-align:middle;background:transparent}#custom-task-modal .compact-rms-table tbody tr:nth-child(2n){background-color:#fafafa}#custom-task-modal .compact-rms-table .input-inline{width:100%;border:1px solid transparent;background:transparent!important;height:22px;padding:2px 4px;font-size:13px;color:#1f2937}#custom-task-modal .compact-rms-table .input-inline:hover,#custom-task-modal .compact-rms-table .input-inline:focus{border:1px solid #d1d5db;background:#fff!important;outline:none}#custom-task-modal .compact-rms-table .input-inline[readonly]{cursor:pointer}#custom-task-modal .compact-rms-table .input-inline[type=number]{text-align:right}#custom-task-modal .compact-rms-table td:last-child{text-align:center;padding:2px 4px}#custom-task-modal .compact-rms-table td button.btn-remove,#custom-task-modal .compact-rms-table button.btn-remove,#custom-task-modal .compact-modal-body .btn-remove{background:transparent!important;background-color:transparent!important;border:none!important;cursor:pointer!important;padding:4px 8px!important;font-size:14px!important;color:#9ca3af!important;transition:color .15s!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;outline:none!important;min-width:24px!important;min-height:24px!important;transform:none!important}#custom-task-modal .compact-rms-table td button.btn-remove:hover,#custom-task-modal .compact-rms-table button.btn-remove:hover,#custom-task-modal .compact-modal-body .btn-remove:hover{color:#ef4444!important;background:transparent!important;background-color:transparent!important;transform:none!important;box-shadow:none!important}#custom-task-modal .compact-rms-table .btn-remove i,#custom-task-modal .compact-modal-body .btn-remove i{color:inherit!important;font-size:14px!important;display:inline-block!important}#custom-task-modal .compact-empty-msg{text-align:center;color:#9ca3af;font-size:12px;padding:10px;margin:0 0 12px;border:1px solid #d1d5db;border-top:none;background:#fff}#custom-task-modal .compact-rms-table tbody:not(:empty)+.compact-empty-msg{display:none}#custom-task-modal .compact-modal-footer{padding:10px 15px;border-top:1px solid #d1d5db;display:flex;justify-content:flex-end;gap:10px;background:#f9fafb;border-radius:0 0 4px 4px}#custom-task-modal .compact-btn-cancel{background:#fff;border:1px solid #d1d5db;padding:6px 15px;font-size:13px;cursor:pointer;border-radius:3px;color:#1f2937}#custom-task-modal .compact-btn-cancel:hover{background:#f3f4f6}#custom-task-modal .compact-btn-save{background:#2e1a8e;color:#fff;border:none;padding:6px 20px;font-size:13px;font-weight:700;cursor:pointer;border-radius:3px}#custom-task-modal .compact-btn-save:hover{background:#3d2399}@media (max-width: 768px){#custom-task-modal .compact-grid{grid-template-columns:repeat(2,1fr)}#custom-task-modal .compact-field.span-5,#custom-task-modal .compact-field.span-4,#custom-task-modal .compact-field.span-3{grid-column:span 2}#custom-task-modal.modal .compact-modal-content{margin:10px;max-height:95vh}}@media (max-width: 480px){#custom-task-modal .compact-grid{grid-template-columns:1fr}#custom-task-modal .compact-field.span-5,#custom-task-modal .compact-field.span-4,#custom-task-modal .compact-field.span-3,#custom-task-modal .compact-field.span-2{grid-column:span 1}}
