:root{--color-primary: #1a428a;--color-primary-hover: #243B76;--color-primary-light: #e9f0fa;--color-bg: #f4f7f9;--color-card: #ffffff;--color-text: #2c3e50;--color-text-secondary: #555;--color-text-muted: #888;--color-border: #e0e6ed;--color-input-border: #d1d9e0;--color-input-focus: rgba(26, 66, 138, .3);--color-success: #28a745;--color-success-light: #e8f5e9;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-danger-light: #f8d7da;--color-logout: #6c757d;--color-logout-hover: #5a6268;--color-disabled: #a0c7eb;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-text);margin:0;padding:0;line-height:1.6;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4{color:var(--color-text);margin-top:0;line-height:1.3}h2{font-size:1.25rem;font-weight:600;margin-bottom:16px}h3{font-size:1.1rem;font-weight:600}h4{font-size:1rem;font-weight:600}hr{border:0;border-top:1px solid var(--color-border);margin:20px 0}.login-page,.price-checker-page{flex:1;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:calc(12px + var(--safe-top));background-color:var(--color-card);border-bottom:2px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.logo-area{display:flex;align-items:center;gap:12px}.logo{height:32px}.welcome-text{font-size:13px;color:var(--color-text-secondary);display:none}#userName{font-weight:600;color:var(--color-text)}.text-center{text-align:center}.m-auto{margin:auto}.dev-badge{display:inline-flex;align-items:center;gap:4px;background:#ff6b00;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;line-height:1;white-space:nowrap}.dev-banner{background:linear-gradient(90deg,#ff6b00,#ff8c33);color:#fff;text-align:center;font-size:11px;font-weight:600;padding:3px 0;letter-spacing:.5px}.container{width:100%;max-width:600px;margin:0 auto;background:var(--color-card);padding:20px 16px;padding-bottom:calc(20px + var(--safe-bottom));flex:1;overflow-x:hidden}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;min-height:44px;font-size:15px;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;background-color:var(--color-primary);color:#fff;transition:background-color .2s,transform .1s;-webkit-appearance:none;touch-action:manipulation}button:hover{background-color:var(--color-primary-hover)}button:active{transform:scale(.98)}button:disabled{background-color:var(--color-disabled);cursor:not-allowed;transform:none}#logoutButton{background-color:var(--color-logout);padding:8px 14px;min-height:36px;font-size:13px;border-radius:6px}#logoutButton:hover{background-color:var(--color-logout-hover)}#stopScanButton{background-color:var(--color-danger);width:100%}#stopScanButton:hover{background-color:var(--color-danger-hover)}.input-area{display:flex;gap:10px;align-items:stretch;margin-bottom:16px;max-width:100%}#itemCode{flex:1;min-width:0;padding:12px 14px;min-height:48px;border:2px solid var(--color-input-border);border-radius:var(--radius-sm);font-size:16px;background:var(--color-card);color:var(--color-text);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}#itemCode:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-input-focus)}#itemCode:disabled{background-color:var(--color-bg);opacity:.6}#submitCodeButton{flex-shrink:0;min-height:48px;padding:12px 14px}.scan-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}#scanButton{width:100%;background:var(--color-card);color:var(--color-primary);border:2px solid var(--color-primary);font-weight:500}#scanButton:hover:not(:disabled){background:var(--color-primary-light)}#scanButton:disabled{background:var(--color-bg);color:var(--color-disabled);border-color:var(--color-input-border)}#cameraFeed{width:100%;border-radius:var(--radius-md);border:2px solid var(--color-border);background:#000;aspect-ratio:4/3;object-fit:cover}#captureButton{width:100%;background:var(--color-text-secondary)}#captureButton:hover{background:#444}.error-message{background-color:var(--color-danger-light);color:#721c24;border:1px solid #f5c6cb;border-left:4px solid var(--color-danger);padding:12px 14px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px;line-height:1.5}.last-scanned{font-size:14px;color:var(--color-text-secondary);margin-bottom:12px;padding:8px 12px;background:var(--color-bg);border-radius:var(--radius-sm);font-family:SF Mono,Fira Code,Consolas,monospace}.last-scanned strong{color:var(--color-primary);letter-spacing:.5px}.result-card{background-color:var(--color-primary-light);border-left:4px solid var(--color-primary);padding:16px;margin-top:16px;border-radius:0 var(--radius-md) var(--radius-md) 0}.result-card h3{margin-bottom:12px;font-size:1.05rem;word-break:break-word}.result-card h4{margin-bottom:10px;display:flex;align-items:center;gap:8px}.result-card p{margin:8px 0;display:flex;align-items:center;gap:8px;font-size:15px}.result-card i,#commonDetails i{color:var(--color-text-secondary);width:20px;text-align:center;flex-shrink:0}#itemLocatorCard{background-color:var(--color-success-light);border-left-color:var(--color-success)}table.onhand-table{width:100%;border-collapse:collapse;font-size:14px}table.onhand-table th{padding:8px 6px;text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);font-size:12px;text-transform:uppercase;letter-spacing:.3px}table.onhand-table td{padding:10px 6px;border-bottom:1px solid var(--color-border);word-break:break-word}table.onhand-table tr:last-child td{border-bottom:none}.login-page .container{margin-top:0;display:flex;flex-direction:column;justify-content:center}.login-page h2{text-align:center;margin-bottom:24px;color:var(--color-text);font-size:1.35rem}.login-page label{display:block;margin-bottom:6px;color:var(--color-text-secondary);font-size:14px;font-weight:500}.login-page input[type=text],.login-page input[type=password]{width:100%;padding:12px 14px;min-height:48px;margin-bottom:16px;border:2px solid var(--color-input-border);border-radius:var(--radius-sm);font-size:16px;background:var(--color-card);color:var(--color-text);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.login-page input[type=text]:focus,.login-page input[type=password]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-input-focus)}.login-page button{width:100%;min-height:48px;font-size:16px;font-weight:600;margin-top:4px}.g-recaptcha{margin-bottom:16px;display:flex;justify-content:center}.loader{border:5px solid var(--color-border);border-top:5px solid var(--color-primary);border-radius:50%;width:44px;height:44px;animation:spin .8s linear infinite;margin:30px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffd9;display:flex;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.app-footer{text-align:center;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));font-size:12px;color:var(--color-text-muted);margin-top:auto}.app-footer p{margin:0}@media screen and (min-width:375px){.container{padding:24px 20px}}@media screen and (min-width:600px){body{padding:20px}.app-header{max-width:640px;margin:0 auto;border-radius:0 0 var(--radius-md) var(--radius-md);position:relative}.container{border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:16px;padding:32px 28px}.welcome-text{display:block}h2{font-size:1.4rem}.login-page .container{margin-top:40px}.app-footer{padding-bottom:16px}.dev-banner{max-width:640px;margin:0 auto}}@media screen and (min-width:768px){.container{max-width:640px;padding:36px 32px}.logo{height:36px}}@media all and (display-mode:standalone){.app-header{padding-top:calc(12px + var(--safe-top))}body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}}.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--color-card);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0000001f;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));display:flex;flex-direction:column;gap:12px;animation:install-slide-up .3s ease-out}@keyframes install-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-banner-content{display:flex;align-items:center;gap:12px}.install-banner-icon{width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0}.install-banner-text{display:flex;flex-direction:column;gap:2px}.install-banner-text strong{font-size:15px;color:var(--color-text)}.install-banner-text span{font-size:13px;color:var(--color-text-muted)}.install-banner-actions{display:flex;gap:8px;justify-content:flex-end}.install-banner-dismiss{padding:10px 20px;border:none;background:transparent;color:var(--color-text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);min-height:44px}.install-banner-dismiss:active{background:var(--color-bg)}.install-banner-install{padding:10px 24px;border:none;background:var(--color-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);min-height:44px}.install-banner-install:active{background:var(--color-primary-hover)}
