:root{--primary: #ff6b00;--primary-dark: #d95a00;--primary-light: #fff1e6;--text: #111827;--text-muted: #6b7280;--bg: #ffffff;--surface: #ffffff;--surface-alt: #f9fafb;--border: #e5e7eb;--danger: #dc2626;--radius: 12px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.shell{max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:calc(96px + var(--safe-bottom))}.header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 16px}.header__row{display:flex;align-items:center;gap:10px}.header__title{font-size:17px;font-weight:700;margin:0}.header__branch{font-size:13px;color:var(--text-muted);margin:2px 0 0}.chips{display:flex;gap:8px;overflow-x:auto;padding:10px 16px 0;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;white-space:nowrap;min-height:38px}.chip--active{background:var(--primary);border-color:var(--primary);color:#fff}.section{padding:18px 16px 0}.section__title{font-size:18px;font-weight:700;margin:0 0 12px}.product{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:flex-start;text-align:left;width:100%;background:none;border-left:none;border-right:none;border-top:none}.product__body{flex:1;min-width:0}.product__name{font-weight:600;margin:0 0 3px}.product__desc{font-size:13px;color:var(--text-muted);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product__price{font-weight:700;font-variant-numeric:tabular-nums}.product__old{font-size:13px;color:var(--text-muted);text-decoration:line-through;margin-left:6px;font-weight:400}.product__add{flex-shrink:0;width:42px;height:42px;border-radius:12px;border:none;background:var(--primary-light);color:var(--primary-dark);font-size:22px;font-weight:700;line-height:1}.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 16px calc(12px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--border)}.cart-bar__inner{max-width:560px;margin:0 auto}.btn{width:100%;min-height:52px;border-radius:var(--radius);border:none;background:var(--primary);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#11182773;display:flex;align-items:flex-end;justify-content:center}.sheet__panel{width:100%;max-width:560px;background:var(--surface);border-radius:18px 18px 0 0;max-height:88vh;overflow-y:auto;padding:18px 16px calc(18px + var(--safe-bottom))}.sheet__handle{width:40px;height:4px;border-radius:999px;background:var(--border);margin:0 auto 14px}.line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.line__body{flex:1;min-width:0}.qty{display:flex;align-items:center;gap:8px}.qty__btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:18px;font-weight:700;line-height:1}.totals{padding:14px 0;display:grid;gap:6px}.totals__row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.totals__row--grand{font-size:19px;font-weight:800;padding-top:8px;border-top:1px solid var(--border)}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:13px;font-weight:500}.field input,.field select,.field textarea{padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:16px;font-family:inherit;background:var(--surface);color:var(--text)}.alert{padding:11px 14px;border-radius:10px;font-size:14px;margin-bottom:12px}.alert--error{background:#fee2e2;color:#991b1b}.alert--success{background:#dcfce7;color:#14532d}.center{min-height:60vh;display:grid;place-items:center;text-align:center;padding:24px;color:var(--text-muted)}.muted{color:var(--text-muted)}.branch-card{width:100%;text-align:left;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:10px}.branch-card__name{font-weight:700;margin:0 0 3px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600}
