:root{--bg: #f6f7f0;--panel: #ffffff;--panel-soft: #eef2e4;--text: #141711;--muted: #67705b;--border: #dfe5d2;--accent: #d6ff2f;--accent-strong: #8ea900;--danger: #c94031;--shadow: 0 24px 60px rgba(32, 38, 23, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{display:grid;min-height:100vh;gap:24px;padding:32px}.hero-panel{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:auto 1fr;min-height:280px;padding:40px}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;color:#202600;display:inline-flex;font-size:34px;font-weight:800;height:96px;justify-content:center;width:96px}.eyebrow{color:var(--accent-strong);font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}h1{font-size:54px;letter-spacing:0;line-height:1;margin:0}.hero-copy{color:var(--muted);font-size:20px;line-height:1.45;margin:18px 0 0;max-width:720px}.status-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.status-grid article{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-height:178px;padding:22px}.status-grid svg{color:var(--accent-strong);height:28px;width:28px}.status-grid span{display:block;font-size:18px;font-weight:800;margin-top:18px}.status-grid p{color:var(--muted);line-height:1.45;margin:8px 0 0}.internet-banner{background:var(--danger);border-radius:8px;color:#fff;font-weight:800;left:32px;padding:12px 18px;position:fixed;top:24px;z-index:20}@media (max-width: 980px){.app-shell{padding:18px}.hero-panel{grid-template-columns:1fr;padding:28px}h1{font-size:40px}.hero-copy{font-size:17px}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.status-grid{grid-template-columns:1fr}}.login-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:32px}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:14px;max-width:420px;padding:40px;width:100%}.login-card .brand-mark{font-size:24px;height:64px;width:64px}.pin-card .brand-mark svg{height:30px;width:30px}.login-card h1{font-size:34px}.login-sub{color:var(--muted);margin:0 0 8px}.field{display:grid;gap:6px}.field span{font-size:14px;font-weight:700}.field input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.field input:focus{border-color:var(--accent-strong);outline:none}.login-error{background:#c940311a;border-radius:8px;color:var(--danger);font-weight:700;margin:0;padding:10px 12px}.login-submit{background:var(--accent);border:none;border-radius:8px;color:#202600;cursor:pointer;font-size:16px;font-weight:800;margin-top:6px;padding:14px}.login-submit:disabled{cursor:progress;opacity:.6}.cashier-home{display:grid;grid-template-rows:auto 1fr;height:100vh}.session-bar{align-items:center;background:var(--panel);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 24px}.session-bar__identity{display:grid}.session-bar__name{font-weight:800}.session-bar__email{color:var(--muted);font-size:13px}.session-bar__logout{align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:10px 14px}.session-bar__logout svg{height:18px;width:18px}.session-bar__context{color:var(--muted);font-size:13px}.session-bar__actions{display:flex;gap:10px}.session-bar__btn{align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:10px 14px}.session-bar__btn svg{height:18px;width:18px}.select-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:32px}.select-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:18px;max-width:520px;padding:40px;width:100%}.select-card h1{font-size:32px;margin:0}.select-group h2{color:var(--muted);font-size:15px;letter-spacing:.02em;margin:0 0 10px;text-transform:uppercase}.select-options{display:flex;flex-wrap:wrap;gap:10px}.select-option{background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-weight:700;padding:14px 18px}.select-option.is-active{background:var(--accent);border-color:var(--accent-strong);color:#202600}.select-hint{color:var(--muted);margin:0}.select-error{background:#c940311a;border-radius:8px;color:var(--danger);font-weight:700;margin:0;padding:10px 12px}.select-start{background:var(--accent);border:none;border-radius:8px;color:#202600;cursor:pointer;font-size:16px;font-weight:800;margin-top:6px;padding:14px}.select-start:disabled{cursor:not-allowed;opacity:.5}.catalog{align-content:start;display:grid;gap:18px;min-height:0;overflow-y:auto;padding:24px}.catalog__toolbar{display:grid;gap:14px}.catalog__search{background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:16px;padding:14px 16px;width:100%}.catalog__search:focus{border-color:var(--accent-strong);outline:none}.catalog__categories{display:flex;flex-wrap:wrap;gap:8px}.catalog__chip{background:var(--panel);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-weight:700;padding:8px 16px}.catalog__chip.is-active{background:var(--accent);border-color:var(--accent-strong);color:#202600}.catalog__hint{color:var(--muted);margin:0}.catalog__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.product-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:inherit;cursor:pointer;display:grid;font:inherit;gap:12px;overflow:hidden;padding:14px;text-align:left;width:100%}.product-card:active{transform:scale(.98)}.product-card__thumb{align-items:center;background:var(--panel-soft);border-radius:6px;color:var(--accent-strong);display:flex;font-size:32px;font-weight:800;height:84px;justify-content:center}.product-card__body{display:grid;gap:4px}.product-card__name{font-weight:700;line-height:1.3}.product-card__cat{color:var(--muted);font-size:12px}.product-card__price{font-weight:800;margin-top:4px}.register{display:grid;grid-template-columns:1fr 360px;min-height:0}.cart{background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;padding:20px}.cart__title{font-size:20px;margin:0 0 14px}.cart__empty{color:var(--muted)}.cart__items{display:flex;flex:1;flex-direction:column;gap:12px;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:0}.cart-item{border-bottom:1px solid var(--border);display:grid;gap:8px;padding-bottom:12px}.cart-item__info{display:flex;gap:8px;justify-content:space-between}.cart-item__name{font-weight:700}.cart-item__price{font-weight:700;white-space:nowrap}.cart-item__qty{align-items:center;display:flex;gap:10px}.cart-item__qty button{align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.cart-item__qty svg{height:16px;width:16px}.cart-item__remove{color:var(--danger);margin-left:auto}.cart__footer{border-top:1px solid var(--border);display:grid;gap:12px;margin-top:12px;padding-top:16px}.cart__subtotal{display:flex;font-size:18px;font-weight:800;justify-content:space-between}.cart__error{background:#c940311a;border-radius:8px;color:var(--danger);font-weight:700;margin:0;padding:10px 12px}.cart__pay{background:var(--accent);border:none;border-radius:8px;color:#202600;cursor:pointer;font-size:17px;font-weight:800;padding:16px}.cart__pay:disabled{cursor:not-allowed;opacity:.5}.cart--receipt{align-items:center;justify-content:center}.receipt{display:grid;gap:10px;text-align:center}.receipt__ok{color:var(--accent-strong);font-size:20px;font-weight:800;margin:0}.receipt__no{color:var(--muted);font-family:ui-monospace,monospace;margin:0}.receipt__total{font-size:32px;font-weight:800;margin:0}@media (max-width: 900px){.register{grid-template-columns:1fr}.cart{border-left:none;border-top:1px solid var(--border)}}
