.login-page{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#1e3a8a,#2563eb,#3b82f6)}.login-card{width:100%;max-width:400px;background:var(--surface);border-radius:16px;padding:2rem;box-shadow:0 25px 50px -12px #00000040}.login-header{text-align:center;margin-bottom:1.5rem}.login-brand-logo{display:block;width:220px;max-width:100%;height:auto;margin:0 auto .75rem}.login-header h1{margin:0;font-size:1.5rem;color:var(--text)}.login-header p{margin:.25rem 0 0;color:var(--text-muted);font-size:.875rem}.login-error{background:#fee2e2;color:var(--danger);padding:.5rem .75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.login-touch-row{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);text-align:center}.login-touch-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.55rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.login-touch-toggle:hover{border-color:#cbd5e1;background:#f1f5f9}.login-touch-toggle[aria-pressed=true]{background:#ecfdf5;border-color:#16a34a;color:#15803d}.login-touch-toggle-icon{font-size:1.1rem;line-height:1;opacity:.85}.login-touch-hint{margin:.5rem 0 0;font-size:.75rem;color:var(--text-muted)}html.touch-mode .login-card{max-width:440px;padding:2.25rem}html.touch-mode .login-header h1{font-size:1.65rem}html.touch-mode .login-header p{font-size:.95rem}html.touch-mode .login-touch-toggle{min-height:48px;font-size:1rem}html.touch-mode .login-touch-hint{font-size:.85rem}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font-size:1.25rem}@media (min-width: 768px){.menu-btn{display:none}}.header-title{flex:1;font-weight:600;color:var(--text)}.header-user{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.user-name{font-weight:500}.user-role{font-size:.75rem;color:var(--text-muted)}.touch-mode-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.touch-mode-btn:hover{background:var(--bg);border-color:#cbd5e1}.touch-mode-btn[aria-pressed=true]{background:#ecfdf5;border-color:var(--success);color:#15803d}.touch-mode-btn-icon{width:18px;height:18px;flex-shrink:0}@media (max-width: 520px){.touch-mode-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.touch-mode-btn{padding:.45rem;min-width:40px;justify-content:center}}.fs-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.fs-btn:hover{background:var(--bg);border-color:#cbd5e1}.fs-btn[aria-pressed=true]{background:#e0e7ff;border-color:var(--primary);color:var(--primary-dark)}.fs-btn-icon{width:18px;height:18px;flex-shrink:0}@media (max-width: 520px){.fs-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fs-btn{padding:.45rem;min-width:40px;justify-content:center}}.layout-nav{display:none;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--border);padding:.5rem}.layout-nav.open{display:flex}@media (min-width: 768px){.layout-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem}}.nav-link{padding:.5rem 1rem;border-radius:8px;color:var(--text);transition:background .2s}.nav-link:hover{background:var(--bg)}.nav-link.active{background:var(--primary);color:#fff}.layout-main{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%}.layout-main--pos{max-width:none;margin:0;padding:0;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}html.touch-mode .layout-header{padding:.85rem 1.1rem;gap:.75rem}html.touch-mode .menu-btn{width:48px;height:48px;font-size:1.4rem;border-radius:10px}html.touch-mode .header-title{font-size:1.05rem}html.touch-mode .header-user{gap:.65rem}html.touch-mode .layout-nav{padding:.65rem;gap:.35rem}html.touch-mode .nav-link{padding:.75rem 1.15rem;min-height:48px;display:inline-flex;align-items:center;border-radius:10px;font-size:1rem}html.touch-mode .layout-main:not(.layout-main--pos){padding:1.15rem 1.1rem;max-width:1280px}html.touch-mode .touch-mode-btn,html.touch-mode .fs-btn{min-height:44px;padding:.5rem .75rem;font-size:.9rem;border-radius:10px}html.touch-mode .touch-mode-btn-icon,html.touch-mode .fs-btn-icon{width:22px;height:22px}.medicine-visual{box-sizing:border-box;overflow:hidden}.medicine-visual--fill{width:100%;height:100%;min-height:0}.medicine-visual__img{display:block;width:100%;height:100%;object-fit:cover}.medicine-visual__icon-wrap{width:100%;height:100%;min-height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--mv-soft, #dbeafe) 0%,#f8fafc 100%);color:var(--mv-stroke, #2563eb)}.medicine-visual__icon-wrap svg{width:46%;height:46%;max-width:72px;max-height:72px}.medicine-visual--compact{width:40px;height:40px;border-radius:8px;flex-shrink:0}.medicine-visual--compact .medicine-visual__icon-wrap{min-height:40px;border-radius:8px}.medicine-visual--compact .medicine-visual__icon-wrap svg{width:58%;height:58%;max-width:28px;max-height:28px}.medicine-visual--compact .medicine-visual__img{border-radius:8px}.balance-page__report{overflow:visible}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff!important}.layout-header,.layout-nav,.menu-btn,.header-user,.balance-page__intro,.balance-page__controls,.btn{display:none!important}.layout-main{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.balance-page{color:#000!important;font-size:11px}.balance-page h1{margin:0 0 6px!important;font-size:18px!important;line-height:1.2}.balance-page .card{box-shadow:none!important;border:1px solid #d1d5db!important;border-radius:8px!important;margin:0 0 8px!important;padding:8px!important;break-inside:avoid}.balance-page__summary,.balance-page__inputs{gap:8px!important;margin-bottom:8px!important}.balance-page__inputs .form-group input{border:1px solid #cbd5e1!important;padding:5px 7px!important;font-size:11px!important}.balance-page .table-wrap{overflow:visible!important}.balance-page table{font-size:11px!important;width:100%!important;border-collapse:collapse!important;table-layout:fixed}.balance-page th,.balance-page td{border:1px solid #cbd5e1!important;padding:6px!important;vertical-align:middle;word-wrap:break-word}.balance-page th{background:#f8fafc!important;color:#0f172a!important;font-weight:700!important}.balance-page td input{width:100%!important;border:1px solid #cbd5e1!important;border-radius:4px!important;padding:3px 5px!important;font-size:10.5px!important;background:#fff!important}}/*!
 * 
 *   react-simple-keyboard v3.8.177
 *   https://github.com/hodgef/react-simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 *//*!
 * 
 *   simple-keyboard v3.8.121
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px #0000004d;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:#05194687;color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:#00000008;cursor:pointer}li.hg-candidate-box-list-item:active{background:#0000001a}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}.pos-touch-keyboard-dock{background:linear-gradient(180deg,#cbd5e1,#e2e8f0);padding:4px 6px max(6px,env(safe-area-inset-bottom));max-height:min(40vh,300px);overflow:auto}.pos-touch-keyboard-dock--embedded{position:relative;flex-shrink:0;z-index:4;margin-top:auto;border-top:1px solid #cbd5e1;border-radius:0;box-shadow:0 -4px 16px #0f172a14;max-height:min(32vh,240px)}.pos-touch-keyboard-dock--payment-strip{position:fixed;left:var(--pos-kb-left, 76px);right:var(--pos-kb-right, min(288px, 30vw));bottom:0;z-index:1250;box-shadow:0 -6px 24px #0f172a26}.pos-touch-keyboard-dock--payment-strip.pos-touch-keyboard-dock--numpad{left:0!important;right:0!important;max-height:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 1rem max(.75rem,env(safe-area-inset-bottom));background:transparent;box-shadow:none}.pos-touch-keyboard-dock__card{width:min(420px,calc(100vw - 2rem));max-width:420px;margin:0 auto;box-sizing:border-box;background:linear-gradient(180deg,#e8ecf0,#f1f5f9);border-radius:20px;padding:.75rem 1.25rem 1rem;border:1px solid #e2e8f0;box-shadow:0 -8px 32px #0f172a1f}.pos-touch-keyboard-hint{display:flex;flex-direction:column;gap:1px;margin-bottom:4px;padding:0 2px}.pos-touch-keyboard-dock__card .pos-touch-keyboard-hint{margin-bottom:.35rem}.pos-touch-keyboard-hint-title{font-size:.72rem;font-weight:600;color:var(--text)}.pos-touch-keyboard-dock--numpad .pos-touch-keyboard-hint-title{font-size:.75rem;text-align:center;color:var(--text-muted)}.pos-touch-keyboard-hint-sub{font-size:.65rem;color:var(--text-muted);line-height:1.25}.pos-simple-keyboard.hg-theme-default{background:transparent;border-radius:8px;padding:0}.pos-simple-keyboard.hg-theme-default .hg-button{min-height:34px;height:auto;font-size:.82rem;border-radius:6px;box-shadow:none;border:1px solid #94a3b8;background:#fff;color:var(--text);padding:.2rem .15rem}.pos-simple-keyboard.hg-theme-default .hg-button:active{background:#dbeafe;border-color:var(--primary)}.pos-simple-keyboard.hg-theme-default .hg-row{margin-bottom:3px}.pos-simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="{space}"]{min-width:38%}.pos-simple-keyboard.hg-theme-default .hg-button[data-skbtn="{search}"]{min-width:26%;background:var(--primary);color:#fff;border-color:var(--primary-dark);font-weight:600;font-size:.78rem}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default{width:100%;max-width:none;margin:0;padding:2px 0 0}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default .hg-row{margin-bottom:5px!important;gap:6px}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default .hg-row .hg-button{margin:0!important;flex:1 1 0;min-width:0;min-height:44px;height:44px;max-height:50px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;border-radius:10px;border:1px solid #cbd5e1;background:#fff;box-shadow:0 1px 3px #0f172a14;padding:0}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default .hg-button:active{background:#dbeafe;border-color:var(--primary);transform:scale(.97)}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default .hg-button[data-skbtn="."]{font-size:1.35rem;font-weight:700}.pos-touch-keyboard-dock--numpad .pos-simple-keyboard.hg-theme-default .hg-button[data-skbtn="{bksp}"]{font-size:1.05rem;font-weight:700}:root{--pos-purple: #2563eb;--pos-purple-dark: #1d4ed8;--pos-purple-soft: #dbeafe;--pos-surface: #f8fafc;--pos-card: #ffffff;--pos-text: #0f172a;--pos-muted: #64748b;--pos-radius-lg: 20px;--pos-radius-md: 14px;--pos-radius-pill: 999px;--pos-rail-width: 76px;--pos-order-width: min(288px, 30vw)}.pos-page.pos-v2{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;width:100%;height:var(--pos-workspace-height, calc(100dvh - 108px) );max-height:var(--pos-workspace-height, calc(100dvh - 108px) );background:var(--pos-surface);color:var(--pos-text);--pos-kb-left: var(--pos-rail-width);--pos-kb-right: var(--pos-order-width)}@media (max-width: 1024px){.pos-page.pos-v2{--pos-kb-right: 0px;height:auto;max-height:none;min-height:min(100dvh,var(--pos-workspace-height, 100dvh))}}@media (max-width: 720px){.pos-page.pos-v2{--pos-kb-left: 0px}}.pos-v2-shell{display:grid;grid-template-columns:var(--pos-rail-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0;overflow:hidden;gap:0;align-items:stretch;padding-right:var(--pos-order-width);box-sizing:border-box}@media (max-width: 1024px){.pos-v2-shell{grid-template-columns:var(--pos-rail-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding-right:0;flex:1;min-height:320px}}@media (max-width: 720px){.pos-v2-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(280px,1fr)}.pos-v2-rail{flex-direction:row;width:100%;min-height:auto;padding:.5rem 1rem;border-right:none;border-bottom:1px solid #e2e8f0;justify-content:center;gap:.5rem;grid-column:1 / -1}.pos-v2-rail__spacer{display:none}.pos-v2-catalog-column{grid-column:1 / -1}}.pos-v2-rail{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;background:var(--pos-card);border-right:1px solid #e2e8f0;box-shadow:2px 0 12px #0f172a0a;min-height:0;overflow-y:auto}.pos-v2-rail__logo{width:44px;height:44px;border-radius:14px;background:var(--pos-purple-soft);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;text-decoration:none;overflow:hidden}.pos-v2-rail__logo img{width:32px;height:32px;object-fit:contain}.pos-v2-rail__link{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--pos-muted);text-decoration:none;transition:background .2s,color .2s}.pos-v2-rail__link:hover{background:#f1f5f9;color:var(--pos-text)}.pos-v2-rail__link.active{background:var(--pos-purple-soft);color:var(--pos-purple)}.pos-v2-rail__link svg{width:22px;height:22px}.pos-v2-rail__spacer{flex:1;min-height:1rem}.pos-v2-catalog-column{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;max-height:100%;background:var(--pos-surface);border-right:1px solid #e8ecf1;overflow:hidden}.pos-v2-catalog{padding:1.25rem 1.5rem .75rem;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.pos-v2-catalog__header{margin-bottom:.75rem}.pos-v2-catalog__headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap}.pos-v2-catalog__headtext{flex:1 1 140px;min-width:0}.pos-v2-label{display:block;font-size:.7rem;font-weight:600;color:var(--pos-purple);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}.pos-v2-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.pos-v2-tip{margin:.5rem 0 0;font-size:.78rem;color:var(--pos-muted)}.pos-v2-search-row{display:flex;flex:0 1 auto;gap:.4rem;align-items:center;margin:0;max-width:min(300px,100%)}.pos-v2-search-wrap{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.45rem;background:var(--pos-card);border-radius:var(--pos-radius-pill);padding:.3rem .65rem .3rem .55rem;border:1px solid #e2e8f0;box-shadow:0 1px 4px #0f172a0d}.pos-v2-search-wrap:focus-within{border-color:var(--pos-purple);box-shadow:0 0 0 2px #2563eb26}.pos-v2-search-icon{font-size:.85rem;opacity:.5;-webkit-user-select:none;user-select:none;flex-shrink:0}.pos-v2-search-input{flex:1;border:none;background:transparent;font-size:.82rem;outline:none;min-width:0;color:var(--pos-text);line-height:1.35}.pos-v2-search-input::placeholder{color:#94a3b8}.pos-v2-search-row .pos-v2-icon-btn{width:34px;height:34px;flex-shrink:0}.pos-v2-icon-btn{width:48px;height:48px;border-radius:var(--pos-radius-pill);border:1px solid #e2e8f0;background:var(--pos-card);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--pos-text);transition:background .2s,border-color .2s}.pos-v2-icon-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.pos-v2-icon-btn svg{width:22px;height:22px}.pos-v2-search-row .pos-v2-icon-btn svg{width:18px;height:18px}@media (max-width: 560px){.pos-v2-catalog__headrow{flex-direction:column;align-items:stretch}.pos-v2-search-row{max-width:none}}html.touch-mode .pos-v2-search-row{max-width:min(420px,100%)}html.touch-mode .pos-v2-search-wrap{padding:.4rem .75rem .4rem .65rem}html.touch-mode .pos-v2-search-input{font-size:.95rem}html.touch-mode .pos-v2-search-row .pos-v2-icon-btn{width:42px;height:42px}html.touch-mode .pos-v2-search-row .pos-v2-icon-btn svg{width:22px;height:22px}.pos-v2-categories-block{margin-bottom:1.1rem}.pos-v2-categories-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;padding:.55rem .65rem .55rem .15rem;margin:0 0 .5rem;border:none;background:transparent;cursor:pointer;color:var(--pos-text);font:inherit;text-align:left;border-radius:var(--pos-radius-md);transition:background .15s ease}.pos-v2-categories-toggle:hover{background:#0f172a0a}.pos-v2-categories-toggle__main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.pos-v2-categories-toggle__title{font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--pos-muted)}.pos-v2-categories-toggle__chip{font-size:.8rem;font-weight:600;padding:.2rem .55rem;border-radius:var(--pos-radius-pill);background:var(--pos-purple-soft);color:var(--pos-purple-dark);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-v2-categories-toggle__chip--muted{background:#f1f5f9;color:var(--pos-muted);font-weight:500}.pos-v2-categories-toggle__chevron{flex-shrink:0;width:.55rem;height:.55rem;border-right:2px solid var(--pos-muted);border-bottom:2px solid var(--pos-muted);transform:rotate(-45deg);transition:transform .2s ease;margin-top:-.2rem}.pos-v2-categories-toggle__chevron.is-open{transform:rotate(45deg);margin-top:0}.pos-v2-categories{display:flex;flex-wrap:wrap;gap:.5rem}.pos-v2-categories.pos-v2-categories--collapsed{display:none!important}.pos-v2-pill{padding:.5rem 1rem;border-radius:var(--pos-radius-pill);border:1px solid #e2e8f0;background:var(--pos-card);font-size:.875rem;font-weight:500;color:var(--pos-text);cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}.pos-v2-pill:hover{border-color:#cbd5e1}.pos-v2-pill.active{background:#1e293b;color:#fff;border-color:#1e293b;box-shadow:0 4px 12px #1e293b33}.pos-v2-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;-webkit-overflow-scrolling:touch}.pos-v2-loading{color:var(--pos-muted);font-size:.9rem;padding:1rem 0}.pos-v2-empty{color:var(--pos-muted);padding:2rem 0;text-align:center;font-size:.95rem}.pos-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.65rem}@media (min-width: 1200px){.pos-v2-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (min-width: 1600px){.pos-v2-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}}.pos-v2-card{position:relative;background:var(--pos-card);border-radius:var(--pos-radius-md);overflow:hidden;border:1px solid #eef2f6;box-shadow:0 4px 16px #0f172a0f;transition:transform .15s ease,box-shadow .15s ease;text-align:left}.pos-v2-card:hover:not(.is-disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0f172a1a}.pos-v2-card.is-disabled{opacity:.5;pointer-events:none}.pos-v2-card__img-wrap{position:relative;aspect-ratio:1 / 1;background:linear-gradient(145deg,#f1f5f9,#e2e8f0)}.pos-v2-card__img-wrap img{width:100%;height:100%;object-fit:cover}.pos-v2-card__add{position:absolute;bottom:6px;right:6px;width:32px;height:32px;border-radius:50%;border:none;background:#0f172a;color:#fff;font-size:1.1rem;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:transform .12s ease,background .2s}.pos-v2-card__add:hover{background:#1e293b;transform:scale(1.05)}.pos-v2-card__body{padding:.5rem .55rem .65rem}.pos-v2-card__name{font-weight:600;font-size:.82rem;line-height:1.25;margin-bottom:.25rem;color:var(--pos-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-v2-card__meta{font-size:.65rem;color:var(--pos-muted);margin-bottom:.25rem}.pos-v2-card__price{font-weight:700;font-size:.9rem;color:var(--pos-purple)}.pos-v2-order{background:var(--pos-card);border-left:1px solid #e2e8f0;padding:.85rem .7rem 1rem;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:-4px 0 24px #0f172a0a}@media (min-width: 1025px){.pos-v2-order{position:fixed;top:var(--pos-chrome-top, 108px);right:0;bottom:0;width:var(--pos-order-width);height:auto;max-height:none;z-index:8}}@media (max-width: 1024px){.pos-v2-order{position:relative;width:100%;flex:0 0 auto;min-height:200px;max-height:none;border-left:none;border-top:1px solid #e2e8f0;box-shadow:none}}.pos-v2-order__title{margin:0 0 .65rem;font-size:1rem;font-weight:700}.pos-v2-staff{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid #f1f5f9}.pos-v2-staff__avatar{width:34px;height:34px;border-radius:50%;background:var(--pos-purple-soft);color:var(--pos-purple);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.85rem}.pos-v2-staff__name{font-weight:600;font-size:.82rem}.pos-v2-staff__role{font-size:.68rem;color:var(--pos-muted)}.pos-v2-cart-empty{flex:1;color:var(--pos-muted);font-size:.8rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.25rem .35rem}.pos-v2-cart-list{list-style:none;padding:0;margin:0 0 .65rem;flex:1;overflow-y:auto;min-height:0;overscroll-behavior:contain}.pos-v2-cart-line{display:grid;grid-template-columns:38px 1fr auto;gap:.45rem;align-items:center;padding:.45rem 0;border-bottom:1px solid #f1f5f9}.pos-v2-cart-line__thumb{width:38px;height:38px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f1f5f9}.pos-v2-cart-line__info{min-width:0}.pos-v2-cart-line__name{font-weight:600;font-size:.76rem;line-height:1.2;margin-bottom:.15rem}.pos-v2-cart-line__comment{width:100%;font-size:.65rem;padding:.28rem .4rem;border:1px solid #e2e8f0;border-radius:6px;margin-top:.15rem}.pos-v2-cart-line__right{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.pos-v2-cart-line__price{font-weight:600;font-size:.72rem;color:var(--pos-text)}.pos-v2-qty{display:flex;align-items:center;gap:.25rem}.pos-v2-qty button{width:28px;height:28px;border-radius:50%;border:none;background:#e2e8f0;color:var(--pos-text);font-size:.95rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.pos-v2-qty button:hover{background:#cbd5e1}.pos-v2-qty button.danger{background:#fee2e2;color:var(--danger, #dc2626)}.pos-v2-qty span{min-width:1.1rem;text-align:center;font-weight:600;font-size:.78rem}.pos-v2-summary{background:#f8fafc;border-radius:10px;padding:.65rem .7rem;margin-bottom:.65rem;border:1px solid #eef2f6}.pos-v2-summary__row{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:.35rem;color:var(--pos-muted)}.pos-v2-summary__row strong{color:var(--pos-text);font-weight:600}.pos-v2-summary__row--total{margin-top:.45rem;padding-top:.45rem;border-top:1px solid #e2e8f0;font-size:.9rem;font-weight:700;color:var(--pos-text)}.pos-v2-summary__row--total span:last-child{color:var(--pos-purple)}.pos-v2-field{margin-bottom:.6rem}.pos-v2-field label{display:block;font-size:.68rem;font-weight:600;color:var(--pos-muted);margin-bottom:.28rem;text-transform:uppercase;letter-spacing:.04em}.pos-v2-field input,.pos-v2-field select{width:100%;padding:.42rem .55rem;border-radius:8px;border:1px solid #e2e8f0;font-size:.82rem;background:#fff}.pos-v2-continue{width:100%;padding:.65rem .75rem;border:none;border-radius:var(--pos-radius-pill);background:linear-gradient(135deg,var(--pos-purple) 0%,var(--pos-purple-dark) 100%);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 6px 20px #2563eb4d;transition:transform .12s ease,box-shadow .2s}.pos-v2-continue:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #2563eb59}.pos-v2-continue:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pos-v2-alert{border-radius:var(--pos-radius-md);padding:.75rem 1rem;margin-bottom:.75rem;font-size:.9rem}.pos-v2-alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.pos-v2-alert--ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.pos-v2-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pos-v2-modal-overlay--payment-touch{isolation:isolate;padding-bottom:min(280px,46vh);align-items:center}.pos-v2-modal-overlay--payment-touch .pos-touch-keyboard-dock--payment-strip{z-index:1}.pos-v2-modal-overlay--payment-touch .pos-v2-modal{position:relative;z-index:2}.pos-v2-modal{width:100%;max-width:420px;background:var(--pos-card);border-radius:var(--pos-radius-lg);padding:1.5rem;box-shadow:0 24px 48px #0f172a33}.pos-v2-modal h3{margin:0 0 .75rem;font-size:1.25rem}.pos-v2-modal__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.pos-v2-modal .btn{border-radius:var(--pos-radius-pill);padding:.55rem 1.15rem}.pos-v2-modal .btn-primary{background:var(--pos-purple)}.pos-v2-modal .btn-primary:hover{background:var(--pos-purple-dark)}html.touch-mode .pos-v2-qty button{width:40px;height:40px}html.touch-mode .pos-v2-card__add{width:40px;height:40px;bottom:8px;right:8px;font-size:1.25rem}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #1e293b;--text-muted: #64748b;--danger: #dc2626;--success: #16a34a;--warning: #ca8a04}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}#root{min-height:100vh}input,select,button,textarea{font:inherit}a{color:var(--primary);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{background:#cbd5e1}.card{background:var(--surface);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:1rem;margin-bottom:1rem}.table-row-clickable{cursor:pointer;transition:background .15s ease}.table-row-clickable:hover{background:#2563eb0f}.table-row-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.table-row-link{color:var(--primary);font-weight:500;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s ease}.table-row-clickable:hover .table-row-link{text-decoration-color:var(--primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2563eb33}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.875rem}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500}.badge-success{background:#dcfce7;color:var(--success)}.badge-warning{background:#fef9c3;color:var(--warning)}.badge-danger{background:#fee2e2;color:var(--danger)}.badge-info{background:#dbeafe;color:var(--primary)}.badge-plan-basic{background:#dcfce7;color:#166534}.badge-plan-standard{background:#dbeafe;color:#1e40af}.badge-plan-premium{background:#f3e8ff;color:#6b21a8}.badge-plan-enterprise{background:#1f2937;color:#f9fafb}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem}.stat-card{min-width:0}.stat-card .stat-value{font-size:clamp(1rem,2.2vw,1.4rem);font-weight:700;color:var(--primary);line-height:1.2;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.stat-card .stat-label{font-size:.875rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-overlay .modal{max-height:90vh;overflow:auto}.pos-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}.pos-medicine-card{text-align:left;background:#f1f5f9;border:1px solid #dbe5ef;border-radius:10px;padding:.65rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;min-width:0}.pos-medicine-card:hover{background:#e2e8f0;box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.pos-medicine-card:active{transform:translateY(0)}.pos-medicine-card.is-disabled,.pos-medicine-card:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.pos-medicine-name{font-weight:600;color:var(--text);margin-bottom:.35rem;line-height:1.25}.pos-medicine-meta{display:flex;justify-content:space-between;gap:.35rem;color:var(--text-muted);font-size:.78rem;margin-bottom:.35rem}.pos-medicine-price{color:var(--primary);font-weight:700}@media (max-width: 640px){.card{padding:.75rem}th,td{padding:.5rem;font-size:.875rem}.pos-layout{grid-template-columns:1fr!important}.pos-results-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}html.touch-mode{-webkit-tap-highlight-color:rgba(37,99,235,.15);touch-action:manipulation}html.touch-mode body{font-size:1.05rem}html.touch-mode .btn{min-height:48px;padding:.65rem 1.15rem;font-size:1rem;border-radius:10px}html.touch-mode .card{padding:1.2rem;border-radius:14px;margin-bottom:1.1rem}html.touch-mode .form-group{margin-bottom:1.15rem}html.touch-mode .form-group label{margin-bottom:.4rem;font-size:1rem}html.touch-mode .form-group input,html.touch-mode .form-group select,html.touch-mode .form-group textarea{min-height:48px;padding:.65rem 1rem;font-size:1.05rem;border-radius:10px}html.touch-mode .form-group textarea{min-height:6rem}html.touch-mode th,html.touch-mode td{padding:.95rem .85rem;font-size:.95rem}html.touch-mode th{font-size:.9rem}html.touch-mode .badge{padding:.3rem .6rem;font-size:.8rem;border-radius:8px}html.touch-mode .table-row-clickable:active{background:#2563eb1f}html.touch-mode .dashboard-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}html.touch-mode .stat-card .stat-value{font-size:clamp(1.15rem,2.5vw,1.55rem)}html.touch-mode .stat-card .stat-label{font-size:.95rem}html.touch-mode .modal-overlay{padding:1.25rem}html.touch-mode .modal-overlay .modal .btn{min-width:44px}html.touch-mode .pos-results-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}html.touch-mode .pos-medicine-card{padding:1rem;border-radius:12px;min-height:88px}html.touch-mode .pos-medicine-name{font-size:1.05rem;margin-bottom:.45rem}html.touch-mode .pos-medicine-meta{font-size:.88rem}html.touch-mode .pos-medicine-price{font-size:1.1rem}html.touch-mode .pos-layout .btn{min-width:48px;min-height:48px;padding:.55rem .85rem!important}
