:root{--bg:#0f0f1a;--bg-card:#12121f;--bg-card-hover:#1a2a3e;--border:#2a2a3e;--text:#fff;--text-muted:#555;--text-label:#aaa;--text-dim:#ccc;--accent:#7ecdc4;--accent-dark:#0f766e;--amber:#f5a623;--error-red:#c22;--error-bg:#2a1a1a;--error-border:#6a3a3a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{flex-direction:column;height:100vh;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:4px;padding:7px 16px;font-size:14px}.btn-primary:disabled{opacity:.5;cursor:default}.btn-teal{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:600}.btn-teal:disabled{opacity:.5;cursor:default}.btn-danger{background:var(--error-bg);color:#e05555;border:1px solid var(--error-border);cursor:pointer;border-radius:4px;padding:5px 12px;font-size:13px}.btn-secondary{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:#1e1e2e;border-radius:4px;padding:5px 12px;font-size:13px}select,input[type=text]{color:var(--text-dim);background:#1a1a2e;border:1px solid #333;border-radius:3px;padding:5px 8px;font-size:13px}select{cursor:pointer}.progress-bar{background:#7ecdc414;flex-shrink:0;height:2px;position:relative;overflow:visible}.progress-bar-fill{background:linear-gradient(90deg,#0000 0%,#7ecdc44d 15%,#b0fff8 48%,#fff 52%,#b0fff8 56%,#7ecdc44d 85%,#0000 100%);width:20%;height:100%;animation:1.4s ease-in-out infinite progress-slide;position:absolute;box-shadow:0 0 5px 1px #7ecdc4,0 0 10px 2px #7ecdc433}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(460%)}}.error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:#e05555;border-radius:4px;margin:12px 16px;padding:10px 16px;font-size:14px}.success-banner{color:var(--accent);background:#0d2a1e;border:1px solid #1a5a3a;border-radius:4px;margin:12px 16px;padding:10px 16px;font-size:14px}.success-banner a{color:var(--accent);font-weight:600}.nav-bar{background:#0f0f1a;border-bottom:1px solid #2a2a3e;flex-shrink:0;align-items:center;gap:24px;padding:12px 16px;display:flex}.nav-title{color:#fff;font-size:16px;font-weight:600}.nav-links{gap:20px;display:flex}.nav-link{color:#555;font-size:15px;text-decoration:none}.nav-link.active{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:2px}.invoice-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.invoice-card-header{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.invoice-checkbox{cursor:pointer;flex-shrink:0;width:16px;height:16px}.status-badge{text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700}.status-badge--ready{color:#000;background:#7ecdc4}.status-badge--duplicate{color:#000;background:#f5a623}.status-badge--error{color:#fff;background:#c22}.invoice-number{color:#fff;min-width:70px;font-size:14px;font-weight:600}.customer-input{flex:2;min-width:140px}.invoice-date{color:var(--text-label);white-space:nowrap;font-size:13px}.invoice-total{color:var(--accent);white-space:nowrap;text-align:right;min-width:70px;font-size:14px;font-weight:600}.toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:13px}.invoice-error-row{border-top:1px solid var(--error-border);flex-wrap:wrap;gap:12px;padding:6px 14px 8px;display:flex}.invoice-error-reason{color:#e05555;font-size:13px}.invoice-error-hint{color:var(--text-muted);font-size:12px}.invoice-batch-link{color:var(--accent);font-size:13px;text-decoration:none}.invoice-batch-link:hover{text-decoration:underline}.line-items-section{border-top:1px solid var(--border);padding:10px 14px}.line-items-header{color:var(--text-muted);text-transform:uppercase;grid-template-columns:1fr 60px 90px 90px;gap:8px;margin-bottom:6px;font-size:11px;display:grid}.line-item-row{grid-template-columns:1fr 60px 90px 90px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.li-input{width:100%}.li-input--narrow{width:60px}.li-input--medium{width:90px}.li-input--error{color:#e05555;border-color:var(--error-border)}.import-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.controls-bar{z-index:10;border-bottom:1px solid var(--border);background:#12121f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.controls-left{align-items:center;gap:10px;display:flex}.controls-summary{color:var(--text-label);font-size:14px}.invoice-list{flex-direction:column;gap:8px;padding:12px 16px;display:flex}.select-all-row{color:var(--text-label);cursor:pointer;align-items:center;gap:8px;padding:4px 2px 8px;font-size:13px;display:flex}.select-all-row input{cursor:pointer}.submit-bar{border-top:1px solid var(--border);z-index:100;background:#0f0f1a;padding:12px 16px;position:fixed;bottom:0;left:0;right:0}.submit-bar-inner{justify-content:flex-end;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.submit-hint{color:var(--text-muted);font-size:13px}.history-outer{flex-direction:column;flex:1;min-height:0;display:flex}.history-page{flex:1;min-height:0;display:flex}.batch-list-panel{border-right:1px solid var(--border);flex-shrink:0;width:270px;overflow-y:auto}.batch-list-header{z-index:1;border-bottom:1px solid var(--border);color:var(--text-label);background:#12121f;padding:10px 14px;font-size:13px;position:sticky;top:0}.panel-loading{color:var(--text-label);padding:16px;font-size:14px}.batch-row{cursor:pointer;border-bottom:1px solid #1a1a2e;border-left:3px solid #0000;padding:12px 14px}.batch-row:hover{background:#16162a}.batch-row--selected{background:var(--bg-card-hover);border-left-color:var(--accent)}.batch-row-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.batch-row-name{color:#fff;font-size:14px;font-weight:600}.batch-row--selected .batch-row-name{color:#fff}.batch-row:not(.batch-row--selected) .batch-row-name{color:#ccc}.batch-status-badge{border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.batch-status-badge--complete{background:var(--accent);color:#000}.batch-status-badge--partial{background:var(--amber);color:#000}.batch-status-badge--error{color:#fff;background:#c22}.detail-invoice-card--skipped .detail-inv-number,.detail-invoice-card--skipped .detail-inv-customer,.detail-invoice-card--skipped .detail-inv-date,.detail-invoice-card--skipped .detail-inv-total{opacity:.55}.detail-inv-skip-reason{color:#e05555;padding:0 14px 10px;font-size:12px}.batch-row-id{color:var(--text-muted);margin-bottom:2px;font-size:11px}.batch-row-dates{color:var(--accent);margin-bottom:2px;font-size:13px}.batch-row:not(.batch-row--selected) .batch-row-dates{color:var(--text-label)}.batch-row-counts{color:var(--text-muted);font-size:12px}.batch-detail-panel{flex:1;padding:14px;overflow-y:auto}.detail-placeholder{color:var(--text-muted);text-align:center;margin-top:40px;font-size:14px}.detail-header{z-index:1;background:var(--bg);justify-content:space-between;align-items:flex-start;padding-bottom:16px;display:flex;position:sticky;top:0}.detail-title{color:#fff;margin-bottom:3px;font-size:15px;font-weight:600}.detail-dates{color:var(--accent);margin-bottom:3px;font-size:14px}.detail-counts{color:var(--text-muted);font-size:13px}.detail-invoice-list{flex-direction:column;gap:8px;display:flex}.detail-invoice-card--deleted .detail-inv-number,.detail-invoice-card--deleted .detail-inv-customer,.detail-invoice-card--deleted .detail-inv-date,.detail-invoice-card--deleted .detail-inv-total,.detail-invoice-card--deleted .toggle-btn,.detail-invoice-card--deleted .line-items-section{opacity:.45}.detail-invoice-card--deleted .detail-inv-number,.detail-invoice-card--deleted .detail-inv-customer,.detail-invoice-card--deleted .detail-inv-total{text-decoration:line-through}.detail-invoice-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.detail-invoice-header{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.detail-inv-number{color:#fff;min-width:70px;font-size:14px;font-weight:600}.detail-inv-customer{color:var(--text-label);flex:2;min-width:100px;font-size:13px}.detail-inv-date{color:var(--text-label);font-size:13px}.detail-inv-total{color:var(--accent);text-align:right;min-width:70px;font-size:14px;font-weight:600}.history-line-items-header{grid-template-columns:1fr 60px 90px 90px 32px}.history-line-item-row{grid-template-columns:1fr 60px 90px 90px 32px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.history-li-product{color:var(--text-dim);font-size:13px}.li-save-btn{color:var(--accent);cursor:pointer;background:#1a2a3e;border:1px solid #2a4a5e;border-radius:3px;padding:3px 6px;font-size:12px}.li-save-btn:disabled{opacity:.5}.li-flash{transition:border-color .2s;border-color:var(--accent)!important}.li-save-error{color:#e05555;grid-column:1/-1;padding:2px 0 4px;font-size:12px}.app-main,.page-slot{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.page-slot--hidden{display:none}
