*{box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;margin:0;min-height:100vh;background:#0f1419;color:#e6edf3;line-height:1.5}a{color:#58a6ff;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.container{max-width:640px;margin:0 auto;padding:2rem}.card{background:#1a2332;border:1px solid #2d3a4d;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.btn{background:#58a6ff;color:#0f1419;border:none;padding:.6rem 1.2rem;border-radius:6px;font-weight:600;cursor:pointer}.btn:hover{opacity:.9}.btnSecondary{background:transparent;color:#58a6ff;border:1px solid #58a6ff;margin-left:.5rem}.input{width:100%;padding:.6rem;border:1px solid #2d3a4d;border-radius:6px;background:#0f1419;color:#e6edf3;margin-bottom:1rem}.label{display:block;margin-bottom:.4rem;color:#8b949e}.error,.label{font-size:.9rem}.error{color:#f85149;margin-top:.5rem}.statusBadge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:600}.statusQueued{background:#d29922;color:#0f1419}.statusProcessing{background:#58a6ff;color:#0f1419}.statusDone{background:#3fb950;color:#0f1419}.statusFailed{background:#f85149;color:#fff}.uploadZone{border:2px dashed #2d3a4d;border-radius:8px;padding:2rem;text-align:center;cursor:pointer}.uploadZone:hover{border-color:#58a6ff}.jobItem{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid #2d3a4d;gap:1rem}.jobItem:last-child{border-bottom:none}.uploadZone.dragOver{border-color:#3fb950;background:rgba(63,185,80,.05)}.btnDanger{background:transparent;color:#f85149;border:1px solid #f85149;margin-left:.5rem}.btnDanger:hover{background:#f85149;color:#fff}.jobError{font-size:.8rem;color:#f85149;margin-top:.25rem;word-break:break-word}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modalContent{background:#1a2332;border:1px solid #2d3a4d;border-radius:10px;max-width:540px;width:100%;max-height:80vh;display:flex;flex-direction:column}.modalWide{max-width:90vw}.modalHeader{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #2d3a4d}.modalClose{background:none;border:none;color:#8b949e;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modalClose:hover{color:#e6edf3}.modalBody{padding:1.5rem;overflow-y:auto}.previewTable{width:100%;border-collapse:collapse;font-size:.85rem}.previewTable td,.previewTable th{padding:.4rem .6rem;border:1px solid #2d3a4d;text-align:left;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.previewTable th{background:#0f1419;color:#58a6ff;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.previewTable tr:hover td{background:rgba(88,166,255,.05)}.reportGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.reportMetric{background:#0f1419;border:1px solid #2d3a4d;border-radius:8px;padding:1rem;text-align:center}.reportMetric .value{font-size:1.8rem;font-weight:700;color:#58a6ff}.reportMetric .label{font-size:.85rem;color:#8b949e;margin-top:.25rem}.confirmActions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}