:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#1a3a5c;background-color:#f5f9fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#1a3a5c;text-decoration:none}a:hover{color:#3498db}button,input,textarea{font-family:inherit}.env-indicator{position:fixed;top:50%;right:0;transform:translateY(-50%);color:#fff;padding:8px 12px;font-size:11px;font-weight:600;z-index:9999;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;border-radius:4px 0 0 4px}.version-footer{position:fixed;bottom:10px;left:50%;transform:translate(-50%);color:#5a7a94;font-size:11px;font-weight:500;z-index:9999;opacity:.7}.upload-page{min-height:100vh;background:#f5f9fc}.page-content{max-width:1400px;margin:0 auto;padding:40px 20px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}@media(max-width:900px){.upload-grid{grid-template-columns:1fr}}.upload-section{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 15px #1a3a5c14}.section-title{font-size:22px;color:#1a3a5c;margin:0 0 8px;font-weight:600}.section-subtitle{font-size:13px;color:#5a7a94;margin:0 0 25px}.upload-zone{border:3px dashed #7bb8e0;border-radius:16px;padding:50px 30px;text-align:center;background:#f5f9fc;transition:all .3s ease;cursor:pointer;position:relative}.upload-zone:hover{border-color:#4a90c2;background:#e8f2f8}.upload-zone.drag-over{border-color:#4a90c2;background:#e8f2f8;transform:scale(1.01)}.upload-zone.disabled{opacity:.7;pointer-events:none}.upload-icon{margin-bottom:16px;color:#7bb8e0}.upload-zone p{color:#1a3a5c;margin:8px 0;font-size:16px}.upload-hint{font-size:13px!important;color:#5a7a94!important}.upload-button{display:inline-block;padding:12px 30px;background:linear-gradient(135deg,#4a90c2,#1a3a5c);color:#fff;border-radius:50px;cursor:pointer;font-weight:600;font-size:14px;margin-top:12px;transition:all .3s ease;box-shadow:0 4px 15px #1a3a5c4d}.upload-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a3a5c66}.upload-status{display:flex;flex-direction:column;align-items:center;gap:16px}.invoice-list-section{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 15px #1a3a5c14}.invoice-list-section h2{font-size:22px;color:#1a3a5c;margin:0 0 8px;font-weight:600}.invoice-list-section>p{font-size:13px;color:#5a7a94;margin:0 0 25px}.invoice-list{max-height:500px;overflow-y:auto}.invoice-card{display:flex;align-items:center;padding:14px 16px;background:#f5f9fc;border-radius:10px;margin-bottom:10px;cursor:pointer;transition:all .2s ease;width:100%;border:none;text-align:left}.invoice-card:hover{transform:translate(5px);background:#e8f2f8}.invoice-icon{color:#4a90c2;margin-right:14px;flex-shrink:0}.invoice-info{flex:1}.invoice-number-label{font-size:14px;font-weight:600;color:#1a3a5c;margin-bottom:2px}.invoice-date{font-size:11px;color:#5a7a94}.invoice-flags{display:flex;gap:6px;margin-right:10px}.flag{flex-shrink:0}.flag.modified{color:#e74c3c}.flag.remarks{color:#f39c12}.status-processing{color:#e65100}.status-review{color:#1565c0}.status-completed{color:#2e7d32}.status-extracting{color:#4a90c2}.spin{animation:spin 1s linear infinite}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;text-transform:capitalize}.btn{padding:8px 16px;border:1px solid #d0dce5;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:#5a7a94}.btn-primary{background:linear-gradient(135deg,#4a90c2,#1a3a5c);color:#fff;border:none}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a3a5c4d}.btn-sm{padding:6px 12px;font-size:11px}.loading,.no-invoices{text-align:center;padding:30px;color:#5a7a94;font-size:13px}.logout-button{position:fixed;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:#5a7a94;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #1a3a5c26;transition:all .2s ease;z-index:100}.logout-button:hover{background:#f5f9fc;color:#e74c3c;transform:scale(1.05)}.review-page{display:flex;height:100vh;overflow:hidden;background:#f5f9fc}.review-page.loading-page,.review-page.error-page{justify-content:center;align-items:center;flex-direction:column;gap:16px}.form-panel{flex:1;min-width:400px;display:flex;flex-direction:column;background:#f5f9fc;border-right:1px solid #e8f2f8}.form-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #e8f2f8}.title-section h1{margin:0;font-size:14px;color:#1a3a5c;font-weight:600;line-height:1.2}.title-section .invoice-date-subtitle{font-size:12px;color:#5a7a94;font-weight:500}.actions{display:flex;gap:4px}.cost-indicator{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#f0f4f8;font-size:12px;color:#5a7a94}.cost-indicator strong{font-weight:600;color:#1a3a5c}.cost-history-btn{margin-left:auto;padding:2px 8px;font-size:10px;border:1px solid #d0dce5;border-radius:3px;background:#fff;color:#5a7a94;cursor:pointer;transition:all .2s ease}.cost-history-btn:hover{background:#f0f4f8;border-color:#4a90c2}.form-content{flex:1;overflow-y:auto;padding:16px 20px}.form-section{margin-bottom:16px}.form-section h3{font-size:11px;font-weight:600;color:#1a3a5c;text-transform:uppercase;margin:10px 0 4px;padding-bottom:4px;border-bottom:1px solid #e8f2f8}.field-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.field-row label{font-size:10px;color:#5a7a94;font-weight:500;text-transform:uppercase;min-width:70px;max-width:70px;line-height:1.2}.field-row.sub-field{margin-left:10px}.field-row.sub-field label{min-width:50px;max-width:50px;font-size:9px;color:#7a9ab4}.field-input{flex:1;display:flex;align-items:center;gap:6px}.field-input input,.field-input textarea{flex:1;padding:4px 8px;border:1px solid #e8f2f8;border-radius:4px;font-size:12px;background:#fff;transition:all .2s ease;font-family:inherit}.field-input input:focus,.field-input textarea:focus{outline:none;border-color:#4a90c2}.field-input textarea{min-height:24px;resize:vertical}.modified-dot{width:8px;height:8px;border-radius:50%;background:#e74c3c;flex-shrink:0}.lines-section{margin-top:16px}.lines-table-container{max-height:300px;overflow:auto;background:#fff;border-radius:6px;border:1px solid #e8f2f8;margin-bottom:8px}.lines-table{width:100%;border-collapse:collapse;font-size:11px}.lines-table th{position:sticky;top:0;background:#f5f9fc;padding:6px 4px;text-align:left;font-weight:600;color:#1a3a5c;font-size:9px;text-transform:uppercase;border-bottom:2px solid #e8f2f8;white-space:nowrap}.lines-table td{padding:1px;border-bottom:1px solid #f0f4f8}.lines-table input{width:100%;padding:3px 4px;border:1px solid transparent;border-radius:2px;font-size:11px;background:transparent}.lines-table input:hover{background:#f8fafc}.lines-table input:focus{outline:none;border-color:#4a90c2;background:#fff}.lines-table input.text-right{text-align:right}.lines-table tr:hover{background:#f8fafc}.pdf-panel{width:550px;min-width:550px;max-width:550px;display:flex;flex-direction:column;background:#525659}.pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #e8f2f8}.pdf-toolbar>span{font-size:12px;color:#5a7a94;font-weight:500}.view-buttons{display:flex;gap:4px}.pdf-content{flex:1;position:relative}.pdf-content iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.raw-content{position:absolute;inset:0;margin:0;padding:16px;overflow:auto;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.btn{padding:4px 12px;border:1px solid #d0dce5;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent;color:#5a7a94}.btn:hover{background:#f0f4f8}.btn.active,.btn-primary{background:#1a3a5c;color:#fff;border-color:#1a3a5c}.btn-primary:hover{background:#2a4a6c}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#5a7a94}.btn-danger{background:#e74c3c!important;color:#fff!important;border-color:#e74c3c!important}.btn-danger:hover{background:#c0392b!important}.btn-sm{padding:5px 10px;font-size:11px}.btn.has-remarks{background:#f39c12!important;color:#fff!important;border-color:#f39c12!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 4px 20px #1a3a5c33}.modal h3{margin:0 0 16px;font-size:18px;color:#1a3a5c;font-weight:600}.modal textarea{width:100%;min-height:150px;padding:12px;border:1px solid #e8f2f8;border-radius:6px;font-size:13px;resize:vertical;margin-bottom:16px;font-family:inherit}.modal textarea:focus{outline:none;border-color:#4a90c2}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.cost-history-modal{max-width:600px}.cost-summary{display:flex;gap:24px;padding:12px 16px;background:#f5f9fc;border-radius:6px;margin-bottom:16px}.cost-summary-item{display:flex;align-items:center;gap:8px}.cost-summary-item span{font-size:12px;color:#5a7a94}.cost-summary-item strong{font-size:14px;color:#1a3a5c}.cost-history-table-container{max-height:300px;overflow-y:auto;border:1px solid #e8f2f8;border-radius:6px;margin-bottom:16px}.cost-history-table{width:100%;border-collapse:collapse;font-size:12px}.cost-history-table th{position:sticky;top:0;background:#f5f9fc;padding:8px 12px;text-align:left;font-weight:600;color:#1a3a5c;border-bottom:2px solid #e8f2f8}.cost-history-table td{padding:8px 12px;border-bottom:1px solid #f0f4f8;color:#5a7a94}.cost-history-table tr:hover{background:#f8fafc}.spinner{width:40px;height:40px;border:3px solid #e8f2f8;border-top-color:#4a90c2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.extract-buttons{display:flex;gap:6px;padding:0 20px;margin-bottom:16px}.extract-btn{padding:5px 10px;border-radius:4px;font-weight:500;font-size:11px;border:1px solid #d0dce5;background:#fff;color:#5a7a94;cursor:pointer;transition:all .2s ease}.extract-btn:hover:not(:disabled){background:#f0f4f8;border-color:#4a90c2}.extract-btn:disabled{opacity:.6;cursor:wait;background:#e8f2f8}.login-page{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f9fc,#e8f2f8);position:relative;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dots-container{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;overflow:hidden}.dot{position:absolute;border-radius:50%;opacity:.15}.login-container{text-align:center;padding:35px 30px;background:#fff;border-radius:16px;box-shadow:0 15px 50px #1a3a5c14;max-width:450px;width:90%;position:relative;z-index:10}.login-logo{max-width:180px;margin-top:-10px;margin-bottom:15px}.login-title{font-size:22px;color:#1a3a5c;margin:0 0 12px;font-weight:600}.login-message{font-size:14px;color:#5a7a94;margin:0 0 25px;line-height:1.6}.login-error{color:#e74c3c;font-size:14px;margin:0 0 15px}.login-loading{color:#4a90c2;font-size:14px;margin:20px 0 0}.pin-container{display:flex;justify-content:center;gap:10px;margin-bottom:25px}.pin-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid #e8f2f8;border-radius:8px;background:#fff;color:#1a3a5c;transition:all .2s ease;outline:none}.pin-input:focus{border-color:#4a90c2;box-shadow:0 0 0 3px #4a90c226}.pin-input.filled{border-color:#4a90c2;background:#f5f9fc}.pin-input:disabled{opacity:.7;cursor:not-allowed}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
