:root{--page-bg:#f3f6fb;--panel-bg:#fff;--text:#111827;--label:#1f2937;--muted:#64748b;--border:#d8dee9;--input-bg:#fff;--input-border:#b8c2d2;--primary:#2563eb;color:var(--text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html{overscroll-behavior:none;touch-action:manipulation;width:100%;min-height:100%}body{overscroll-behavior:none;min-width:320px;min-height:100%;margin:0;overflow-x:hidden}button,input,select{font:inherit}input,textarea{-webkit-user-select:text;user-select:text}button,a,select{touch-action:manipulation}img,svg{-webkit-user-drag:none;user-drag:none}h1{color:var(--text);letter-spacing:0;margin:0;font-size:26px;line-height:1.15}#root{min-height:100svh}.receipt-success-celebration{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#0f172a33;place-items:center;animation:2.8s both success-layer;display:grid;position:fixed;inset:0;overflow:hidden}.success-badge{color:#166534;text-align:center;background:#f0fdf4f7;border:1px solid #bbf7d0;border-radius:22px;flex-direction:column;align-items:center;gap:8px;width:min(360px,100vw - 40px);padding:30px 24px;animation:2.8s cubic-bezier(.2,.8,.2,1) both success-pop;display:flex;box-shadow:0 28px 70px #0f172a3d}.success-badge svg{box-sizing:content-box;color:#fff;background:#22c55e;border-radius:50%;padding:13px;display:grid;box-shadow:0 0 0 9px #22c55e21}.success-badge strong{color:#14532d;margin-top:7px;font-size:21px}.success-badge span{color:#4b7560;font-size:13px}.confetti{position:absolute;inset:0}.confetti i{--angle:calc(var(--i) * 15deg);opacity:0;width:9px;height:16px;animation:confetti-burst 1.45s cubic-bezier(.15,.7,.25,1) calc(var(--i) * 8ms) both;background:#2563eb;border-radius:2px;position:absolute;top:48%;left:50%}.confetti i:nth-child(4n+1){background:#22c55e}.confetti i:nth-child(4n+2){background:#f59e0b}.confetti i:nth-child(4n+3){background:#ec4899}@keyframes confetti-burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) rotate(0)}72%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-48vh) rotate(540deg)}}@keyframes success-pop{0%{opacity:0;transform:scale(.72)translateY(20px)}12%,82%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.94)translateY(-8px)}}@keyframes success-layer{0%,85%{opacity:1}to{opacity:0}}.login-shell{background:radial-gradient(circle at 15% 10%,#2563eb24,#0000 32%),radial-gradient(circle at 88% 88%,#14b8a61f,#0000 28%),linear-gradient(145deg,#eef3fb 0%,#f8fafc 48%,#edf5f4 100%);place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{content:"";pointer-events:none;border:1px solid #2563eb17;border-radius:50%;position:absolute}.login-shell:before{width:420px;height:420px;top:-250px;right:-110px}.login-shell:after{width:300px;height:300px;bottom:-210px;left:-90px}.login-panel{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #ffffffe0;border-radius:22px;flex-direction:column;gap:22px;width:min(100%,460px);padding:28px;display:flex;position:relative;box-shadow:0 28px 80px #1e293b24,0 2px 8px #1e293b0d}.brand-row{align-items:center;gap:14px;display:flex}.login-brand-copy{line-height:1;display:grid}.login-brand-copy strong{color:#0f172a;letter-spacing:-.8px;font-size:22px;font-weight:900}.login-brand-copy strong span{color:#2563eb}.login-brand-copy small{color:#64748b;letter-spacing:1.6px;text-transform:uppercase;margin-top:5px;font-size:9px;font-weight:800}.terminal-badge{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;margin-left:auto;padding:6px 9px;font-size:10px;font-weight:800}.login-intro h1{color:#0f172a;letter-spacing:-1.1px;margin:4px 0 7px;font-size:30px}.login-intro>span{color:#64748b;max-width:360px;font-size:13px;line-height:1.55;display:block}.login-motion{background:linear-gradient(#f8fbff,#f1f6fc);border:1px solid #e5edf8;border-radius:15px;grid-template-columns:66px 1fr 66px;align-items:end;height:92px;padding:13px 15px 23px;display:grid;position:relative;overflow:hidden}.motion-rack{border:2px solid #b8c7dc;border-bottom-width:4px;border-radius:5px 5px 2px 2px;grid-template-columns:repeat(3,1fr);gap:4px;padding:5px;display:grid}.motion-rack i{background:linear-gradient(145deg,#dbeafe,#bfdbfe);border-radius:3px;height:31px;animation:2.6s ease-in-out infinite rack-pulse;box-shadow:inset 0 -5px #2563eb14}.motion-rack.right i{background:linear-gradient(145deg,#ccfbf1,#99f6e4);animation-delay:.6s}.motion-lane{border-bottom:3px solid #94a3b8;height:32px;margin:0 7px 2px;position:relative;overflow:hidden}.motion-lane:after{content:"";background:repeating-linear-gradient(90deg,#cbd5e1 0 9px,#0000 9px 16px);height:2px;animation:1s linear infinite conveyor;position:absolute;bottom:3px;left:0;right:0}.motion-package{z-index:2;color:#fff;background:linear-gradient(145deg,#3978f7,#2563eb);border-radius:6px;place-items:center;width:28px;height:26px;animation:4s ease-in-out infinite package-move;display:grid;position:absolute;bottom:6px;box-shadow:0 6px 12px #2563eb40}.scan-beam{z-index:3;background:#22c55e;width:2px;animation:2.1s ease-in-out infinite alternate scan-move;position:absolute;top:0;bottom:3px;box-shadow:0 0 9px 3px #22c55e4d}.login-motion>small{color:#64748b;letter-spacing:.35px;text-transform:uppercase;align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex;position:absolute;bottom:6px;right:13px}.login-motion>small span{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite live-pulse;box-shadow:0 0 0 4px #22c55e1f}@keyframes package-move{0%,8%{left:0;transform:rotate(-2deg)}48%,58%{left:calc(50% - 14px);transform:rotate(1deg)}92%,to{left:calc(100% - 28px);transform:rotate(-1deg)}}@keyframes scan-move{0%{left:18%}to{left:82%}}@keyframes conveyor{to{background-position:16px 0}}@keyframes rack-pulse{50%{filter:brightness(1.06);transform:translateY(-1px)}}@keyframes live-pulse{50%{opacity:.45;transform:scale(.8)}}.brand-mark{color:#fff;background:linear-gradient(145deg,#3978f7,#1bc4c9);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:grid;box-shadow:0 8px 20px #2764eb38}.brand-mark svg{stroke-width:2.2px}.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:13px;font-weight:700}.login-form{flex-direction:column;gap:15px;display:flex}.login-form label{color:var(--label);flex-direction:column;gap:8px;font-size:12px;font-weight:800;display:flex}.login-form input,.login-form select{box-sizing:border-box;border:1px solid var(--input-border);width:100%;min-height:52px;color:var(--text);font:inherit;background:#f8fafc;border-radius:11px;padding:0 14px}.login-form input:focus,.login-form select:focus{border-color:var(--primary);outline:4px solid #2563eb1c}.login-button{color:#fff;min-height:52px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3978f7);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:17px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 10px 24px #2563eb3d}.login-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #2563eb4d}.login-button:active{transform:translateY(1px)}.login-button:disabled{cursor:wait;opacity:.65}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0;padding:10px 12px;font-size:14px;font-weight:700}.login-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;flex-direction:column;gap:6px;padding:16px;display:flex}.login-success strong{font-size:18px}.login-success span{font-size:14px;font-weight:700}.rf-shell{background:var(--page-bg);min-height:100svh;padding:0 20px 32px}.rf-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;max-width:1440px;min-height:82px;margin:0 auto;display:flex}.rf-brand,.user-area,.warehouse-bar,.module-card-head,.section-heading{align-items:center;display:flex}.rf-brand{gap:12px}.rf-brand .brand-mark{width:42px;height:42px;font-size:21px}.rf-brand h1{font-size:21px}.user-area{gap:12px}.user-copy{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.user-copy strong{font-size:14px}.user-copy span{color:var(--muted);font-size:11px;font-weight:800}.icon-button{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.warehouse-bar{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;gap:12px;max-width:1440px;margin:20px auto 0;padding:14px 16px}.warehouse-icon{color:#fff;background:var(--primary);border-radius:8px;flex:none;place-items:center;width:42px;height:42px;display:grid}.warehouse-bar label{color:#1e3a8a;flex-direction:column;flex:1;gap:2px;font-size:14px;font-weight:800;display:flex}.warehouse-bar label span{color:#64748b;font-size:12px;font-weight:500}.warehouse-bar select{color:#172554;background:#fff;border:1px solid #93c5fd;border-radius:7px;min-width:220px;min-height:44px;padding:0 12px;font-weight:800}.modules-section{max-width:1440px;margin:26px auto 0}.section-heading{justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2{margin:0;font-size:22px}.module-count{color:#475569;background:#e2e8f0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.module-card{border:1px solid var(--border);border-top:4px solid var(--accent);text-align:left;cursor:pointer;background:#fff;border-radius:10px;width:100%;transition:transform .14s,box-shadow .14s;overflow:hidden;box-shadow:0 5px 16px #0f172a0d}.module-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a1a}.module-card:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.module-card-head{justify-content:space-between;padding:14px 16px 8px}.module-icon{width:43px;height:43px;color:var(--accent);background:var(--accent-soft);border-radius:9px;place-items:center;display:grid}.module-number{color:#94a3b8;letter-spacing:.08em;font-size:10px;font-weight:900}.module-card h3{margin:0;padding:0 16px 12px;font-size:18px}.module-open{color:#64748b;border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:11px 16px;font-size:12px;font-weight:800;display:flex}.module-open svg{color:var(--accent)}.module-card ul{border-top:1px solid #eef2f7;margin:0;padding:0;list-style:none}.module-card li{color:#475569;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:7px 14px 7px 16px;font-size:13px;font-weight:650;display:flex}.module-card li:last-child{border-bottom:0}.module-card li svg{color:#cbd5e1;flex:none}.tone-blue{--accent:#2563eb;--accent-soft:#eff6ff}.tone-orange{--accent:#ea580c;--accent-soft:#fff7ed}.tone-violet{--accent:#7c3aed;--accent-soft:#f5f3ff}.tone-emerald{--accent:#059669;--accent-soft:#ecfdf5}.tone-cyan{--accent:#0891b2;--accent-soft:#ecfeff}.tone-slate{--accent:#475569;--accent-soft:#f1f5f9}.tone-indigo{--accent:#4f46e5;--accent-soft:#eef2ff}.tone-rose{--accent:#e11d48;--accent-soft:#fff1f2}.tone-amber{--accent:#d97706;--accent-soft:#fffbeb}.tone-teal{--accent:#0f766e;--accent-soft:#f0fdfa}.empty-state{color:#64748b;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;display:flex}.empty-state strong{color:#334155}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.module-modal{background:#fff;border-radius:12px;width:min(100%,520px);max-height:min(82svh,720px);overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.modal-header{border-top:5px solid var(--accent);border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px;display:grid}.modal-header h2{margin:0;font-size:21px}.modal-close{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.modal-actions{gap:9px;max-height:calc(min(82svh,720px) - 102px);padding:14px;display:grid;overflow-y:auto}.modal-actions button{color:#1e293b;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 14px;font-size:15px;font-weight:750;display:flex}.modal-actions button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.modal-actions button svg{color:var(--accent);flex:none}.terminal-status{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:12px;padding-top:12px;font-size:13px;font-weight:700;display:flex}.connection-heading{justify-content:space-between;align-items:center;margin-bottom:-13px;display:flex}.connection-heading span{color:#334155;text-transform:uppercase;letter-spacing:.7px;font-size:11px;font-weight:800}.connection-heading small{color:#94a3b8;font-size:10px}.connection-status{border-top:0;grid-template-columns:1fr 1fr;gap:10px;padding-top:0;display:grid}.connection-item{background:#f8fafc;border:1px solid #e7edf5;border-radius:11px;align-items:center;gap:9px;min-width:0;padding:11px 12px;display:flex}.connection-item>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.connection-item strong{color:#334155;font-size:12px}.connection-item small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.status-dot{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 3px #94a3b82e}.status-online{background:#22c55e;box-shadow:0 0 0 3px #22c55e29}.status-offline{background:#ef4444;box-shadow:0 0 0 3px #ef444424}.status-checking{background:#94a3b8;animation:1.2s ease-in-out infinite status-pulse}.program-shell{background:var(--page-bg);min-height:100svh;padding:20px}.program-header,.program-card{width:min(100%,720px);margin-inline:auto}.program-header{align-items:center;gap:13px;margin-bottom:16px;display:flex}.program-header h1{font-size:22px}.program-card{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 28px #0f172a12}.program-card-title{border-bottom:1px solid var(--border);color:var(--primary);background:#eff6ff;align-items:center;gap:12px;padding:18px;display:flex}.program-card-title div{flex-direction:column;gap:2px;display:flex}.program-card-title strong{color:#1e3a8a;font-size:17px}.program-card-title span{color:#64748b;font-size:12px}.receipt-form{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;display:grid}.receipt-form label{min-width:0;color:var(--label);flex-direction:column;gap:7px;font-size:14px;font-weight:750;display:flex}.receipt-form input{box-sizing:border-box;border:1px solid var(--input-border);width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--text);background:#fff;border-radius:7px;padding:0 12px}.receipt-form input[type=date]{appearance:none;inline-size:100%;min-inline-size:0;display:block}.receipt-form input:focus{border-color:var(--primary);outline:3px solid #2563eb26}.receipt-form input:disabled{color:#64748b;background:#f1f5f9}.receipt-form small{color:#64748b;font-size:11px;font-weight:500}.lookup-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.lookup-input-row.barcode-input-row{grid-template-columns:minmax(0,1fr) auto auto}.barcode-settings-trigger{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:7px;place-items:center;width:48px;min-height:48px;display:grid}.barcode-settings-card{background:#fff;border-radius:14px;width:min(100%,520px);overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.barcode-settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.barcode-settings-header h2{margin:2px 0 0;font-size:21px}.barcode-settings-header small{color:#64748b;font-weight:750}.barcode-settings-header button{border:1px solid var(--border);background:#fff;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.barcode-setting-list{gap:12px;padding:18px;display:grid}.barcode-setting-list>label:not(.setting-toggle){color:#334155;gap:8px;font-size:13px;font-weight:800;display:grid}.barcode-setting-list input[type=text]{border:1px solid var(--input-border);background:#f8fafc;border-radius:8px;min-width:0;min-height:46px;padding:0 12px}.setting-toggle{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.setting-toggle span{gap:4px;display:grid}.setting-toggle strong{color:#1e293b;font-size:14px}.setting-toggle small{color:#64748b;font-size:11px;font-weight:500}.setting-toggle input{accent-color:#2563eb;flex:none;width:20px;height:20px}.lookup-input-row input{min-width:0}.lookup-button{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:48px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.lookup-button:hover,.lookup-button[aria-expanded=true]{color:#fff;background:#2563eb}.program-header-actions{gap:8px;margin-left:auto;display:flex}.qr-button,.clear-button,.pending-button{color:#fff;cursor:pointer;border:0;border-radius:9px;place-items:center;width:48px;height:48px;display:grid}.qr-button{background:#16a34a}.clear-button{color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.pending-button{color:#fff;background:#f59e0b}.lookup-modal,.qr-modal{background:#fff;border-radius:12px;width:min(100%,560px);max-height:min(86svh,760px);overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.lookup-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:14px 16px;display:flex}.lookup-modal-header h2{margin:0;font-size:20px}.lookup-modal-header>button{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.lookup-search{color:#64748b;background:#fff;border:1px solid #93c5fd;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:12px;padding:0 12px;display:grid}.lookup-search input{border:0;outline:0;min-height:48px}.lookup-results{gap:6px;max-height:calc(min(86svh,760px) - 142px);padding:0 12px 14px;display:grid;overflow-y:auto}.lookup-results>button{color:#334155;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(90px,auto) 1fr auto;align-items:center;gap:10px;min-height:57px;padding:9px 11px;display:grid}.lookup-results>button:hover{background:#f0fdf4;border-color:#86efac}.lookup-results strong{color:#166534}.lookup-results span{font-size:12px;font-weight:600}.lookup-select{color:#16a34a}.lookup-empty{color:#64748b;text-align:center;padding:30px 14px;font-size:13px;font-weight:650}.qr-form{color:#166534;flex-direction:column;align-items:center;gap:13px;padding:22px;display:flex}.qr-form p{color:#475569;text-align:center;margin:0;font-weight:700}.qr-form input{border:2px solid #86efac;border-radius:8px;width:100%;min-height:52px;padding:0 12px}.qr-form .save-button{width:100%}.qr-error{color:#b91c1c;font-size:13px;font-weight:700}.receipt-message{color:#1e3a8a;background:#eff6ff;border-radius:7px;grid-column:1/-1;margin:0;padding:11px 12px;font-size:13px;font-weight:700}.save-button{color:#fff;cursor:pointer;background:#16a34a;border:0;border-radius:7px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;min-height:50px;font-weight:800;display:flex}.save-button:hover:not(:disabled){background:#15803d}.save-button:disabled{cursor:wait;opacity:.65}.receipt-lines-screen{min-height:100svh;padding-bottom:92px}.scan-panel{border:1px solid var(--border);background:#fff;border-radius:10px;gap:10px;padding:14px;display:grid}.scan-form input{border:2px solid #60a5fa;border-radius:8px;width:100%;min-width:0;min-height:52px;padding:0 13px;font-size:16px;font-weight:700}.receipt-summary{color:#64748b;justify-content:space-between;gap:12px;font-size:12px;display:flex}.receipt-summary strong{color:#1e3a8a}.scanned-lines{gap:8px;margin-top:12px;display:grid}.swipe-line{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;background:#dc2626;border-radius:9px;position:relative;overflow:hidden}.swipe-line:active{cursor:grabbing}.scanned-lines .swipe-line article{z-index:2;background:#fff;border:1px solid #dbeafe;border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;transition:transform .18s;display:grid;position:relative}.line-progress{z-index:0;background:#dcfce7;max-width:100%;transition:width .24s;position:absolute;inset:0 auto 0 0}.scanned-lines .swipe-line article>:not(.line-progress){z-index:1;position:relative}.swipe-line.is-swiped-left article{transform:translate(-86px)}.swipe-line.is-swiped-right article{transform:translate(86px)}.swipe-delete,.swipe-info{z-index:1;color:#fff;background:#dc2626;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:86px;font-weight:800;display:flex;position:absolute;top:0;bottom:0;right:0}.swipe-info{background:#2563eb;left:0;right:auto}.stock-info-modal{background:#fff;border-radius:18px;width:min(520px,100vw - 28px);max-height:min(760px,100vh - 32px);overflow:auto;box-shadow:0 24px 70px #0f172a47}.stock-info-content{gap:14px;padding:16px;display:grid}.stock-info-identity{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;border-radius:14px;align-items:center;gap:13px;padding:15px;display:flex}.stock-info-icon{color:#fff;background:#2563eb;border-radius:13px;flex:0 0 48px;place-items:center;height:48px;display:grid}.stock-info-identity>div:last-child{gap:3px;min-width:0;display:grid}.stock-info-identity strong{color:#1e3a8a;font-size:18px}.stock-info-identity span{color:#1e293b;font-weight:700}.stock-info-identity small{color:#64748b}.stock-info-value{white-space:pre-line;color:#334155;background:#f0fdf4;border-left:4px solid #22c55e;border-radius:9px;padding:13px 15px}.stock-info-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.stock-info-actions button{text-align:left;color:#1e40af;background:#fff;border:1px solid #dbeafe;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:10px 12px;font-weight:750;display:grid}.stock-info-actions button:active{background:#eff6ff}.stock-info-screen{padding-bottom:24px}.stock-info-search{color:#2563eb;background:#fff;border:1px solid #bfdbfe;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;margin:14px;padding:10px 10px 10px 14px;display:grid;box-shadow:0 8px 25px #2563eb14}.stock-info-search input{min-width:0;font:inherit;border:0;outline:0}.stock-info-search button{color:#fff;background:#2563eb;border:0;border-radius:9px;padding:11px 14px;font-weight:800}.stock-info-screen>.stock-info-content{margin:0 14px;padding:0}.stock-info-empty{color:#94a3b8;text-align:center;justify-items:center;gap:8px;margin:70px 20px;display:grid}.stock-info-empty strong{color:#334155;font-size:18px}@media (width<=420px){.stock-info-actions{grid-template-columns:1fr}}.scanned-lines article>div{flex-direction:column;gap:3px;min-width:0;display:flex}.scanned-lines article strong{color:#1e40af}.scanned-lines article span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.line-quantity{white-space:nowrap;color:#0f172a!important}.line-edit{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:0 10px;font-weight:750;display:flex}.line-message{margin-top:12px}.receipt-actions{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #cbd5e1;grid-template-columns:1fr 1.15fr 1fr;gap:10px;padding:12px max(12px,50vw - 410px);display:grid;position:fixed;bottom:0;left:0;right:0}.receipt-actions button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:52px;font-weight:800;display:flex}.back-action{color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.complete-action{color:#fff;background:#16a34a;border:0}.order-detail-action{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.order-detail-modal{background:#fff;border-radius:12px;width:min(100%,680px);max-height:min(90svh,820px);overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.quantity-modal{background:#fff;border-radius:12px;width:min(100%,480px);overflow:hidden;box-shadow:0 24px 70px #0f172a4d}.quantity-form{gap:15px;padding:16px;display:grid}.stock-information{color:#64748b;background:#f8fafc;border-radius:8px;gap:5px;padding:12px;font-size:12px;display:grid}.stock-information strong{color:#1e40af;font-size:16px}.quantity-summary{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.quantity-summary>div{border:1px solid #dbeafe;border-radius:8px;padding:10px}.quantity-summary dt{color:#64748b;font-size:11px}.quantity-summary dd{color:#15803d;margin:3px 0 0;font-size:20px;font-weight:850}.quantity-form label{color:#334155;gap:7px;font-size:13px;font-weight:750;display:grid}.quantity-form input{border:2px solid #60a5fa;border-radius:8px;width:100%;min-height:52px;padding:0 12px;font-size:18px;font-weight:800}.uom-info{color:#334155;white-space:pre-line;background:#eff6ff;border-left:4px solid #2563eb;border-radius:7px;padding:11px 12px;font-size:13px;font-weight:650;line-height:1.5}.order-detail-list{gap:9px;max-height:calc(min(90svh,820px) - 70px);padding:12px;display:grid;overflow-y:auto}.order-detail-list article{background:#f8fafc;border:1px solid #dbeafe;border-radius:9px;gap:8px;padding:11px;display:grid}.order-detail-heading,.order-detail-stock{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-detail-heading strong,.order-detail-stock strong{color:#1e40af}.order-detail-heading span,.order-detail-stock span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.order-detail-list dl{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.order-detail-list dl>div{background:#fff;border-radius:6px;flex-direction:column;gap:2px;padding:7px;display:flex}.order-detail-list dt{color:#64748b;font-size:10px}.order-detail-list dd{color:#0f172a;margin:0;font-weight:850}.order-detail-list dl>div:last-child dd{color:#15803d}.complete-action:disabled{cursor:not-allowed;opacity:.55}@keyframes status-pulse{50%{opacity:.4}}@media (width<=430px){.login-shell{align-items:stretch;padding:0}.login-panel{width:100%;min-height:100svh;box-shadow:none;border:0;border-radius:0;justify-content:flex-start;gap:17px;padding:22px 20px;overflow-y:auto}.login-motion{height:78px;padding-top:8px}.motion-rack i{height:25px}.connection-status{grid-template-columns:1fr}.program-shell{padding:12px 10px}.receipt-form{grid-template-columns:1fr;padding:15px}.receipt-message,.save-button{grid-column:auto}.lookup-modal,.qr-modal{border-radius:14px 14px 0 0;width:100%;max-height:90svh}.lookup-results>button{grid-template-columns:1fr auto}.lookup-results>button>span:not(.lookup-select){grid-area:2/1/auto/-1}.rf-shell{padding:0 10px 20px}.rf-header{min-height:68px}.rf-brand h1,.user-copy{display:none}.warehouse-bar{flex-wrap:wrap;align-items:stretch;margin-top:12px}.warehouse-bar label{justify-content:center}.warehouse-bar select{width:100%}.module-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.module-modal{border-radius:14px 14px 0 0;width:100%;max-height:88svh}}@media (width>=431px) and (width<=980px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.allocation-modal{background:var(--panel-bg);border-radius:14px;width:min(920px,100vw - 28px);max-height:90svh;overflow:auto;box-shadow:0 24px 70px #0f172a47}.allocation-help{color:var(--muted);margin:0;padding:0 20px 14px}.allocation-stock-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:0 20px 13px;padding:14px;display:flex}.allocation-stock-summary span{flex-direction:column;gap:3px;min-width:0;display:flex}.allocation-stock-summary strong{color:#1d4ed8}.allocation-stock-summary small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.allocation-stock-summary b{color:#0f172a;flex:none}.allocation-quantity-list{flex-direction:column;gap:9px;padding:0 20px;display:flex}.allocation-quantity-list label{border:1px solid var(--border);background:var(--input-bg);border-radius:11px;grid-template-columns:auto minmax(0,1fr) 92px;align-items:center;gap:11px;min-height:68px;padding:10px 12px;transition:border-color .18s,background .18s;display:grid}.allocation-quantity-list label.is-selected{background:#f0fdf4e6;border-color:#86efac}.allocation-quantity-list input[type=checkbox]{accent-color:#22c55e;width:20px;height:20px}.allocation-quantity-list span{flex-direction:column;gap:4px;min-width:0;display:flex}.allocation-quantity-list span strong{color:var(--text);font-size:13px}.allocation-quantity-list span small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.allocation-quantity-list input[type=text]{box-sizing:border-box;color:#0f172a;width:100%;min-width:0;height:42px;font:inherit;text-align:center;background:#fff;border:1px solid #93c5fd;border-radius:8px;font-size:16px;font-weight:800}.allocation-quantity-list input[type=text]:disabled{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.allocation-total{color:#b45309;background:#fffbeb;border-radius:9px;justify-content:space-between;align-items:center;margin:14px 20px 0;padding:11px 13px;font-size:13px;display:flex}.allocation-total.is-complete{color:#166534;background:#f0fdf4}.allocation-actions .save-button:disabled{cursor:not-allowed;opacity:.45}.allocation-columns{grid-template-columns:1fr 1fr;gap:16px;padding:0 20px;display:grid}.allocation-columns section{flex-direction:column;gap:8px;display:flex}.allocation-columns h3{color:var(--muted);margin:0 0 4px;font-size:14px}.allocation-line,.allocation-order{border:1px solid var(--border);min-height:64px;color:var(--text);background:var(--input-bg);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .18s,box-shadow .18s,transform .18s,background .28s;display:flex}.allocation-line{touch-action:none}.allocation-line span,.allocation-order span{flex-direction:column;gap:3px;min-width:0;display:flex}.allocation-line small,.allocation-order small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.allocation-order small.allocation-date{color:#64748b;font-size:11px;font-weight:700}.allocation-line b,.allocation-order b{color:var(--primary);flex:none}.allocation-line.is-selected{border-color:var(--primary);outline:3px solid #2563eb24}.allocation-order.is-drag-over{border-color:#22c55e;outline:3px solid #22c55e2e;transform:scale(1.015);box-shadow:0 8px 22px #22c55e2e}.allocation-drag-preview{z-index:90;color:#14532d;pointer-events:none;background:#f0fdf4f5;border:1px solid #86efac;border-radius:11px;align-items:center;gap:9px;min-width:150px;padding:10px 13px;animation:.16s ease-out allocation-drag-lift;display:flex;position:fixed;transform:translate(-50%,-115%)rotate(-1deg)scale(1.03);box-shadow:0 16px 34px #0f172a3d}.allocation-drag-preview span{text-align:left;flex-direction:column;display:flex}.allocation-drag-preview small{color:#15803d;font-size:11px}@keyframes allocation-drag-lift{0%{opacity:.35;transform:translate(-50%,-85%)scale(.92)}to{opacity:1;transform:translate(-50%,-115%)rotate(-1deg)scale(1.03)}}.allocation-results{flex-direction:column;gap:6px;padding:16px 20px 0;display:flex}.allocation-results div{background:#2563eb14;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.allocation-results button,.allocation-actions>button:first-child{color:#b91c1c;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.allocation-actions{justify-content:flex-end;gap:12px;padding:18px 20px 20px;display:flex}.allocation-actions .save-button{width:auto;min-width:190px;margin:0;padding:0 18px}@media (width<=680px){.allocation-columns{grid-template-columns:1fr}.allocation-actions{flex-direction:column-reverse}.allocation-actions .save-button{width:100%}.allocation-quantity-list label{grid-template-columns:auto minmax(0,1fr) 76px}}.serial-input-wrap{color:#2c62d6;background:#fff;border:2px solid #79a2ff;border-radius:10px;align-items:center;gap:10px;height:52px;padding:0 13px;display:flex}.serial-input-wrap:focus-within{border-color:#2764eb;box-shadow:0 0 0 3px #2764eb1f}.serial-input-wrap input{outline:0;flex:1;min-width:0;height:46px;font-size:16px;font-weight:700;box-shadow:none!important;border:0!important;padding:0!important}.serial-scan-modal .stock-information{border-left:3px solid #2764eb}
