*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1A73E8;--color-primary-hover: #1557B0;--color-success: #34A853;--color-warning: #FBBC05;--color-error: #EA4335;--color-bg-light: #F8F9FA;--color-bg-white: #ffffff;--color-text-dark: #202124;--color-text-secondary: #5F6368;--color-border: #DADCE0;--color-border-focus: #1A73E8}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-dark);background-color:var(--color-bg-light)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loader-container{display:flex;justify-content:center;align-items:center;padding:20px}.loader-inline{display:inline-flex;align-items:center;justify-content:center;padding:0}.loader-fullscreen{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%}.loader{display:flex;flex-direction:column;align-items:center;gap:16px}.loader-spinner{position:relative;display:inline-block}.loader-spinner-ring{position:absolute;border:3px solid transparent;border-top-color:var(--color-primary, #1A73E8);border-radius:50%;animation:loader-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.loader-small .loader-spinner-ring{width:20px;height:20px;border-width:2px}.loader-medium .loader-spinner-ring{width:40px;height:40px;border-width:3px}.loader-large .loader-spinner-ring{width:60px;height:60px;border-width:4px}.loader-spinner-ring:nth-child(1){animation-delay:-.45s}.loader-spinner-ring:nth-child(2){animation-delay:-.3s}.loader-spinner-ring:nth-child(3){animation-delay:-.15s}.loader-text{margin:0;color:var(--color-text-secondary, #5F6368);font-size:14px;font-weight:400}.loader-large .loader-text{font-size:16px}@keyframes loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-simple{display:inline-block;width:20px;height:20px;border:3px solid rgba(26,115,232,.1);border-top-color:var(--color-primary, #1A73E8);border-radius:50%;animation:loader-spin .8s linear infinite}.sidebar{width:260px;height:100vh;background-color:var(--color-bg-white);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:width .3s ease;overflow:hidden}.sidebar.expanded{width:260px}.sidebar.collapsed{width:72px}.sidebar-header{padding:20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;min-height:60px}.sidebar-title{margin:0;font-size:20px;font-weight:500;color:var(--color-text-dark);white-space:nowrap;opacity:1;transition:opacity .3s}.sidebar.collapsed .sidebar-title{opacity:0;width:0;overflow:hidden}.sidebar-toggle-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color .2s;flex-shrink:0;margin-left:auto}.sidebar-toggle-btn:hover{color:var(--color-text-dark)}.sidebar.collapsed .sidebar-toggle-btn{margin-left:0}.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.sidebar-item{margin:4px 8px}.sidebar-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,justify-content .3s;text-align:left;font-size:14px;color:var(--color-text-dark);position:relative}.sidebar.collapsed .sidebar-button{justify-content:center;padding:12px}.sidebar-button:hover{background-color:var(--color-bg-light)}.sidebar-button.active{background-color:#1a73e81a;color:var(--color-primary);font-weight:500}.sidebar-icon{width:20px;height:20px;flex-shrink:0;opacity:.7;display:flex;align-items:center;justify-content:center}.sidebar-icon img{width:100%;height:100%;object-fit:contain}.sidebar-button.active .sidebar-icon{opacity:1}.sidebar-label{flex:1;white-space:nowrap;opacity:1;transition:opacity .3s}.sidebar.collapsed .sidebar-label{opacity:0;width:0;overflow:hidden}.sidebar-footer{padding:16px;border-top:1px solid var(--color-border);background-color:var(--color-bg-light);opacity:1;transition:opacity .3s}.sidebar.collapsed .sidebar-footer{opacity:0;height:0;padding:0;overflow:hidden}.sidebar-user-info{display:flex;flex-direction:column;gap:4px}.sidebar-user-name{font-size:14px;font-weight:500;color:var(--color-text-dark)}.sidebar-user-role{font-size:12px;color:var(--color-text-secondary);text-transform:capitalize}.layout{min-height:100vh;background-color:var(--color-bg-light);position:relative}.layout-content{padding:20px;min-height:100vh;transition:margin-left .3s ease;box-sizing:border-box}.layout-content.sidebar-expanded{margin-left:260px}.layout-content.sidebar-collapsed{margin-left:72px}@media(max-width:768px){.layout-content{padding:16px}.layout-content.sidebar-expanded,.layout-content.sidebar-collapsed{margin-left:0}.sidebar.expanded{width:260px}.sidebar.collapsed{transform:translate(-100%)}}.input-wrapper{width:100%;margin-bottom:16px}.input{width:100%;height:42px;padding:12px 16px;font-size:16px;line-height:1.5;color:var(--color-text-dark);background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:4px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1a73e833}.input:disabled{background-color:var(--color-bg-light);cursor:not-allowed;opacity:.6}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #ea43351a}.input-error{display:block;margin-top:4px;font-size:12px;color:var(--color-error);line-height:1.4}.btn{height:42px;padding:0 24px;font-size:16px;font-weight:500;line-height:1.5;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s,box-shadow .2s,opacity .2s;box-sizing:border-box}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background-color:var(--color-primary);color:var(--color-bg-white)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:0 2px 4px #1a73e84d}.btn--primary:active:not(:disabled){background-color:#1348a0}.btn--secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn--secondary:hover:not(:disabled){background-color:#1a73e81a}.btn--secondary:active:not(:disabled){background-color:#1a73e826}.btn--danger{background-color:var(--color-error);color:var(--color-bg-white)}.btn--danger:hover:not(:disabled){background-color:#d33b2c;box-shadow:0 2px 4px #ea433533}.btn--full-width{width:100%}.btn--small{height:32px;padding:0 16px;font-size:14px}.btn--medium{height:42px;padding:0 24px;font-size:16px}.btn--large{height:48px;padding:0 32px;font-size:18px}.btn--loading{position:relative}.btn-content{display:flex;align-items:center;justify-content:center;gap:8px}.btn-loading-text{opacity:.8}.btn .loader-inline{padding:0}.btn .loader-text{display:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-white);padding:20px}.login-card{width:100%;max-width:380px;background-color:var(--color-bg-white);border-radius:8px;padding:40px 32px;box-shadow:0 2px 8px #00000026}.login-title{margin:0 0 32px;font-size:24px;font-weight:500;color:var(--color-text-dark);text-align:center}.login-form{margin-bottom:16px}.login-error{margin-bottom:16px;padding:12px;background-color:#fce8e6;border:1px solid var(--color-error);border-radius:4px;color:var(--color-error);font-size:14px;text-align:center}.dashboard-page{max-width:1200px;margin:0 auto}.dashboard-page h1{margin:0 0 24px;font-size:24px;font-weight:500;color:var(--color-text-dark)}.dashboard-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dashboard-card h2{margin:0 0 20px;color:var(--color-text-dark)}.dashboard-card p{margin:10px 0;color:var(--color-text-secondary)}.upload-page{max-width:1200px;margin:0 auto}.upload-page h1{margin:0 0 8px;font-size:24px;font-weight:500;color:var(--color-text-dark)}.upload-subtitle{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary)}.upload-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.upload-company-row{margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-company-label{font-size:14px;font-weight:500;color:var(--color-text-dark);min-width:180px}.upload-company-select{flex:1;min-width:200px;max-width:400px;padding:8px 12px;font-size:14px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg-white);color:var(--color-text-dark)}.upload-company-select:disabled{opacity:.7;cursor:not-allowed}.upload-company-loading{font-size:14px;color:var(--color-text-secondary)}.upload-company-error{margin:-8px 0 16px;font-size:13px;color:var(--color-error)}.upload-dropzone{border:2px dashed var(--color-border);border-radius:8px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--color-bg-light);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.upload-dropzone:hover{border-color:var(--color-primary);background-color:#1a73e80d}.upload-dropzone.dragging{border-color:var(--color-primary);background-color:#1a73e81a;border-style:solid}.upload-dropzone.has-file{cursor:default;border-color:var(--color-success);background-color:#2e7d320d}.upload-dropzone.has-file:hover{border-color:var(--color-success);background-color:#2e7d320d}.upload-icon{width:64px;height:64px;margin-bottom:16px;opacity:.6}.upload-icon img{width:100%;height:100%;object-fit:contain}.upload-text{font-size:16px;font-weight:500;color:var(--color-text-dark);margin:0 0 8px}.upload-hint{font-size:14px;color:var(--color-text-secondary);margin:0}.upload-file-info{display:flex;align-items:center;gap:16px;width:100%;max-width:600px;padding:16px;background-color:var(--color-bg-white);border-radius:8px;border:1px solid var(--color-border)}.upload-file-icon{width:48px;height:48px;flex-shrink:0}.upload-file-icon img{width:100%;height:100%;object-fit:contain}.upload-file-details{flex:1;text-align:left;min-width:0}.upload-file-name{font-size:16px;font-weight:500;color:var(--color-text-dark);margin:0 0 4px;word-break:break-all}.upload-file-size{font-size:14px;color:var(--color-text-secondary);margin:0}.upload-remove-btn{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;flex-shrink:0}.upload-remove-btn:hover{background-color:var(--color-bg-light);color:var(--color-error)}.upload-alert{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:14px}.upload-alert-error{background-color:#d32f2f1a;color:var(--color-error);border:1px solid rgba(211,47,47,.3)}.upload-alert-success{background-color:#2e7d321a;color:var(--color-success);border:1px solid rgba(46,125,50,.3)}.upload-actions{margin-top:24px}.upload-loading{margin-top:24px;display:flex;justify-content:center;align-items:center;padding:20px}.history-page{max-width:1200px;margin:0 auto}.history-page h1{margin:0;font-size:24px;font-weight:500;color:var(--color-text-dark)}.history-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.history-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.history-loading{display:flex;justify-content:center;align-items:center;padding:20px 0}.history-empty{margin:0;font-size:14px;color:var(--color-text-secondary)}.history-alert{margin-bottom:12px;padding:10px 14px;border-radius:8px;font-size:14px}.history-alert-error{background-color:#d32f2f1a;color:var(--color-error);border:1px solid rgba(211,47,47,.3)}.history-table-container{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:14px}.history-table thead{background-color:var(--color-bg-light)}.history-table th{padding:10px 12px;text-align:left;font-weight:500;color:var(--color-text-dark);border-bottom:2px solid var(--color-border)}.history-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.history-table tbody tr:hover{background-color:var(--color-bg-light)}.distribution-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.distribution-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.distribution-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.distribution-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.distribution-modal-close{background:none;border:none;font-size:32px;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.distribution-modal-close:hover{background-color:#f5f5f5;color:#333}.distribution-modal-body{flex:1;overflow-y:auto;padding:24px}.distribution-modal-info{display:flex;gap:24px;margin-bottom:20px;padding:16px;background-color:#f5f5f5;border-radius:4px}.distribution-modal-info p{margin:0;font-size:14px;color:#666}.distribution-modal-info strong{color:#333;font-weight:600}.distribution-modal-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px}.distribution-modal-table{width:100%;border-collapse:collapse;background:#fff}.distribution-modal-table thead{background-color:#f5f5f5}.distribution-modal-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.distribution-modal-table th:first-child{width:40px;text-align:center}.distribution-modal-table td{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.distribution-modal-table tbody tr.distribution-table-row{transition:background-color .2s ease}.distribution-modal-table tbody tr.distribution-table-row:hover{background-color:#f0f0f0}.distribution-modal-table tbody tr.position-not-distributed{background-color:#fff3e0}.distribution-modal-table tbody tr.position-not-distributed:hover{background-color:#ffe0b2}.distribution-modal-table tbody tr.position-selected{background-color:#e3f2fd}.distribution-modal-table tbody tr.position-selected:hover{background-color:#bbdefb}.distribution-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#1976d2}.distribution-modal-table td:first-child{text-align:center;width:40px}.distribution-providers-list{display:flex;flex-wrap:wrap;gap:6px}.distribution-provider-tag{display:inline-block;padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.distribution-not-distributed{color:#f57c00;font-weight:500;font-style:italic}.distribution-modal-empty{text-align:center;color:#999;padding:40px 20px}.distribution-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa}.distribution-modal-footer-info{display:flex;align-items:center}.distribution-selected-count{font-size:14px;color:#1976d2;font-weight:500}.distribution-modal-footer-buttons{display:flex;align-items:center;gap:12px}.provider-selection-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.provider-selection-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.provider-selection-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.provider-selection-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.provider-selection-modal-close{background:none;border:none;font-size:32px;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.provider-selection-modal-close:hover{background-color:#f5f5f5;color:#333}.provider-selection-modal-body{flex:1;overflow-y:auto;padding:24px}.provider-selection-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;background-color:#f5f5f5;border-radius:4px}.provider-selection-info p{margin:0;font-size:14px;color:#666}.provider-selection-info strong{color:#333;font-weight:600}.provider-selection-hint{margin:0;font-size:13px;color:#1976d2;font-style:italic;padding-top:8px;border-top:1px solid #e0e0e0}.provider-selection-list{display:flex;flex-direction:column;gap:20px}.provider-selection-item{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background-color:#fafafa}.provider-selection-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.provider-selection-item-title{font-size:15px;color:#333}.provider-selection-item-meta{color:#666;font-weight:400;font-size:14px}.provider-selection-select-all{background:none;border:1px solid #1976d2;color:#1976d2;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:background-color .2s,color .2s}.provider-selection-select-all:hover{background-color:#1976d2;color:#fff}.provider-selection-providers{display:flex;flex-wrap:wrap;gap:8px}.provider-selection-provider-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.provider-selection-provider-item:hover{border-color:#1976d2;background-color:#f5f5f5}.provider-selection-provider-item.selected{border-color:#1976d2;background-color:#e3f2fd}.provider-selection-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#1976d2;margin:0}.provider-selection-provider-name{font-weight:500;color:#333;font-size:14px}.provider-selection-provider-email{font-size:12px;color:#666;font-style:italic}.provider-selection-bulk{display:flex;flex-direction:column;gap:20px}.provider-selection-bulk-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:#e3f2fd;border-radius:8px;border:1px solid #1976d2}.provider-selection-bulk-header h3{margin:0;font-size:16px;font-weight:600;color:#1976d2}.provider-selection-preview{padding:16px;background-color:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.provider-selection-preview h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.provider-selection-preview-list{margin:0;padding-left:20px;list-style-type:disc}.provider-selection-preview-list li{margin-bottom:6px;font-size:13px;color:#666}.provider-selection-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa}.results-page{max-width:1200px;margin:0 auto}.results-page h1{margin:0;font-size:24px;font-weight:500;color:var(--color-text-dark)}.results-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.results-subtitle{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary)}.results-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.results-empty{margin:0;font-size:14px;color:var(--color-text-secondary)}.results-list{display:flex;flex-direction:column;gap:16px}.results-task{background-color:var(--color-bg-white);border-radius:8px;border:1px solid var(--color-border);box-shadow:0 1px 2px #0000000a;overflow:hidden}.results-task-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:none;background:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.results-task-header:hover{background-color:var(--color-bg-light)}.results-task-main{display:flex;flex-direction:column;gap:6px}.results-task-title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.results-task-filename{font-size:16px;font-weight:500;color:var(--color-text-dark)}.results-task-deal{font-size:13px;color:var(--color-text-secondary)}.results-task-meta{display:flex;align-items:center;gap:12px;font-size:13px}.results-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.results-task-date{color:var(--color-text-secondary)}.results-task-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.results-task-toggle-icon{display:inline-block;transition:transform .2s ease}.results-task-toggle-icon.open{transform:rotate(180deg)}.results-task-body{padding:0 20px 16px;border-top:1px solid var(--color-border);background-color:#fff}.results-stages{margin-top:16px}.results-stages h3{margin:0 0 8px;font-size:15px;font-weight:500;color:var(--color-text-dark)}.results-stages-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.results-stage-item{padding:10px 12px;border-radius:6px;background-color:var(--color-bg-light)}.results-stage-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.results-stage-name{font-size:14px;font-weight:500;color:var(--color-text-dark)}.results-stage-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.results-stage-body{margin-top:4px}.results-parse-progress{margin-top:8px;margin-bottom:8px}.results-parse-progress-text{font-size:13px;color:var(--color-text-secondary, #666);margin-bottom:6px}.results-parse-progress-bar{height:8px;border-radius:4px;background-color:var(--color-border, #e0e0e0);overflow:hidden}.results-parse-progress-fill{height:100%;border-radius:4px;background-color:var(--color-primary, #2563eb);transition:width .3s ease}.results-parse-progress-bar-ocr{animation:results-parse-progress-ocr-pulse 1.5s ease-in-out infinite}@keyframes results-parse-progress-ocr-pulse{0%,to{opacity:.85}50%{opacity:1}}.results-stage-metrics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.results-stage-metric-row{font-size:13px}.results-stage-metric-label{color:var(--color-text-secondary)}.results-stage-metric-value{font-weight:500;color:var(--color-text-dark)}.results-stage-summary{margin:0;font-size:13px;color:var(--color-text-secondary)}.results-stage-details{margin-top:8px}.results-stage-details-toggle{border:none;background:none;padding:0;font-size:13px;color:var(--color-primary);cursor:pointer}.results-stage-details-toggle:hover{text-decoration:underline}.results-stage-details-content{margin-top:8px;border-radius:6px;border:1px solid var(--color-border);background-color:#fff;overflow:hidden}.results-stage-details-table{width:100%;border-collapse:collapse;font-size:13px}.results-stage-details-table th,.results-stage-details-table td{padding:6px 8px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.results-stage-details-table th:first-child,.results-stage-details-table td:first-child{max-width:360px;width:60%;white-space:normal;word-wrap:break-word;word-break:break-word}.results-stage-details-table th{background-color:var(--color-bg-light);font-weight:500;color:var(--color-text-dark)}.results-stage-details-table tr:last-child td{border-bottom:none}.results-stage-file-info{margin-bottom:16px;padding:12px;background-color:var(--color-bg-light);border-radius:6px}.results-stage-file-name{margin-bottom:8px;font-size:14px;color:var(--color-text-dark)}.results-stage-download-link{display:inline-block;padding:6px 12px;background-color:var(--color-primary);color:#fff;text-decoration:none;border:none;cursor:pointer;border-radius:4px;font-size:13px;transition:background-color .2s ease}.results-stage-download-link:hover{background-color:var(--color-primary-hover, #1557B0);color:#fff}.results-stage-positions-list{margin-top:16px}.results-positions-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.results-positions-table th,.results-positions-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--color-border)}.results-positions-table th{background-color:var(--color-bg-light);font-weight:500;color:var(--color-text-dark)}.results-positions-table td{color:var(--color-text-secondary)}.results-stage-filtered-out{margin-top:16px}.results-stage-filtered-out-note{margin-bottom:12px;padding:10px;background-color:#fff3cd;border-left:3px solid #ffc107;color:#856404;font-size:13px;border-radius:4px}.results-rejection-stage{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.results-rejection-stage.stage-parsing{background-color:#fff3cd;color:#856404}.results-rejection-stage.stage-validation{background-color:#f8d7da;color:#721c24}.results-rejection-reason{display:inline-block;max-width:300px;font-size:13px;color:var(--color-text-secondary);word-wrap:break-word}.results-match-quality{font-size:12px;color:var(--color-text-secondary);font-style:italic}.results-stage-subsection-title{margin:16px 0 12px;font-size:15px;font-weight:500;color:var(--color-text-dark)}.results-stage-details-content{margin-top:16px}.results-cp-status{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.results-cp-status.cp-status-created{background-color:#fff3cd;color:#856404}.results-cp-status.cp-status-sent{background-color:#d4edda;color:#155724}.results-cp-status.cp-status-failed{background-color:#f8d7da;color:#721c24}.results-cp-file-type-badge{display:inline-block;margin-left:8px;font-size:12px;color:#856404}.results-task-error-block{margin-bottom:16px;padding:12px 16px;background-color:#fff4e6;border-left:4px solid #ed6a0c;border-radius:4px}.results-validation-error-alert{margin-bottom:16px;padding:12px 16px;background-color:#fff8f0;border:1px solid #e65100;border-left:4px solid #bf360c;border-radius:8px}.results-position-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:12px}.position-found{background-color:#34a8531f;color:var(--color-success)}.position-not-found{background-color:#ea43351f;color:var(--color-error)}.status-in_queue{background-color:#e8f0fe;color:var(--color-primary)}.status-processing{background-color:#fbbc051f;color:var(--color-warning)}.status-waiting_kp{background-color:#1a73e814;color:var(--color-primary)}.status-error{background-color:#ea43351f;color:var(--color-error)}.stage-done{background-color:#34a8531f;color:var(--color-success)}.stage-in_progress{background-color:#fbbc051f;color:var(--color-warning)}.stage-pending{background-color:#e8f0fe;color:var(--color-text-secondary)}.stage-error{background-color:#ea43351f;color:var(--color-error)}.restart-page{max-width:1200px;margin:0 auto}.restart-page h1{margin:0 0 12px;font-size:24px;font-weight:500;color:var(--color-text-dark)}.restart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.restart-subtitle{margin:0;font-size:14px;color:var(--color-text-secondary);max-width:720px}.restart-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.restart-empty{margin:0;font-size:14px;color:var(--color-text-secondary)}.restart-alert{margin-bottom:12px;padding:10px 14px;border-radius:8px;font-size:14px}.restart-alert-error{background-color:#d32f2f1a;color:var(--color-error);border:1px solid rgba(211,47,47,.3)}.restart-alert-success{background-color:#2e7d321a;color:var(--color-success);border:1px solid rgba(46,125,50,.3)}.restart-list{display:flex;flex-direction:column;gap:12px}.restart-task-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:8px;background-color:var(--color-bg-white);box-shadow:0 1px 2px #0000000f;border:1px solid var(--color-border)}.restart-task-main{display:flex;flex-direction:column;gap:6px}.restart-task-title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.restart-task-filename{font-size:16px;font-weight:500;color:var(--color-text-dark)}.restart-task-deal{font-size:13px;color:var(--color-text-secondary)}.restart-task-meta{display:flex;align-items:center;gap:10px;font-size:13px}.restart-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500}.restart-task-date{color:var(--color-text-secondary)}.restart-task-actions{flex-shrink:0}.status-pending{background-color:#e8f0fe;color:var(--color-primary)}.status-processing,.status-parsing,.status-validating,.status-distributing,.status-sending_kp,.status-waiting_kp,.status-analyzing{background-color:#fbbc051f;color:var(--color-warning)}.status-completed{background-color:#34a8531f;color:var(--color-success)}.status-failed,.status-cancelled{background-color:#ea43351f;color:var(--color-error)}.settings-page{max-width:1200px;margin:0 auto}.settings-page h1{margin:0 0 24px;font-size:24px;font-weight:500;color:var(--color-text-dark)}.settings-section{margin-bottom:32px}.settings-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.settings-section h2{margin:0;font-size:18px;font-weight:500;color:var(--color-text-dark)}.settings-card{background-color:var(--color-bg-white);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.settings-field{margin-bottom:24px}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-dark)}.settings-value{font-size:14px;color:var(--color-text-secondary);padding:8px 0}.settings-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.settings-field-row{display:flex;gap:24px;align-items:center}.settings-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:400;cursor:pointer}.settings-mail-test-detail{font-size:13px;opacity:.9}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.alert-error{background-color:#d32f2f1a;color:var(--color-error);border:1px solid rgba(211,47,47,.3)}.alert-success{background-color:#2e7d321a;color:var(--color-success);border:1px solid rgba(46,125,50,.3)}.loading{text-align:center;padding:40px;color:var(--color-text-secondary)}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table thead{background-color:var(--color-bg-light)}.users-table th{padding:12px;text-align:left;font-weight:500;color:var(--color-text-dark);border-bottom:2px solid var(--color-border)}.users-table td{padding:12px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.users-table tbody tr:hover{background-color:var(--color-bg-light)}.table-row-actions{display:inline-flex;gap:8px}.table-row-actions button{min-width:90px}.empty-state{text-align:center;padding:40px;color:var(--color-text-secondary)}.settings-description{margin:0 0 16px;font-size:14px;color:var(--color-text-secondary);line-height:1.45}.settings-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;word-break:break-all}.ai-credentials-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.ai-credentials-form h3{margin:0 0 16px;font-size:16px;font-weight:500;color:var(--color-text-dark)}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background-color:#2e7d321a;color:var(--color-success)}.status-badge.inactive{background-color:#9e9e9e1a;color:var(--color-text-secondary)}.source-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background-color:var(--color-bg-light);color:var(--color-text-secondary)}.source-badge-bitrix{background-color:#2196f314;color:#1976d2}.source-badge-app{background-color:#4caf5014;color:#2e7d32}.user-form-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.user-form-content{background-color:var(--color-bg-white);border-radius:8px;padding:30px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026}.user-form-content h3{margin:0 0 24px;font-size:20px;font-weight:500;color:var(--color-text-dark)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-dark)}.form-group label input[type=checkbox]{margin-right:8px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-hint{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}.form-input:focus{outline:none;border-color:var(--color-primary)}.settings-section-actions{display:flex;gap:12px}.form-select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background-color:var(--color-bg-white);color:var(--color-text-dark);transition:border-color .2s}.form-select:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border)}.validation-rules-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.validation-rules-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.settings-tasks-actions{display:flex;gap:12px}.admin-buttons{display:flex;gap:12px;flex-wrap:wrap}.specifications-page{padding:2rem;max-width:1400px;margin:0 auto}.specifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.specifications-header h1{margin:0;font-size:2rem;color:#333}.specifications-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.search-form{display:flex;gap:.5rem;align-items:center}.search-input{flex:1;max-width:500px}.specifications-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.specifications-table-container{overflow-x:auto;margin-bottom:1.5rem}.specifications-table{width:100%;border-collapse:collapse;font-size:.9rem}.specifications-table thead{background-color:#f5f5f5}.specifications-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.specifications-table td{padding:.75rem;border-bottom:1px solid #eee}.specifications-table tbody tr:hover{background-color:#f9f9f9}@media(max-width:768px){.specifications-page{padding:1rem}.specifications-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-form{flex-direction:column;align-items:stretch}.search-input{max-width:100%}.specifications-table-container{overflow-x:scroll}.specifications-table{font-size:.8rem}.specifications-table th,.specifications-table td{padding:.5rem}}.position-providers-page{padding:2rem;max-width:1400px;margin:0 auto}.position-providers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.position-providers-header h1{margin:0;font-size:2rem;color:#333}.position-providers-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.position-providers-info{display:flex;gap:2rem;margin-bottom:1rem;font-size:.9rem;color:#666}.position-providers-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.position-providers-table-container{overflow-x:auto;margin-bottom:1.5rem}.position-providers-table{width:100%;border-collapse:collapse;font-size:.9rem}.position-providers-table thead{background-color:#f5f5f5}.position-providers-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.position-providers-table td{padding:.75rem;border-bottom:1px solid #eee;vertical-align:middle}.position-providers-table tbody tr:hover{background-color:#f9f9f9}.position-name{max-width:500px;word-wrap:break-word;word-break:break-word}.position-name .edit-input{min-width:400px;max-width:500px}.provider-name{font-weight:500;color:#2c5aa0;white-space:nowrap}.provider-name .edit-input{min-width:200px;max-width:300px}.pp-date{white-space:nowrap;color:#666;font-size:.85rem}.actions-cell{white-space:nowrap}.row-actions,.edit-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row-actions button,.edit-actions button{font-size:.85rem;padding:.4rem .8rem;white-space:nowrap}.edit-actions button[disabled]{opacity:.6;cursor:not-allowed}.editing-row{background-color:#f0f7ff!important;border:2px solid #2c5aa0}.editing-row:hover{background-color:#e8f2ff!important}.editing-row td{padding:.75rem;vertical-align:middle}.edit-input{width:100%;min-width:250px;padding:.5rem .75rem;border:2px solid #2c5aa0;border-radius:4px;font-size:.9rem;font-family:inherit;background-color:#fff;color:#333;transition:border-color .2s,box-shadow .2s}.edit-input:focus{outline:none;border-color:#1a4480;box-shadow:0 0 0 3px #2c5aa01a}.edit-input:hover{border-color:#1a4480}.alert-success{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}@media(max-width:768px){.position-providers-page{padding:1rem}.position-providers-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-form{flex-direction:column;align-items:stretch}.search-input{max-width:100%}.position-providers-table-container{overflow-x:scroll}.position-providers-table{font-size:.8rem}.position-providers-table th,.position-providers-table td{padding:.5rem}}.suppliers-specs-page{padding:2rem;max-width:1400px;margin:0 auto}.suppliers-specs-header{margin-bottom:2rem}.suppliers-specs-header h1{margin:0;font-size:2rem;color:#333}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .2s;margin-bottom:-2px}.tab:hover{color:#2c5aa0;background-color:#f5f5f5}.tab.active{color:#2c5aa0;border-bottom-color:#2c5aa0;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header-actions{display:flex;gap:.5rem;align-items:center}.section-header h2{margin:0;font-size:1.5rem;color:#333}.suppliers-info{font-size:.9rem;color:#666}.suppliers-card,.specifications-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.suppliers-table-container,.specifications-table-container{overflow-x:auto;margin-bottom:1.5rem}.suppliers-table,.specifications-table{width:100%;border-collapse:collapse;font-size:.9rem}.suppliers-table thead,.specifications-table thead{background-color:#f5f5f5}.suppliers-table th,.specifications-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;white-space:nowrap}.suppliers-table td,.specifications-table td{padding:.75rem;border-bottom:1px solid #eee}.suppliers-table tbody tr:hover,.specifications-table tbody tr:hover{background-color:#f9f9f9}.supplier-name{font-weight:500;color:#333}.supplier-count{text-align:center;color:#666}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.status-badge.active{background-color:#e8f5e9;color:#2e7d32}.status-badge.inactive{background-color:#ffebee;color:#c62828}.spec-name{max-width:400px;word-wrap:break-word;word-break:break-word}.spec-cost{font-weight:600;color:#2c5aa0;white-space:nowrap}.spec-date{white-space:nowrap;color:#666;font-size:.85rem}.action-buttons{display:flex;gap:.5rem}.specifications-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d}.search-form{display:flex;gap:.75rem;align-items:flex-start}.search-form .input-wrapper{flex:1;max-width:600px;margin-bottom:0}.pagination-controls{display:flex;align-items:center;gap:.5rem}.page-size-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.specifications-info{display:flex;gap:2rem;margin-bottom:1rem;font-size:.9rem;color:#666}.total-info,.search-info{display:flex;align-items:center;gap:.5rem}.empty-state{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.pagination-info{padding:0 1rem;color:#666;font-size:.9rem}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-error{background-color:#fee;color:#c33;border:1px solid #fcc}.alert-success{background-color:#efe;color:#3c3;border:1px solid #cfc}.form-radio-group{display:flex;gap:1.5rem;margin-top:.25rem}.radio-option{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;color:#333}.form-modal{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.form-modal-content h3{margin:0 0 1.5rem;font-size:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:2rem}@media(max-width:768px){.suppliers-specs-page{padding:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-form{flex-direction:column;align-items:stretch}.search-input{max-width:100%}.suppliers-table-container,.specifications-table-container{overflow-x:scroll}.suppliers-table,.specifications-table{font-size:.8rem}.suppliers-table th,.suppliers-table td,.specifications-table th,.specifications-table td{padding:.5rem}.action-buttons{flex-direction:column}.form-modal-content{padding:1.5rem}}#root{width:100%;min-height:100vh}
