:root{--bg:#f5f7fb;--panel:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--primary:#0b3b82;--primary-2:#0a2f66;--danger:#b91c1c;--shadow:0 10px 25px #0f172a14;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.app-shell{grid-template-columns:280px 1fr;min-height:100svh;display:grid}.app-sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:18px;padding:18px;display:flex}.brand{border:1px solid var(--border);background:#fbfdff;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.brand-mark{border:1px solid var(--border);background:#fff;border-radius:10px;place-items:center;width:44px;height:44px;padding:6px;display:grid;overflow:hidden}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-title{font-weight:700}.brand-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.nav{flex-direction:column;gap:8px;display:flex}.nav-link{color:#1f2937;border:1px solid #0000;border-radius:10px;padding:10px 12px;text-decoration:none}.nav-link:hover{background:#f1f5f9}.nav-link.active{color:var(--primary-2);background:#0b3b8214;border-color:#0b3b8240;font-weight:600}.sidebar-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.user-chip{border:1px solid var(--border);background:#fbfdff;border-radius:12px;padding:10px 12px}.user-chip-label{color:var(--muted);font-size:12px}.user-chip-value{margin-top:4px;font-weight:600}.app-main{padding:24px}.page{flex-direction:column;gap:16px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.page-title{font-size:24px;font-weight:800}.page-subtitle{color:var(--muted);margin-top:4px}.card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:16px}.card-title{margin-bottom:12px;font-weight:700}.card-subsection{margin-top:14px}.card-subtitle{margin-bottom:10px;font-size:14px;font-weight:700}.order-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.order-meta-item{border:1px solid var(--border);background:#fbfdff;border-radius:12px;padding:12px}.order-meta-label{color:var(--muted);font-size:12px;font-weight:600}.order-meta-value{margin-top:6px;font-size:15px;font-weight:700}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:16px}.stat-label{color:var(--muted);font-size:13px;font-weight:600}.stat-value{letter-spacing:-.6px;margin-top:8px;font-size:36px;font-weight:900}.stat-meta{color:var(--muted);margin-top:6px}.stat-warn{background:#f59e0b0f;border-color:#f59e0b59}.stat-ok{background:#22c55e0f;border-color:#22c55e59}.form{flex-direction:column;gap:12px;display:flex}.field{text-align:left;flex-direction:column;gap:6px;display:flex}.label{color:#334155;font-size:13px;font-weight:600}.input{border:1px solid var(--border);background:#fff;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px}.input:focus{border-color:#0b3b8266;box-shadow:0 0 0 3px #0b3b821f}.textarea{resize:vertical}.form-error{color:#7f1d1d;background:#b91c1c14;border:1px solid #b91c1c40;border-radius:10px;padding:10px 12px;font-size:14px}.button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;padding:10px 12px;font-weight:600}.button:disabled{opacity:.65;cursor:not-allowed}.button-primary{background:var(--primary);color:#fff;border-color:#0000}.button-primary:hover{background:var(--primary-2)}.button-secondary{background:#f8fafc}.button-danger{color:#7f1d1d;background:#b91c1c14;border-color:#b91c1c40}.button-sm{border-radius:9px;padding:7px 10px;font-size:13px}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.field-full{grid-column:1/-1}.actions{justify-content:flex-start;gap:10px;display:flex}.section-note{margin-bottom:14px}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:700}.tab:hover{background:#f8fafc}.tab.active{color:var(--primary-2);background:#0b3b8214;border-color:#0b3b8240}.tab.disabled,.tab:disabled{opacity:.5;cursor:not-allowed;color:var(--muted);background:#f8fafc}.tab-panel{flex-direction:column;gap:14px;display:flex}.ocr-progress{align-self:center;font-size:12px;font-weight:600}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.upload-card{background:#f8fbff;border:1px dashed #cbd5e1;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.upload-card-title{font-weight:700}.upload-card-text{font-size:13px}.upload-actions{flex-wrap:wrap;gap:8px;display:flex}.upload-button{position:relative;overflow:hidden}.hidden-input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-meta{flex-wrap:wrap;gap:8px;display:flex}.file-pill{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;align-items:center;min-height:32px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.file-pill-small{min-height:26px;padding:4px 8px}.upload-preview{object-fit:cover;border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;max-height:220px}.mini-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px;display:grid}.mini-stat{border:1px solid var(--border);background:#fbfdff;border-radius:12px;padding:12px}.mini-stat-label{color:var(--muted);font-size:12px;font-weight:600}.mini-stat-value{margin-top:6px;font-size:24px;font-weight:800}.inline-table-title{margin-bottom:10px;font-weight:700}.table-wrap{width:100%;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{border-top:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 10px}.table th{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);border-top:none;font-size:12px}.th-actions,.td-actions{text-align:right;white-space:nowrap}.td-actions{justify-content:flex-end;gap:8px;display:flex}.td-actions-center{justify-content:center}.actions-stack{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}.shipment-card{margin-top:12px}.consignment-summary{margin-bottom:14px}.consignment-note,.invoice-list-card{margin-top:14px}.table-compact th,.table-compact td{padding-top:10px;padding-bottom:10px}.attachment-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.badge{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-warn{color:#92400e;background:#f59e0b1f;border-color:#f59e0b59}.badge-ok{color:#166534;background:#22c55e1f;border-color:#22c55e59}.modal-backdrop{z-index:50;background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);width:min(1000px,100%);max-height:calc(100svh - 40px);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:18px;overflow:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.modal-actions{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.toast-container{z-index:1000;flex-direction:column;gap:12px;width:100%;max-width:400px;display:flex;position:fixed;top:24px;right:24px}.toast{border-radius:12px;align-items:center;gap:12px;padding:18px 18px 14px;animation:.3s ease-out slideInFromTop;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000026}.toast-progress{background:#0000001a;height:4px;transition:width 50ms linear;position:absolute;top:0;left:0}.toast-success .toast-progress{background:#16a34a}.toast-error .toast-progress{background:#dc2626}.toast-warning .toast-progress{background:#f59e0b}.toast-info .toast-progress{background:#2563eb}.toast-success{color:#166534;background:#f0fdf4;border-left:4px solid #16a34a}.toast-error{color:#991b1b;background:#fef2f2;border-left:4px solid #dc2626}.toast-warning{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b}.toast-info{color:#1e40af;background:#eff6ff;border-left:4px solid #2563eb}.toast-close{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:20px;line-height:1;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-bg{background:radial-gradient(1000px 600px at 60% 20%, #e7f0ff, transparent), radial-gradient(800px 480px at 20% 30%, #f1e9ff, transparent), var(--bg);place-items:center;min-height:100svh;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--border);width:420px;max-width:100%;box-shadow:var(--shadow);border-radius:16px;padding:18px}.login-header{text-align:center;padding:10px 6px 6px}.login-logo{border:1px solid var(--border);background:#fff;border-radius:20px;place-items:center;width:104px;height:104px;margin:0 auto 14px;padding:14px;display:inline-grid}.login-logo-img{object-fit:contain;width:100%;height:100%;display:block}.login-title{font-size:18px;font-weight:800}.login-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.login-footnote{color:var(--muted);text-align:center;margin-top:14px;font-size:12px}@media (width<=920px){.app-shell{grid-template-columns:1fr}.app-sidebar{z-index:10;position:sticky;top:0}.grid-3,.grid-4,.grid-form,.upload-grid,.mini-stats,.order-meta{grid-template-columns:1fr}.modal-header,.modal-actions{flex-direction:column}}
