:root{--bg: #080c0a;--bg2: #0e1410;--surface: #121916;--surface2: #18201b;--surface3: #1d2721;--border: #222b24;--border2: #2c3830;--teal: #1ec48c;--teal-dim: #12895f;--teal-soft: rgba(30, 196, 140, .12);--teal-softer: rgba(30, 196, 140, .06);--text: #e8ede9;--muted: #6b7d70;--muted2: #4a5a4f;--danger: #e05050;--warn: #d4a240;--blue: #78a8ff;--radius: 8px;--radius-lg: 16px;--shadow-soft: 0 18px 60px rgba(0, 0, 0, .32);--shadow-glow: 0 0 32px rgba(30, 196, 140, .1);--pink: #ff78b8;--pink-dim: #c04f87;--pink-soft: rgba(255, 120, 184, .12);--pink-softer: rgba(255, 120, 184, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at 20% -10%,rgba(30,196,140,.1),transparent 34rem),radial-gradient(circle at 90% 0%,rgba(30,196,140,.06),transparent 28rem),var(--bg);color:var(--text);font-family:DM Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.page-shell{max-width:1500px;margin:0 auto;padding:0 28px 28px}.app-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;border-bottom:1px solid var(--border);background:#080c0aeb;position:sticky;top:0;z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{height:30px;width:auto;display:block}.brand-mark{width:32px;height:32px;display:block}.brand-divider{width:1px;height:24px;background:var(--border2)}.brand-copy{display:flex;flex-direction:row;justify-content:center;gap:16px;min-width:0}.app-header h1{margin:0;font-family:Syne,Inter,system-ui,sans-serif;font-size:17px;font-weight:800;letter-spacing:.01em;color:var(--text)}.app-header .muted{margin-top:2px;margin-bottom:0}h1,h2,h3{margin:0;font-family:Syne,Inter,system-ui,sans-serif;color:var(--text)}h2{font-size:18px;font-weight:800}h3{font-size:15px;font-weight:800}.muted{color:var(--muted);font-size:.88rem}.card{margin-top:24px;background:linear-gradient(180deg,#121916fa,#0e1410fa);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft),var(--shadow-glow);overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--bg2)}input,select,textarea{width:100%;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:9px 11px;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--muted2)}input:focus,select:focus,textarea:focus{border-color:var(--teal-dim);box-shadow:0 0 0 3px var(--teal-softer);background:var(--surface2)}.toolbar input,.toolbar select{min-width:170px}.toolbar input:first-child{min-width:min(420px,100%);flex:1}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}const IMPORT_STATUS_LABELS: Record<number,string> ={0: "Pending",1: "In progress",2: "Completed",3: "Requires correction",4: "Submitted",5: "Exception",}; function formatStatus(status: number){return IMPORT_STATUS_LABELS[status] ??"`Unknown (${status})"}thead th{position:sticky;top:0;z-index:1;padding:11px 16px;text-align:left;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);background:var(--bg2);border-bottom:1px solid var(--border);white-space:nowrap}thead th:first-child,tbody td:first-child{padding-left:24px}thead th:last-child,tbody td:last-child{padding-right:24px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--teal)}tbody tr{border-bottom:1px solid var(--border);transition:background .12s ease}tbody tr:hover{background:var(--surface2)}tbody td{padding:14px 16px;vertical-align:middle;color:var(--text);white-space:nowrap}.link-button{border:none;background:transparent;color:var(--text);cursor:pointer;padding:0;font-family:Syne,Inter,system-ui,sans-serif;font-size:14px;font-weight:700;text-align:left}.link-button:hover{color:var(--teal);text-decoration:none}button,.primary-button{align-items:center;justify-content:center;gap:8px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:8px 13px;cursor:pointer;font-weight:650;transition:border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease,transform .12s ease,box-shadow .15s ease}button:hover:not(:disabled){border-color:var(--teal-dim);background:var(--surface2)}.primary-button{background:var(--teal);color:#05110a;border-color:var(--teal);font-family:Syne,Inter,system-ui,sans-serif;font-weight:800;box-shadow:0 0 24px #1ec48c2e}.primary-button:hover:not(:disabled){background:var(--teal);color:#05110a;opacity:.92;transform:translateY(-1px);box-shadow:0 4px 28px #1ec48c47}button:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.status-pill{display:inline-flex;align-items:center;gap:5px;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:4px;color:var(--teal);background:var(--teal-soft);border:1px solid rgba(30,196,140,.22);white-space:nowrap}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--border);background:var(--bg2);color:var(--muted);font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.pagination-bar>div{display:flex;align-items:center;gap:8px}.drawer{position:fixed;top:0;right:0;width:min(640px,96vw);height:100vh;background:linear-gradient(180deg,#18201bfa,#0c120efa);border-left:1px solid rgba(30,196,140,.2);box-shadow:-20px 0 80px #00000073,-10px 0 50px #1ec48c0f;padding:24px;z-index:20;overflow-y:auto}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}.drawer-header .muted{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--muted2);margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}label{display:flex;flex-direction:column;gap:6px;font-weight:650;color:var(--muted);font-size:12px}.full-width{grid-column:1 / -1}textarea{resize:vertical;min-height:90px}.subsection{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.file-list{display:grid;gap:10px;margin-top:12px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border2);border-radius:var(--radius);background:var(--surface);padding:12px}.file-row:hover{border-color:var(--teal-dim);background:var(--surface2)}.modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at 50% 45%,rgba(30,196,140,.12),transparent 36%),#030705b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;display:flex;justify-content:center;align-items:flex-start;padding:48px 18px}.modal{background:linear-gradient(180deg,#18201bfa,#0c120efa);width:min(780px,96vw);border:1px solid rgba(30,196,140,.24);border-radius:22px;padding:24px;box-shadow:0 24px 80px #00000073,0 0 50px #1ec48c14;animation:modalIn .18s ease-out;position:relative}.modal-close{position:absolute;top:12px;right:14px;border:none;background:transparent;color:#64748b;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}.modal-close:hover{color:#0f172a}.modal-close:focus{outline:2px solid #2563eb;outline-offset:2px;border-radius:4px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.error-box{margin:14px 0;padding:12px 14px;border-radius:var(--radius);background:#e0505014;color:var(--danger);border:1px solid rgba(224,80,80,.22)}.status-0{color:var(--warn);background:#d4a24017;border-color:#d4a24038}.status-1{color:var(--blue);background:#78a8ff17;border-color:#78a8ff38}.status-2{color:var(--teal);background:var(--teal-soft);border-color:#1ec48c38}.status-3{color:var(--warn);background:#d4a24017;border-color:#d4a24038}.status-4{color:var(--pink);background:var(--pink-soft);border-color:#ff78b838}.status-5{color:var(--danger);background:#e0505014;border-color:#e0505038}@media(max-width:760px){.page-shell{padding:0 16px 20px}.app-header{align-items:flex-start;flex-direction:column;padding:14px 0}.brand-logo{height:24px}.toolbar input:first-child,.toolbar input,.toolbar select{min-width:100%}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.pagination-bar{align-items:flex-start;flex-direction:column}}.checkbox-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(34,197,94,.25);border-radius:14px;background:#065f461f;cursor:pointer;grid-column:span 2}.checkbox-card:hover{border-color:#22c55e73;background:#065f462e}.checkbox-card input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#059669;cursor:pointer}.checkbox-content{display:flex;flex-direction:column;gap:3px}.checkbox-title{color:#e5e7eb;font-weight:700}.checkbox-help{color:#7f9188;font-size:.9rem}.checkbox-card-compact{align-items:center}.inline-checkbox-field{grid-column:2;display:inline-flex;flex-direction:row;align-items:center;gap:10px;width:fit-content;margin-top:10px;padding:10px 14px;border:1px solid rgba(16,185,129,.28);border-radius:12px;background:#05966914;color:#e5e7eb;font-weight:700;cursor:pointer}.inline-checkbox-field:hover{border-color:#10b98180;background:#0596691f}.inline-checkbox-field input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#059669;cursor:pointer}.inline-checkbox-field span{line-height:1}input[type=file]{width:100%;color:#e5e7eb;font-weight:700}input[type=file]::file-selector-button{margin-right:12px;padding:9px 14px;border:1px solid rgba(16,185,129,.45);border-radius:10px;background:#059669;color:#020617;font-weight:800;cursor:pointer}input[type=file]::file-selector-button:hover{background:#10b981;border-color:#34d399bf}.form-notice{margin-top:4px;padding:10px 12px;border:1px solid rgba(30,196,140,.18);border-left:3px solid var(--teal-dim);border-radius:var(--radius);background:var(--teal-softer);color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}.app-footer{margin-top:12px;padding:0 8px 10px;color:var(--muted-color, #6f8179);font-size:11px;text-align:right;opacity:.7}.modal-is-busy{overflow:hidden}.download-template-button{min-height:40px}.template-loading-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:24px;border-radius:inherit;background:#080c0adb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:templateOverlayIn .2s ease-out}.template-loading-panel{width:min(440px,100%);display:grid;justify-items:center;gap:18px;padding:30px 28px;text-align:center;border:1px solid rgba(30,196,140,.3);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface2),var(--surface));box-shadow:var(--shadow-soft),0 0 38px #1ec48c1f}.template-spinner{position:relative;width:72px;height:56px;display:flex;align-items:flex-end;justify-content:center;gap:7px}.template-spinner span{width:10px;height:36px;border-radius:999px;background:var(--teal);box-shadow:0 0 14px #1ec48c59;animation:templatePulse 1s ease-in-out infinite}.template-spinner span:nth-child(2){animation-delay:.14s}.template-spinner span:nth-child(3){animation-delay:.28s}.template-loading-copy{display:grid;gap:7px}.template-loading-copy strong{color:var(--text);font-family:Syne,Inter,system-ui,sans-serif;font-size:18px}.template-loading-copy span,.template-loading-panel small{color:var(--muted)}.template-progress-track{width:100%;height:5px;overflow:hidden;border-radius:999px;background:var(--surface3)}.template-progress-bar{width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--teal),transparent);animation:templateProgress 1.4s ease-in-out infinite}@keyframes templatePulse{0%,to{height:22px;opacity:.45}50%{height:52px;opacity:1}}@keyframes templateProgress{0%{transform:translate(-120%)}to{transform:translate(340%)}}@keyframes templateOverlayIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.template-loading-overlay,.template-spinner span,.template-progress-bar{animation-duration:2.5s;animation-timing-function:linear}}
