:root{--bg-primary: #f5f5f0;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f8f8f5;--bg-input: #ffffff;--header-bg: #7a8b6f;--header-text: #ffffff;--accent-green: #6b8f5e;--accent-green-dark: #4a6741;--accent-red: #d94444;--accent-yellow: #e6a800;--accent-cyan: #4a90a4;--text-primary: #1a1a1a;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: #e5e5e0;--border-focus: #7a8b6f;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--shadow-glow-green: 0 0 12px rgba(107, 143, 94, .2);--radius: 10px;--radius-sm: 6px;--radius-lg: 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--header-bg);flex-shrink:0}.app-header__logo{display:flex;align-items:center;gap:8px}.app-header__logo-icon{width:32px;height:32px;background:#fff3;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px}.app-header__title{font-size:16px;font-weight:700;color:var(--header-text);letter-spacing:-.3px}.app-header__title span{opacity:.85}.app-header__user{display:flex;align-items:center;gap:10px}.app-header__warehouse{font-size:11px;color:#ffffffb3;background:#ffffff26;padding:3px 10px;border-radius:20px}.app-header__logout{background:#ffffff26;border:none;color:var(--header-text);padding:5px 12px;border-radius:var(--radius-sm);font-size:11px;font-family:inherit;cursor:pointer;transition:all .2s}.app-header__logout:hover{background:#ffffff40}.app-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-card__logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.login-card__logo-icon{width:48px;height:48px;background:var(--header-bg);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:24px}.login-card__logo-text{font-size:28px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary)}.login-card__logo-text span{color:var(--accent-green)}.login-card__subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.form-input{width:100%;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;font-family:inherit;transition:all .2s;outline:none}.form-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-glow-green)}.form-input::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;border:none;outline:none;width:100%}.btn-primary{background:var(--accent-green-dark);color:#fff}.btn-primary:hover:not(:disabled){background:#3d5a35;box-shadow:var(--shadow-glow-green)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-card-hover)}.login-error{background:#d9444414;border:1px solid rgba(217,68,68,.2);border-radius:var(--radius-sm);padding:12px 16px;color:var(--accent-red);font-size:13px;margin-bottom:20px}.scan-station-page{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.scan-station-centered{text-align:center;width:100%;max-width:400px;padding:0 20px}.scan-station-title{font-size:28px;font-weight:900;letter-spacing:1px;color:var(--text-primary);margin-bottom:32px}.scan-station-input-wrapper{position:relative;display:flex;align-items:center}.scan-station-input{width:100%;padding:14px 50px 14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;font-family:inherit;outline:none;transition:all .2s}.scan-station-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-glow-green)}.scan-station-input::placeholder{color:var(--text-muted)}.scan-station-barcode-icon{position:absolute;right:14px;font-size:14px;color:var(--text-muted);letter-spacing:-1px;font-weight:900;pointer-events:none}.scan-station-error{background:#d9444414;border:1px solid rgba(217,68,68,.2);border-radius:var(--radius-sm);padding:10px 14px;color:var(--accent-red);font-size:13px;margin-top:12px;text-align:left}.scan-station-loading{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--text-secondary);font-size:13px}.scan-station-info{background:#4a90a414;border:1px solid rgba(74,144,164,.25);border-radius:var(--radius-sm);padding:10px 14px;color:var(--accent-cyan);font-size:13px;margin-top:12px;text-align:left}.scan-station-watermark{position:absolute;bottom:24px;right:24px;font-size:32px;opacity:.08;pointer-events:none}.scan-icon-red{color:#c33!important;display:flex;align-items:center;justify-content:center}.scan-page{width:100%;max-width:600px;text-align:center}.scan-page__step{font-size:11px;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:2px;margin-bottom:4px}.scan-page__title{font-size:24px;font-weight:800;margin-bottom:4px;letter-spacing:-.3px;color:var(--text-primary)}.scan-page__subtitle{color:var(--text-secondary);font-size:13px;margin-bottom:24px}.scan-input-wrapper{position:relative;margin-bottom:16px}.scan-input{width:100%;padding:16px 20px 16px 48px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:18px;font-weight:600;font-family:inherit;text-align:center;letter-spacing:.5px;transition:all .2s;outline:none}.scan-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-glow-green)}.scan-input::placeholder{color:var(--text-muted);font-weight:400;letter-spacing:0}.scan-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:20px;pointer-events:none}.scan-hint{margin-top:24px;font-size:13px;color:var(--text-muted)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--accent-green);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.station-info{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.station-info__icon{width:40px;height:40px;background:#6b8f5e1a;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--accent-green);flex-shrink:0}.station-info__text{flex:1}.station-info__name{font-size:15px;font-weight:700;color:var(--text-primary)}.station-info__meta{font-size:12px;color:var(--text-secondary)}.station-info__change{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.station-info__change:hover{border-color:var(--accent-green);color:var(--accent-green)}.status-banner{border-radius:var(--radius);padding:20px;text-align:center;margin:12px 0;box-shadow:var(--shadow-sm)}.status-banner--success{background:#6b8f5e14;border:1px solid rgba(107,143,94,.25)}.status-banner--success .status-banner__title{color:var(--accent-green)}.status-banner--error{background:#d944440f;border:1px solid rgba(217,68,68,.2)}.status-banner--error .status-banner__title{color:var(--accent-red)}.status-banner--complete{background:#4a90a414;border:2px solid rgba(74,144,164,.25);box-shadow:0 0 12px #4a90a41a}.status-banner--complete .status-banner__title{color:var(--accent-cyan)}.status-banner__icon{font-size:36px;margin-bottom:8px}.status-banner__title{font-size:18px;font-weight:800;letter-spacing:1px;margin-bottom:4px}.status-banner__message{font-size:13px;color:var(--text-secondary)}.hint-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin:8px 0;text-align:center;font-size:15px;font-weight:600;color:var(--accent-green);box-shadow:var(--shadow-sm)}.hint-card--pulse{background:linear-gradient(135deg,var(--accent-green),var(--accent-green-dark));color:#fff;border-color:transparent;font-size:16px;font-weight:700;letter-spacing:1px;padding:24px 20px 20px;animation:hint-pulse 1.8s ease-in-out infinite;box-shadow:0 0 #6b8f5e99;display:flex;flex-direction:column;align-items:center;gap:4px}.hint-card__icon{font-size:28px;font-weight:900;line-height:1;animation:hint-bounce 1.2s ease-in-out infinite}.hint-card__text{font-size:18px;font-weight:800;letter-spacing:1.5px}@keyframes hint-pulse{0%{box-shadow:0 0 #6b8f5e99;transform:scale(1)}50%{box-shadow:0 0 24px 8px #6b8f5e59;transform:scale(1.03)}to{box-shadow:0 0 #6b8f5e99;transform:scale(1)}}@keyframes hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.order-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:12px;text-align:left;box-shadow:var(--shadow-sm)}.order-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.order-card__title{font-size:16px;font-weight:700}.order-card__badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:#6b8f5e1a;color:var(--accent-green)}.order-card__details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-card__detail{display:flex;flex-direction:column;gap:2px}.order-card__detail-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.order-card__detail-value{font-size:14px;font-weight:600;color:var(--text-primary)}.product-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:8px;box-shadow:var(--shadow-sm);text-align:left}.product-card__image{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--bg-primary);border:1px solid var(--border)}.product-card__image img{width:100%;height:100%;object-fit:cover}.product-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-primary);color:var(--text-muted)}.product-card__info{flex:1;min-width:0}.product-card__name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:4px}.product-card__sku{font-size:12px;color:var(--text-secondary)}.product-card--centered{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:20px}.product-card__image--large{width:120px;height:120px;border-radius:var(--radius)}.product-card__image--large .product-card__placeholder{font-size:48px}.product-card__info--centered{text-align:center}.product-card__qty{display:inline-block;background:var(--accent-green);color:#fff;font-size:15px;font-weight:800;padding:6px 20px;border-radius:20px;letter-spacing:.5px}.product-card__qty--done{background:#3e7d32}.product-card--scanned{opacity:.6;border-color:var(--accent-green);background:#6b8f5e14}.product-card__check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:40px;z-index:2}.product-card__image{position:relative}.order-card__badge--multi{background:#4a90a426;color:var(--accent-cyan)}.multi-progress{margin:8px 0}.multi-progress__bar{height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.multi-progress__fill{height:100%;background:linear-gradient(90deg,var(--accent-green),var(--accent-green-dark));border-radius:4px;transition:width .4s ease}.multi-progress__text{text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);margin-top:6px}.numpad-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.numpad-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px 24px;max-width:340px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center}.numpad-card__title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.numpad-card__subtitle{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.numpad-card__display{font-size:48px;font-weight:800;color:var(--accent-green);background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:16px;font-family:Inter,monospace}.numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.numpad-btn{padding:16px;font-size:22px;font-weight:700;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.numpad-btn:active{background:var(--accent-green);color:#fff}.numpad-btn--clear{background:#cc33331a;color:#c33;border-color:#c333}.numpad-btn--del{background:#4a90a41a;color:var(--accent-cyan);border-color:#4a90a433}.numpad-card__info{font-size:14px;color:var(--text-secondary);margin-bottom:16px;min-height:20px}.numpad-card__confirm{width:100%;font-size:16px;padding:14px}.progress-steps{display:flex;flex-direction:column;gap:4px;margin:12px 0}.progress-step{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-sm);transition:all .3s}.progress-step--pending{opacity:.4}.progress-step--active{background:#6b8f5e14;border:1px solid rgba(107,143,94,.2)}.progress-step--done{opacity:.7}.progress-step__icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.progress-step--pending .progress-step__icon{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-muted)}.progress-step--active .progress-step__icon{background:#6b8f5e26;border:1px solid var(--accent-green);color:var(--accent-green)}.progress-step--done .progress-step__icon{background:#6b8f5e1a;color:var(--accent-green)}.progress-step__text{font-size:13px;font-weight:500}.orders-queue{margin-top:24px}.orders-queue__title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.orders-queue__count{background:#6b8f5e1f;color:var(--accent-green);font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.orders-queue__list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.orders-queue__item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.orders-queue__item:hover{border-color:var(--accent-green);background:var(--bg-card-hover)}.orders-queue__item-ref{font-size:13px;font-weight:600}.orders-queue__item-count{font-size:11px;color:var(--text-muted)}.scan-page--fullscreen{max-width:600px;display:flex;flex-direction:column;height:100%;overflow:hidden}.order-card--compact{padding:14px 18px;margin-bottom:8px}.order-card--compact .order-card__header{margin-bottom:8px}.order-card__details--row{display:flex;gap:24px}.order-card__details--row .order-card__detail{flex:1}.progress-steps--compact{margin:8px 0}.progress-steps--compact .progress-step{padding:8px 14px;margin-bottom:2px;gap:10px}.progress-steps--compact .progress-step__icon{width:22px;height:22px;font-size:11px}.progress-steps--compact .progress-step__text{font-size:12px}.btn-reprint{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px}.btn-reprint:hover:not(:disabled){border-color:var(--accent-green);color:var(--accent-green);background:var(--bg-card-hover)}.btn-reprint:disabled{opacity:.5;cursor:not-allowed}.scan-bottom-area{margin-top:auto;flex-shrink:0}.finish-actions{display:flex;flex-direction:column;gap:0;margin-top:12px}.finish-actions .btn{width:100%;font-size:15px;padding:16px 24px}@media(max-width:640px){.login-card{padding:32px 24px}.app-header{padding:8px 12px}.app-header__title{font-size:14px}.app-header__logo-icon{width:28px;height:28px;font-size:14px}.app-content{padding:10px}.scan-station-title{font-size:22px;margin-bottom:24px}.scan-page__title{font-size:20px;margin-bottom:4px}.scan-page__subtitle{font-size:12px;margin-bottom:16px}.scan-page__step{font-size:10px;margin-bottom:4px}.scan-input{font-size:16px;padding:14px 16px 14px 44px}.scan-input-wrapper{margin-bottom:12px}.scan-input-icon{font-size:18px;left:14px}.btn{padding:12px 20px;font-size:13px}.station-info{padding:12px;margin-bottom:10px;gap:10px}.station-info__icon{width:36px;height:36px;font-size:16px}.station-info__name{font-size:14px}.station-info__meta{font-size:11px}.status-banner{padding:14px;margin:8px 0}.status-banner__icon{font-size:28px;margin-bottom:4px}.status-banner__title{font-size:16px}.status-banner__message{font-size:12px}.order-card{padding:12px;margin-bottom:8px}.order-card--compact{padding:10px 14px;margin-bottom:6px}.order-card--compact .order-card__header{margin-bottom:6px}.order-card__title{font-size:14px}.order-card__badge{font-size:10px;padding:2px 8px}.order-card__detail-label{font-size:10px}.order-card__detail-value{font-size:12px}.progress-steps--compact{margin:4px 0}.progress-steps--compact .progress-step{padding:5px 10px;margin-bottom:2px}.progress-steps--compact .progress-step__icon{width:20px;height:20px;font-size:10px}.progress-steps--compact .progress-step__text{font-size:11px}.btn-reprint{padding:8px 16px;font-size:12px;margin-top:6px}.orders-queue{margin-top:10px}.orders-queue__title{font-size:12px;margin-bottom:8px}.orders-queue__list{max-height:120px;gap:4px}.orders-queue__item{padding:8px 12px}.orders-queue__item-ref{font-size:12px}.orders-queue__item-count{font-size:10px}}@media(min-width:641px)and (max-width:1024px){.app-content{padding:16px}.status-banner{padding:18px;margin:12px 0}.status-banner__icon{font-size:36px;margin-bottom:8px}.status-banner__title{font-size:20px}.scan-input{font-size:18px}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #6b8f5e26}50%{box-shadow:0 0 0 6px #6b8f5e00}}.scan-input:focus,.scan-station-input:focus{animation:pulseGlow 2s ease-in-out infinite}.settings-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;margin-top:auto;opacity:.5;transition:opacity .2s}.settings-bar:hover,.settings-bar:active{opacity:1}.settings-bar__btn{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.settings-bar__btn:active{background:var(--bg-card)}.settings-bar__version{font-size:10px;color:var(--text-tertiary);font-weight:500}
