@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--color-primary: #0f2b4e;--color-primary-hover: #0a1f38;--color-beacon: #2563eb;--color-success: #059669;--color-warning: #eab308;--color-danger: #dc2626;--color-cyan: #06b6d4;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-lg: 0 20px 60px rgba(15, 23, 42, .12);--radius: 14px;font-family:Inter,system-ui,sans-serif;color:var(--text-primary);background:var(--bg-base)}*{box-sizing:border-box}body{margin:0;min-width:1100px;background:radial-gradient(circle at top left,rgba(6,182,212,.12),transparent 30rem),linear-gradient(180deg,#f8fafc,#eef4f8)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.loginShell{min-height:100vh;display:grid;place-items:center;padding:2rem}.loginCard{width:min(440px,100%);padding:2rem;border:1px solid var(--border);border-radius:24px;background:#ffffffeb;box-shadow:var(--shadow-lg)}.brandLogo{width:190px;height:auto;margin-bottom:1.5rem}.loginCard h1{margin:0 0 .75rem;font-size:2rem;line-height:1.05;color:var(--color-primary)}.loginCard input,select{width:100%;height:46px;margin-top:.45rem;border:1px solid var(--border-strong);border-radius:10px;padding:0 .85rem;background:#fff;color:var(--text-primary)}.loginCard input{margin:1.25rem 0 .75rem;font-size:1.25rem;letter-spacing:.15em}.appShell{min-height:100vh;padding:1.25rem}.topbar,.controlGrid,.summaryStrip,.queuePanel,.batchPanel{border:1px solid var(--border);border-radius:var(--radius);background:#fffffff0;box-shadow:0 1px 2px #0f172a0a}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.topbarLogo{width:150px;height:auto;display:block}.eyebrow{margin:0;color:var(--color-cyan);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.operatorPill{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);border-radius:999px;padding:.4rem .45rem .4rem 1rem;background:var(--bg-base)}.operatorPill strong{color:var(--color-primary)}.sandboxBadge{color:#a16207!important;background:#eab30824;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;letter-spacing:.02em}.operatorPill button{border:0;border-radius:999px;padding:.5rem .8rem;background:#fff;color:var(--text-secondary)}.controlGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-top:1rem;padding:1rem}label{color:var(--text-secondary);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.summaryStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:1rem;overflow:hidden}.summaryStrip div{padding:1rem;background:#fff}.summaryStrip span{display:block;margin-bottom:.35rem;color:var(--text-tertiary);font-size:.78rem;font-weight:700;text-transform:uppercase}.summaryStrip strong{color:var(--color-primary)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:1rem;margin-top:1rem;align-items:start}.queuePanel,.batchPanel{min-height:480px;overflow:hidden}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border)}.panelHeader.compact{align-items:flex-start}h2{margin:0;color:var(--color-primary);font-size:1.15rem}.panelHeader p,.muted{margin:.25rem 0 0;color:var(--text-secondary);line-height:1.5}.small{font-size:.85rem}.actions,.modalActions{display:flex;gap:.75rem}.primaryButton,.secondaryButton{min-height:42px;border-radius:10px;padding:0 1rem;font-weight:700}.primaryButton{border:0;background:var(--color-primary);color:#fff}.primaryButton:hover{background:var(--color-primary-hover)}.secondaryButton{border:1px solid var(--border-strong);background:#fff;color:var(--color-primary)}.fullWidth{width:100%}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}th{position:sticky;top:0;z-index:1;background:var(--bg-elevated);color:var(--text-secondary);font-size:.74rem;text-align:left;text-transform:uppercase;letter-spacing:.05em}th,td{padding:.85rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}th button{border:0;background:transparent;color:inherit;font-weight:800;text-transform:inherit;letter-spacing:inherit}td strong,td small{display:block}td small{margin-top:.25rem;color:var(--text-tertiary)}.emptyState,.emptyBatch{padding:3rem 1rem;color:var(--text-secondary);text-align:center}.statusBadge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 .65rem;background:#e2e8f0;color:var(--color-primary);font-size:.75rem;font-weight:800}.status-submitted,.status-purchasesubmitted,.status-purchasing{background:#dbeafe;color:#1d4ed8}.status-approved,.status-purchased,.status-shipped{background:#dcfce7;color:#047857}.status-partiallypurchased{background:#fef3c7;color:#a16207}.status-failed,.status-purchasefailed,.status-deliveryfailed{background:#fee2e2;color:#b91c1c}.status-creating,.status-labelgenerating{background:#e0e7ff;color:#4338ca}.status-ready{background:#d1fae5;color:#047857}.lockNotice{display:flex;align-items:center;gap:.85rem;margin-top:1rem;padding:.85rem 1rem;border:1px solid #bfdbfe;border-radius:var(--radius);background:#eff6ff}.lockNotice strong{color:var(--color-primary)}.controlGrid.locked,.queuePanel.locked{opacity:.72}.spinner{display:inline-block;width:1.1rem;height:1.1rem;border:2px solid var(--border-strong);border-top-color:var(--color-beacon);border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.batchModeTabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem 1rem 0}.batchModeTabs button{min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--bg-base);color:var(--text-secondary);font-weight:700}.batchModeTabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.batchModeContent{max-height:calc(100vh - 18rem);overflow:auto}.historyContent{padding:0 1rem 1rem}.historyFilters{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:.75rem}.historyFilters input{width:100%;height:40px;margin-top:.35rem;border:1px solid var(--border-strong);border-radius:10px;padding:0 .75rem;background:#fff}.historyLookup{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.75rem}.historyLookup input{height:40px;border:1px solid var(--border-strong);border-radius:10px;padding:0 .75rem;background:#fff}.historyActions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.historyList{display:grid;gap:.5rem;margin-top:.75rem}.historyRow{display:grid;gap:.25rem;width:100%;border:1px solid var(--border);border-radius:12px;padding:.75rem;background:#fff;text-align:left}.historyRow:hover{border-color:var(--border-strong)}.historyRow.selected{border-color:var(--color-beacon);background:#f8fbff}.historyRowMain{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.historyReadyTag{color:var(--color-success);font-size:.78rem;font-weight:700}.historyPagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem}.batchDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.batchStatusCopy{margin:.5rem 0 0;color:var(--color-primary);font-weight:700}.pollingBanner{display:flex;align-items:center;gap:.65rem;margin-top:.75rem;padding:.65rem .75rem;border-radius:10px;background:var(--bg-base);color:var(--text-secondary);font-size:.85rem;font-weight:600}.activityTimeline{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.45rem}.activityStep{display:flex;align-items:center;gap:.55rem;color:var(--text-tertiary);font-size:.82rem;font-weight:600}.activityDot{width:.55rem;height:.55rem;border-radius:50%;background:var(--border-strong);flex-shrink:0}.activityStep-done{color:var(--color-success)}.activityStep-done .activityDot{background:var(--color-success)}.activityStep-active{color:var(--color-beacon)}.activityStep-active .activityDot{background:var(--color-beacon);box-shadow:0 0 0 3px #2563eb2e}.activityStep-error{color:var(--color-danger)}.activityStep-error .activityDot{background:var(--color-danger)}.retryBlock{display:grid;gap:.35rem}.batchDetail{padding:1rem}.batchCounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.batchCounts span{border:1px solid var(--border);border-radius:10px;padding:.65rem;background:var(--bg-base);font-size:.83rem;font-weight:700;text-align:center}.shipmentList{display:grid;gap:.75rem;margin-top:1rem}.shipmentCard{display:grid;gap:.5rem;border:1px solid var(--border);border-radius:12px;padding:.8rem;background:#fff}.shipmentCard span{display:block;margin-top:.2rem;color:var(--text-secondary)}code{font-family:JetBrains Mono,monospace;color:var(--color-primary)}.dangerText{color:var(--color-danger)}.errorBox{margin-top:1rem;border:1px solid #fecaca;border-radius:12px;padding:.85rem 1rem;background:#fef2f2;color:#991b1b;overflow-wrap:anywhere}.modalBackdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:2rem;background:#0f172a8c}.modal{width:min(720px,100%);border-radius:22px;padding:1.5rem;background:#fff;box-shadow:var(--shadow-lg)}.modal h2{font-size:1.5rem}.confirmGrid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0}.confirmGrid div{border:1px solid var(--border);border-radius:12px;padding:.8rem}dt{color:var(--text-tertiary);font-size:.72rem;font-weight:800;text-transform:uppercase}dd{margin:.25rem 0 0;color:var(--color-primary);font-weight:800}.confirmRows{display:grid;gap:.35rem;max-height:180px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:.8rem;background:var(--bg-base)}.modalActions{justify-content:flex-end;margin-top:1.25rem}
