*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f1117;color:#e1e4e8;min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #2d333b;margin-bottom:24px}header h1{font-size:24px;color:#58a6ff}.stats-bar{display:flex;gap:24px;font-size:13px;color:#8b949e}.stats-bar span strong{color:#e1e4e8}.tabs{display:flex;gap:8px;margin-bottom:24px}.tabs button{padding:8px 16px;background:#161b22;border:1px solid #2d333b;color:#8b949e;border-radius:6px;cursor:pointer;font-size:13px}.tabs button.active{background:#1f6feb;color:#fff;border-color:#1f6feb}.upload-zone{border:2px dashed #2d333b;border-radius:12px;padding:48px;text-align:center;cursor:pointer;transition:border-color .2s;margin-bottom:16px}.upload-zone:hover,.upload-zone.dragover{border-color:#1f6feb}.upload-zone input{display:none}.upload-zone p{font-size:16px;color:#8b949e;margin-top:8px}.upload-options{display:flex;gap:12px;margin-bottom:16px}.upload-options select,.upload-options input{padding:8px 12px;background:#161b22;border:1px solid #2d333b;color:#e1e4e8;border-radius:6px;font-size:13px}.upload-options select{min-width:180px}.upload-options input{flex:1}.result-card{background:#161b22;border:1px solid #2d333b;border-radius:8px;padding:20px;margin-bottom:16px}.result-card h3{font-size:16px;margin-bottom:12px;color:#58a6ff}.confidence-bar{height:6px;background:#2d333b;border-radius:3px;margin-bottom:16px;overflow:hidden}.confidence-fill{height:100%;border-radius:3px;transition:width .3s}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-item{display:flex;flex-direction:column;gap:4px}.field-item.full-width{grid-column:1 / -1}.field-label{font-size:11px;text-transform:uppercase;color:#8b949e;letter-spacing:.5px}.field-value{padding:8px 12px;background:#0d1117;border:1px solid #2d333b;border-radius:4px;font-size:14px;color:#e1e4e8;cursor:pointer;transition:border-color .2s;min-height:36px}.field-value:hover{border-color:#1f6feb}.field-value.editing{border-color:#f0883e}.field-value.corrected{border-color:#3fb950;background:#0d1117}.field-edit{display:flex;gap:8px}.field-edit input,.field-edit textarea{flex:1;padding:8px 12px;background:#0d1117;border:1px solid #f0883e;color:#e1e4e8;border-radius:4px;font-size:14px;font-family:inherit}.field-edit textarea{min-height:60px;resize:vertical}.field-edit button{padding:8px 12px;border-radius:4px;border:none;cursor:pointer;font-size:12px}.btn-save{background:#238636;color:#fff}.btn-cancel{background:#2d333b;color:#8b949e}.line-items-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.line-items-table th{padding:8px 12px;background:#0d1117;border:1px solid #2d333b;text-align:left;font-weight:600;color:#8b949e;text-transform:uppercase;font-size:11px}.line-items-table td{padding:8px 12px;border:1px solid #2d333b}.doc-list{display:flex;flex-direction:column;gap:8px}.doc-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#161b22;border:1px solid #2d333b;border-radius:6px;cursor:pointer;transition:border-color .2s}.doc-row:hover{border-color:#1f6feb}.doc-row .filename{flex:1;font-weight:500}.doc-row .meta{font-size:12px;color:#8b949e}.status-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.status-badge.parsed{background:#238636;color:#fff}.status-badge.extracting{background:#f0883e;color:#000}.status-badge.uploaded{background:#2d333b;color:#8b949e}.status-badge.error{background:#da3633;color:#fff}.status-badge.reviewed{background:#1f6feb;color:#fff}.history-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #2d333b;font-size:13px}.history-item .action{font-weight:600;min-width:80px;color:#58a6ff}.history-item .details{color:#8b949e;flex:1}.history-item .time{color:#6e7681;font-size:12px}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:#8b949e}.spinner{width:24px;height:24px;border:3px solid #2d333b;border-top-color:#1f6feb;border-radius:50%;animation:spin .8s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(360deg)}}.btn{padding:8px 16px;border-radius:6px;border:1px solid #2d333b;background:#161b22;color:#e1e4e8;cursor:pointer;font-size:13px}.btn-primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.btn:hover{opacity:.9}.empty-state{text-align:center;padding:48px;color:#8b949e}
