:root{--navy: #0b1330;--navy-light: #16204a;--accent: #38bdf8;--accent-dark: #0ea5e9;--bg: #f7f8fa;--border: #e5e7eb;--text: #101828;--text-muted: #667085;--danger: #dc2626;--warning: #d97706}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff}.login-card{background:#fff;border-radius:20px;padding:52px;width:min(92vw,420px);text-align:center;box-shadow:0 20px 50px #1018281f,0 4px 14px #10182814}.login-card img{width:84px;height:84px;border-radius:18px;margin-bottom:20px}.login-card h1{font-size:15px;font-weight:600;color:var(--text-muted);margin:0 0 28px}.field-label{display:block;text-align:left;font-size:14px;font-weight:600;color:var(--text);margin-bottom:7px}.login-card input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;font-size:15px}.login-error{color:var(--danger);font-size:13px;margin:-10px 0 14px}.login-card button{width:100%;padding:13px 14px;border:none;border-radius:10px;background:var(--accent-dark);color:#fff;font-weight:600;cursor:pointer;font-size:15px}.scanner-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;padding:16px}.scanner-logout{position:absolute;top:20px;right:20px;z-index:10;background:#fff;border:1px solid var(--border);color:var(--accent-dark);width:42px;height:42px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.scanner-logout:hover{border-color:var(--accent);background:#f0f9ff}.scanner-canvas{position:relative;width:min(100%,177.78vh);aspect-ratio:16 / 9;margin:auto}.scanner-el{position:absolute}.scanner-brand{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text);font-weight:800;font-size:clamp(16px,3vw,40px);letter-spacing:.2px}.scanner-form{width:100%;height:100%;display:flex}.scanner-form input{width:100%;height:100%;padding:0 24px;font-size:clamp(14px,2vw,22px);text-align:center;border:1px solid var(--border);border-radius:14px;outline:none;background:#fff;box-shadow:0 1px 3px #1018280f}.scanner-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #0ea5e926}.scanner-result{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.scanner-hint{color:var(--text-muted);font-size:clamp(13px,1.6vw,16px);text-align:center}.scanner-hint-error{color:var(--danger);font-weight:600}.scanner-card{background:#fff;border-radius:20px;padding:clamp(14px,2.5vw,36px);width:100%;height:100%;text-align:center;border-top:4px solid var(--accent);box-shadow:0 1px 3px #1018280f;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto}.scanner-card img{max-width:100%;max-height:45%;object-fit:contain;margin-bottom:clamp(8px,1.5vw,20px)}.scanner-product-name{font-size:clamp(14px,2.2vw,26px);font-weight:700;color:var(--text);margin-bottom:clamp(6px,1vw,12px)}.scanner-product-price{font-size:clamp(22px,4.5vw,50px);font-weight:800;color:var(--accent-dark)}.scanner-product-code{margin-top:10px;font-size:clamp(10px,1.1vw,13px);color:var(--text-muted);letter-spacing:.3px}.scanner-free-image{width:100%;height:100%;object-fit:contain}
