:root{--bg:#f4f6f9;--surface:#fff;--surface-alt:#f8fafc;--border:#dfe4ec;--text:#16202e;--text-muted:#667287;--brand:#14568c;--brand-dark:#0f4270;--brand-light:#e6f0f9;--success:#1a7f4b;--success-light:#e6f5ec;--danger:#b3261e;--danger-light:#fdeceb;--warning:#9a6700;--warning-light:#fff6e0;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #1018280f, 0 4px 12px #1018280d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px}h2{font-size:16px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.numeric{text-align:left;font-variant-numeric:tabular-nums}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#cfdcea;padding:var(--space-5) var(--space-3);gap:var(--space-5);background:#10243a;flex-direction:column;align-self:start;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:#fff;padding:0 var(--space-3);letter-spacing:.2px;font-size:18px;font-weight:700}.sidebar-brand small{color:#8fa6bf;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:500;display:block}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{justify-content:space-between;align-items:center;gap:var(--space-2);padding:10px var(--space-3);border-radius:var(--radius-sm);color:#cfdcea;font-weight:500;display:flex}.sidebar-link:hover{background:#ffffff12;text-decoration:none}.sidebar-link.active{background:var(--brand);color:#fff}.sidebar-footer{padding:var(--space-3);border-top:1px solid #ffffff1f;margin-top:auto;font-size:13px}.sidebar-user{color:#fff;font-weight:600}.sidebar-role{letter-spacing:.06em;color:#8fa6bf;text-transform:uppercase;margin-top:2px;font-size:11px;display:inline-block}.sidebar-actions{margin-top:var(--space-3);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.main{padding:var(--space-5) var(--space-6);overflow-x:auto}.nav-count{background:#ffffff29;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-subtitle{margin:var(--space-1) 0 0;color:var(--text-muted)}.page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:var(--space-5)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.card-title{font-size:15px;font-weight:650}.card-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.card-body{padding:var(--space-4)}.card-body.flush{padding:0}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.tab{padding:10px var(--space-4);font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.tab:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field-label{font-size:13px;font-weight:600}.field-hint{color:var(--text-muted);font-size:12px}.field-error{color:var(--danger);font-size:12px}.input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;color:inherit;padding:9px 11px}.input:focus{outline:2px solid var(--brand-light);border-color:var(--brand)}.input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed}.input::placeholder{color:var(--text-muted);opacity:.7;font-size:13px;font-weight:400}.password-input{display:block;position:relative}.password-input .input{padding-right:42px}.password-input .input::-ms-reveal{display:none}.password-input .input::-ms-clear{display:none}.password-toggle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text)}.password-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.filter-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.form-grid{gap:0 var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.form-actions{gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end;display:flex}.btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:9px 15px;font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-alt)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{color:var(--brand);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--brand-light)}.btn-sm{padding:5px 10px;font-size:12px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{padding:10px var(--space-3);text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.table th{background:var(--surface-alt);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:650}.table tbody tr:hover{background:var(--surface-alt)}.table tr.item-group-line>td:not([rowspan]){border-bottom-style:dashed}.table td.numeric,.table th.numeric{text-align:left;font-variant-numeric:tabular-nums}.row-actions{gap:var(--space-1);justify-content:flex-end;display:flex}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.pagination-info{color:var(--text-muted);font-size:13px}.pagination-controls{gap:var(--space-2);display:flex}.pagination-size{align-items:center;gap:var(--space-2);color:var(--text-muted);white-space:nowrap;font-size:13px;display:flex}.pagination-size select{width:auto;padding:5px 8px}.badge{letter-spacing:.03em;white-space:nowrap;color:#44506b;background:#eceff4;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.badge-created{color:#44506b;background:#eceff4}.badge-first_weight_completed{background:var(--brand-light);color:var(--brand-dark)}.badge-sales_completed{color:#5b2ea6;background:#ede4fb}.badge-loading,.badge-loaded{background:var(--warning-light);color:var(--warning)}.badge-ready_for_second_weight{color:#0d6373;background:#e0f2f6}.badge-difference_review{background:var(--danger-light);color:var(--danger)}.badge-awaiting_ticket{color:#0d6373;background:#e0f2f6}.badge-awaiting_sales_reference{color:#2743a3;background:#e8eefc}.badge-completed{background:var(--success-light);color:var(--success)}.badge-cancelled{background:var(--danger-light);color:var(--danger)}.badge-pending_direct_sales_store{background:var(--warning-light);color:var(--warning)}.badge-pending_sales_reference{color:#2743a3;background:#e8eefc}.difference{font-variant-numeric:tabular-nums;flex-direction:column;line-height:1.25;display:inline-flex}.difference em{color:var(--text-muted);font-size:11px;font-style:normal}.difference-short strong{color:var(--danger)}.difference-over strong{color:var(--warning)}.difference-exact strong{color:var(--success)}.alert{padding:11px var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);border:1px solid #0000}.alert-info{background:var(--brand-light);color:var(--brand-dark);border-color:#c5dcf0}.alert-error{background:var(--danger-light);color:var(--danger);border-color:#f4c9c6}.alert-success{background:var(--success-light);color:var(--success);border-color:#bfe3ce}.alert-warning{background:var(--warning-light);color:var(--warning);border-color:#f0dca8}.spinner{align-items:center;gap:var(--space-2);padding:var(--space-5);color:var(--text-muted);justify-content:center;display:flex}.spinner-dot{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:var(--space-6);text-align:center;color:var(--text-muted)}.empty-title{color:var(--text);margin:0 0 var(--space-1);font-weight:600}.empty-hint{margin:0;font-size:13px}.stat-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow)}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:600}.stat-value{margin-top:var(--space-1);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.stat-note{color:var(--text-muted);font-size:12px}.stat-accent-short .stat-value{color:var(--danger)}.stat-accent-over .stat-value{color:var(--warning)}.stat-accent-good .stat-value{color:var(--success)}.detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.detail-item{flex-direction:column;gap:2px;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.detail-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.detail-value.large{font-size:20px}.ticket-list,.reference-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ticket-list li,.reference-list li{align-items:baseline;gap:var(--space-2);display:flex}.reference-list li{flex-wrap:wrap}.ticket-number{min-width:9ch}.ticket-for,.reference-for{color:var(--text-muted);font-size:12px;font-weight:500}.load-passes-note{margin:var(--space-3) 0 0;font-size:13px}.load-passes{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.load-pass{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);padding:var(--space-3) var(--space-4)}.load-pass-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.load-pass-number{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:var(--brand-light);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.load-pass-title{overflow-wrap:anywhere;min-width:0;font-size:15px}.timeline{margin:0;padding:0;list-style:none}.timeline li{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:170px 1fr;display:grid}.timeline li:last-child{border-bottom:none}.timeline-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.timeline-action{font-weight:600}.timeline-meta{color:var(--text-muted);font-size:12px}.login-page{min-height:100vh;padding:var(--space-4);background:linear-gradient(160deg,#10243a 0%,#14568c 100%);place-items:center;display:grid}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:380px;padding:var(--space-6);box-shadow:0 18px 50px #06142459}.login-brand{text-align:center;margin-bottom:var(--space-5)}.login-brand h1{color:var(--brand-dark)}.login-brand p{color:var(--text-muted);margin:var(--space-1) 0 0}.modal-backdrop{padding:var(--space-4);z-index:50;background:#0b16248c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #06142466}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:24px;line-height:1}.modal-body{padding:var(--space-4)}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{align-items:center;gap:var(--space-3);padding:var(--space-3);flex-flow:wrap;height:auto;position:static;overflow-y:visible}.sidebar-nav{flex-flow:wrap;flex:1}.sidebar-footer{border-top:none;border-left:1px solid #ffffff1f;margin-top:0}.main{padding:var(--space-4)}.timeline li{grid-template-columns:1fr}}.toast{right:var(--space-5);bottom:var(--space-5);z-index:60;min-width:260px;max-width:360px;padding:var(--space-3) var(--space-5) var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--radius);animation:.18s ease-out toast-in;position:fixed;box-shadow:0 12px 32px #1018282e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-title{font-size:14px;font-weight:700}.toast-body{color:var(--text-muted);margin-top:2px;font-size:13px}.toast-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.limit-flag{background:var(--danger-light);color:var(--danger);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.limit-flag:before{content:"⚠";font-size:12px;line-height:1}.item-status{color:#44506b;background:#eceff4;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.item-status-weighed{background:var(--success-light);color:var(--success)}.item-status-pending{background:var(--warning-light);color:var(--warning)}.item-status-review{background:var(--danger-light,#fdecea);color:var(--danger,#b3261e)}.audit-metadata{background:var(--surface-muted,#f4f6fa);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-width:460px;max-height:260px;margin:8px 0 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}
