:root{--bg: #eff6ff;--panel: rgba(255, 255, 255, .74);--panel-soft: rgba(248, 250, 252, .72);--text: #0f172a;--muted: #64748b;--line: rgba(148, 163, 184, .22);--accent: #2563eb;--accent-2: #38bdf8;--accent-3: #0f4c81;--good: #059669;--warn: #d97706;--danger: #dc2626;--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .86);--glass-border: rgba(255, 255, 255, .48);--blue-shadow: 0 24px 70px rgba(37, 99, 235, .16);--shadow: 0 18px 45px rgba(15, 23, 42, .08);--radius: 24px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 6%,rgba(56,189,248,.24),transparent 30%),radial-gradient(circle at 92% 4%,rgba(37,99,235,.18),transparent 28%),radial-gradient(circle at 28% 94%,rgba(14,165,233,.16),transparent 30%),linear-gradient(135deg,#f8fafc 0%,#eff6ff 46%,#e0f2fe 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(56px);opacity:.48}body:before{width:360px;height:360px;top:86px;right:8%;background:rgba(56,189,248,.32)}body:after{width:300px;height:300px;left:22%;bottom:36px;background:rgba(37,99,235,.18)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;background:radial-gradient(circle at 18% 10%,rgba(56,189,248,.24),transparent 34%),radial-gradient(circle at 88% 84%,rgba(37,99,235,.22),transparent 32%),linear-gradient(160deg,#0f172a 0%,#0f4c81 52%,#1e3a8a 100%);color:#fff;display:flex;flex-direction:column;gap:24px;box-shadow:18px 0 50px #0f172a2e}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#0f172a;background:linear-gradient(135deg,#e0f2fe,#ffffff 48%,#38bdf8);font-weight:900;box-shadow:0 18px 35px #0ea5e938}.brand-mark.logo-mark{background:#fff;padding:4px}.brand-mark img,.store-logo-preview img,.report-logo-box img{width:100%;height:100%;object-fit:contain}.brand strong,.brand span,.side-card span,.side-card small{display:block}.brand strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand span,.side-card span,.side-card small{color:#ffffffa3;font-size:12px}.nav-list{display:grid;gap:8px}.nav-item{min-height:46px;border:1px solid transparent;border-radius:16px;background:transparent;color:#dbeafed1;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;transition:.2s ease}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.13);border-color:#ffffff2e;color:#fff;box-shadow:inset 0 1px #ffffff24,0 14px 30px #02061729}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.side-card{margin-top:auto;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);border-radius:22px;padding:16px;box-shadow:inset 0 1px #ffffff1f,0 18px 34px #02061729;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.side-card strong{display:block;margin:7px 0;font-size:22px}.main{min-width:0;padding:28px 28px 104px}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:4px 2px}.topbar p{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.topbar h1{margin:0;font-size:clamp(26px,4vw,38px);line-height:1.04}.top-actions,.toolbar,.form-row,.cart-line,.receipt-actions,.stock-adjust{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-pill{min-height:42px;border:1px solid var(--line);border-radius:999px;background:var(--panel);display:inline-flex;align-items:center;gap:8px;padding:0 14px;font-weight:800}.user-pill small{color:var(--muted);font-size:12px;text-transform:uppercase}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.icon-btn{border:0;min-height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:800;transition:.2s ease}.primary-btn{background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;box-shadow:0 16px 34px #2563eb3d}.primary-btn:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.secondary-btn{background:rgba(219,234,254,.82);color:#1d4ed8;border:1px solid rgba(37,99,235,.12)}.ghost-btn{background:rgba(255,255,255,.72);color:var(--text);border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 24px #0f172a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.danger-btn{background:#feeceb;color:var(--danger)}.danger-btn:disabled{cursor:not-allowed;opacity:.46}.icon-btn{width:42px;padding:0;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.5);color:var(--text);box-shadow:0 10px 24px #0f172a0f}.menu-btn{display:none}.view{display:grid;gap:22px}.auth-screen .sidebar,.auth-screen .bottom-nav,.auth-screen .menu-btn,.auth-screen .topbar{display:none}.auth-screen .app-shell{grid-template-columns:1fr}.auth-screen .main{min-height:100vh;padding:0;overflow:hidden;background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(231,244,247,.92) 45%,rgba(255,255,255,.98)),radial-gradient(circle at 14% 16%,rgba(21,97,109,.18),transparent 28%),radial-gradient(circle at 86% 24%,rgba(76,132,180,.16),transparent 30%)}.login-wrap{position:relative;min-height:100vh;display:grid;place-items:center;padding:28px;overflow:hidden;isolation:isolate}.login-wrap:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:-3;background:conic-gradient(from 120deg at 50% 50%,rgba(21,97,109,.12),rgba(76,132,180,.12),rgba(255,255,255,.2),rgba(21,97,109,.1));filter:blur(72px);animation:loginMesh 24s ease-in-out infinite alternate}.login-bg{position:absolute;z-index:-2;width:48vw;max-width:620px;min-width:260px;aspect-ratio:1.8 / 1;border-radius:45% 55% 42% 58%;filter:blur(42px);opacity:.32;transform:translateZ(0);pointer-events:none}.login-bg-one{left:-12%;top:8%;background:linear-gradient(135deg,rgba(21,97,109,.52),rgba(203,243,240,.3));animation:loginFloatOne 22s ease-in-out infinite}.login-bg-two{right:-14%;bottom:8%;background:linear-gradient(135deg,rgba(58,129,191,.38),rgba(255,255,255,.45));animation:loginFloatTwo 26s ease-in-out infinite}.login-bg-three{left:30%;bottom:-18%;background:linear-gradient(135deg,rgba(21,97,109,.28),rgba(148,163,184,.2));animation:loginFloatThree 30s ease-in-out infinite}.login-card{width:min(100%,468px);position:relative;z-index:1;background:rgba(255,255,255,.94);border:1px solid rgba(226,232,240,.9);border-radius:30px;box-shadow:0 28px 80px #0f172429,0 2px 10px #0f17240d;padding:30px;display:grid;gap:22px;animation:loginCardIn .55s ease both}.login-brand{display:grid;justify-items:center;text-align:center;gap:8px}.login-logo{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;color:#0f1724;background:linear-gradient(135deg,#ffcf85,#cbf3f0);font-weight:900;font-size:24px;box-shadow:0 16px 34px #15616d2e;overflow:hidden}.login-logo.logo-mark{background:#fff;padding:6px;border:1px solid var(--line)}.login-logo img{width:100%;height:100%;object-fit:contain}.login-brand strong{display:block;max-width:100%;overflow-wrap:anywhere;color:#0f172a;font-size:28px;line-height:1.15;letter-spacing:0}.login-brand span,.login-demo-head span{color:var(--muted);font-size:14px;line-height:1.45}.login-form{display:grid;gap:15px}.login-form .field input{min-height:50px;border-radius:16px;background:#fbfdff;border-color:#d9e2ea}.login-form .field input:focus,.password-field:focus-within{border-color:#15616d94;box-shadow:0 0 0 4px #15616d1f}.password-field{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:50px;border:1px solid #d9e2ea;border-radius:16px;background:#fbfdff;overflow:hidden;transition:.2s ease}.password-field input{border:0;min-height:48px;box-shadow:none;background:transparent}.password-field input:focus{box-shadow:none}.password-toggle{min-height:38px;margin-right:6px;border:0;border-radius:12px;background:#e8f2f3;color:var(--accent);font-weight:800;padding:0 12px;cursor:pointer}.login-submit{min-height:50px;border-radius:16px}.login-demo{display:grid;gap:10px;border-radius:20px;background:#f4f7fb;border:1px solid #e2e8f0;padding:16px}.login-demo-head{display:grid;gap:2px;margin-bottom:2px}.login-demo-head strong,.demo-account strong{color:#0f172a}.demo-account{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(226,232,240,.9);padding:12px}.demo-account div{display:grid;gap:4px}.demo-account span{color:var(--muted);font-size:13px}.demo-fill-btn{min-height:34px;border:1px solid rgba(21,97,109,.28);border-radius:12px;background:#ffffff;color:var(--accent);font-weight:800;padding:0 10px;cursor:pointer;transition:.2s ease;white-space:nowrap}.demo-fill-btn:hover,.password-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 22px #15616d1f}@keyframes loginCardIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loginMesh{0%{transform:rotate(0) scale(1)}to{transform:rotate(8deg) scale(1.08)}}@keyframes loginFloatOne{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(10vw,5vh,0) rotate(6deg)}}@keyframes loginFloatTwo{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-8vw,-6vh,0) rotate(-5deg)}}@keyframes loginFloatThree{0%,to{transform:translateZ(0)}50%{transform:translate3d(4vw,-7vh,0)}}.access-denied{min-height:300px;align-content:center;justify-items:start}.access-denied p{max-width:560px}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.metric-card,.product-card,.cart-panel{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{padding:20px}.metric-card{padding:18px;min-height:126px}.expense-hero{background:linear-gradient(135deg,#ffffff,#f4fbfb);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.expense-title{display:flex;align-items:center;gap:14px}.expense-title h2,.expense-title p{margin:0}.expense-title h2{font-size:26px}.expense-icon,.expense-cat-icon{border-radius:16px;background:#e8f2f3;color:var(--accent);display:grid;place-items:center;font-weight:900}.expense-icon{width:54px;height:54px}.expense-add{background:linear-gradient(135deg,#15616d,#0f3d46)}.expense-panel{border-radius:24px}.expense-metric{position:relative;overflow:hidden;display:grid;align-content:center;gap:8px;background:linear-gradient(180deg,#fff,#fbfcfe)}.expense-metric strong{line-height:1.15}.expense-metric small{color:var(--muted);font-weight:700}.expense-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.expense-filter-field{display:grid;gap:7px;min-width:0}.expense-filter-field span{color:var(--ink);font-size:12px;font-weight:800}.expense-filter-field .search,.expense-filter-field button{width:100%}.reset-field{align-self:end}.expense-bar-row{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.expense-bar-row:last-child{border-bottom:0}.expense-cat-icon{width:44px;height:44px;border-radius:14px}.expense-cat-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.expense-bar-main>div:first-child{display:flex;justify-content:space-between;gap:12px}.expense-bar-main span{color:var(--muted);font-size:13px;font-weight:700}.expense-card-list{display:none}.expense-mobile-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:14px;display:grid;gap:10px}.expense-mobile-card span{display:block;color:var(--muted);font-size:12px}.expense-mobile-meta{display:flex;justify-content:space-between;gap:10px}.report-toolbar .panel-head{align-items:end}.report-period{min-width:180px}.report-document{width:min(100%,980px);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:42px;color:#111827}.report-header{position:relative;text-align:center;border-bottom:2px solid #15616d;padding:0 82px 18px;margin-bottom:22px;min-height:82px}.report-logo-box{position:absolute;left:0;top:0;width:64px;height:64px;border:1px solid #d8dee8;border-radius:12px;display:grid;place-items:center;padding:6px}.report-header-text{width:100%}.report-header h2,.report-header p{margin:0}.report-header h2{font-size:24px;letter-spacing:.04em}.report-header strong{display:block;margin:8px 0 4px;font-size:20px}.report-section{margin-top:24px;break-inside:avoid}.report-section h3{margin:0 0 10px;color:#12343b;font-size:14px;letter-spacing:.03em;text-transform:uppercase}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th{background:#15616d;color:#fff;text-align:left}.report-table th,.report-table td{border:1px solid #d8dee8;padding:8px 9px;vertical-align:top}.report-table .num,.report-table th:last-child{text-align:right}.empty-cell{color:var(--muted);text-align:center}.negative{color:var(--danger);font-weight:800}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:18px;text-align:center}.signature-grid>div>div{height:86px}.store-logo-preview{width:96px;height:96px;border:1px solid var(--line);border-radius:18px;background:var(--panel-soft);display:grid;place-items:center;padding:8px;color:var(--accent);font-weight:900}.monthly-sales-panel{overflow:hidden}.monthly-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.monthly-chart{display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));align-items:end;gap:10px;min-height:260px;overflow-x:auto;padding:12px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chart-legend{display:flex;gap:16px;align-items:center;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:800}.chart-legend span{display:inline-flex;gap:6px;align-items:center}.chart-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.sales-dot{background:#15616d}.profit-dot{background:#16a34a}.monthly-bar-group{display:grid;align-content:end;justify-items:center;gap:8px;min-width:54px}.bar-axis{height:210px;width:48px;display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid #94a3b8}.bar-value{width:34px;border-radius:8px 8px 3px 3px;align-self:end;background:linear-gradient(180deg,#1e8794,#15616d)}.monthly-bar-group strong{font-size:12px;font-weight:800}.metric-card span,.section-kicker,.field span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.metric-card strong{display:block;margin:10px 0 7px;font-size:24px}.metric-card small,.muted{color:var(--muted)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h2,.panel h3{margin:0}.panel h2{font-size:20px}.panel h3{font-size:17px}.chart{min-height:260px;display:flex;align-items:end;gap:12px;padding-top:14px}.bar-wrap{flex:1;display:grid;gap:8px;align-items:end;text-align:center;color:var(--muted);font-size:11px}.bar{min-height:8px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,var(--accent-2),var(--accent))}.mini-bar{height:8px;margin-top:8px;border-radius:999px;background:var(--panel-soft);overflow:hidden}.mini-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.category-row,.stock-row,.sale-row,.expense-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.category-row:last-child,.stock-row:last-child,.sale-row:last-child,.expense-row:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.badge.good{background:#e7f7ef;color:var(--good)}.badge.warn{background:#fff4db;color:var(--warn)}.badge.danger{background:#feeceb;color:var(--danger)}.badge.neutral{background:#edf0f5;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:12px;text-transform:uppercase}.action-cell{display:flex;gap:8px}.product-cell,.cart-product{display:flex;align-items:center;gap:11px;min-width:220px}.cart-product{min-width:0}.mini-thumb{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:radial-gradient(circle at 20% 20%,rgba(255,159,28,.26),transparent 32%),linear-gradient(135deg,#ecf8f8,#f7eefc);display:grid;place-items:center;color:var(--accent);font-size:13px;font-weight:800;overflow:hidden}.mini-thumb img{width:100%;height:100%;object-fit:cover}.search,.field input,.field select,.field textarea{width:100%;min-height:44px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:rgba(255,255,255,.78);color:var(--text);padding:0 13px;outline:0;box-shadow:inset 0 1px #ffffff80}.field input[readonly]{background:var(--panel-soft);color:var(--muted);cursor:default}.field textarea{padding:12px 13px;min-height:92px;resize:vertical}.field{display:grid;gap:7px}.form-error{border:1px solid #ef8883;background:#feeceb;color:var(--danger);border-radius:14px;padding:12px 14px;font-weight:800}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1 / -1}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.product-card{padding:14px;display:grid;gap:12px}.product-thumb{height:108px;border-radius:16px;background:radial-gradient(circle at 20% 20%,rgba(255,159,28,.28),transparent 28%),linear-gradient(135deg,#ecf8f8,#f7eefc);display:grid;place-items:center;color:var(--accent);font-size:26px;font-weight:800;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover}.photo-input{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start}.photo-input .product-thumb{height:150px}.photo-controls{display:grid;gap:10px}.photo-controls input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-button{min-height:44px;border:1px dashed #cbd2df;border-radius:14px;background:var(--panel-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-weight:800;cursor:pointer}.photo-actions{display:flex;gap:10px;flex-wrap:wrap}.product-detail{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:20px;align-items:start}.product-detail-photo{min-height:260px;border-radius:20px;background:radial-gradient(circle at 20% 20%,rgba(255,159,28,.28),transparent 28%),linear-gradient(135deg,#ecf8f8,#f7eefc);display:grid;place-items:center;color:var(--accent);font-size:44px;font-weight:800;overflow:hidden}.product-detail-photo img{width:100%;height:100%;object-fit:cover}.product-detail-info{display:grid;gap:16px}.stock-product-summary{display:grid;grid-template-columns:190px 1fr;gap:16px;align-items:start}.stock-product-summary .product-detail-photo{min-height:190px}.stock-summary-grid,.filter-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-choice-grid button{min-height:42px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);font-weight:800;text-align:left;padding:0 13px}.filter-choice-grid button.active{background:#e8f2f3;border-color:#15616d59;color:var(--accent)}.detail-item{border:1px solid var(--line);border-radius:16px;padding:13px;background:var(--panel-soft)}.detail-item span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-title{display:flex;align-items:start;justify-content:space-between;gap:10px}.product-title strong{display:block}.product-title small{color:var(--muted)}.mobile-product-desc,.mobile-product-action,.mobile-cart-summary{display:none}.mobile-checkout-list{display:grid;gap:10px}.mobile-checkout-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.mobile-checkout-row strong,.mobile-checkout-row small{display:block}.mobile-checkout-row small{margin-top:4px;color:var(--muted);font-size:12px}.mobile-checkout-row span{font-weight:900;white-space:nowrap}.mobile-checkout-totals{margin-top:14px}.mobile-paid-field,.mobile-payment-diff,.mobile-payment-method{margin-top:12px}.cart-panel{position:sticky;top:18px;padding:18px;display:grid;gap:14px}.tax-toggle{grid-column:1 / -1;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft);padding:13px;display:flex;align-items:center;justify-content:space-between;gap:14px}.tax-toggle strong,.tax-toggle small,.tax-toggle span{display:block}.tax-toggle small{margin:4px 0 8px;color:var(--muted);font-size:12px}.tax-toggle span{color:var(--accent);font-weight:800}.switch{position:relative;width:58px;height:34px;flex:0 0 58px}.switch input{position:absolute;opacity:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#d8dde8;transition:.2s ease}.switch span:after{content:"";position:absolute;width:26px;height:26px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 4px 12px #1720332e;transition:.2s ease}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(24px)}.cart-list{display:grid;gap:10px;max-height:330px;overflow:auto}.cart-line{justify-content:space-between;border:1px solid var(--line);border-radius:16px;padding:10px}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.qty-wrap{display:grid;justify-items:center;gap:4px}.qty button{width:30px;height:30px;border:0;background:var(--panel-soft);font-weight:800}.qty input{width:42px;min-height:30px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:var(--panel);color:var(--text);text-align:center;outline:0;font-weight:800}.qty-error{color:var(--danger);font-size:11px;font-weight:800;text-align:center}.qty span{min-width:34px;text-align:center;font-weight:800}.totals{display:grid;gap:9px}.total-row{display:flex;justify-content:space-between;gap:12px}.total-row.grand{padding-top:12px;border-top:1px solid var(--line);font-size:20px;font-weight:800}.payment-diff.plus strong,.payment-diff.plus span{color:var(--good)}.payment-diff.minus strong,.payment-diff.minus span{color:var(--danger)}.empty{min-height:150px;display:grid;place-items:center;text-align:center;color:var(--muted);background:var(--panel-soft);border:1px dashed #cbd2df;border-radius:var(--radius);padding:18px}.settings-tabs{display:inline-flex;gap:6px;padding:6px;background:var(--panel-soft);border:1px solid var(--line);border-radius:16px}.settings-tabs button{min-height:38px;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:0 14px;font-weight:800}.settings-tabs button.active{background:var(--panel);color:var(--accent);box-shadow:0 8px 18px #17203314}.danger-zone{border:1px solid #fac7c5;background:#fff1f0;color:#7a201d;border-radius:var(--radius);padding:16px;margin-bottom:16px}.danger-zone strong,.danger-zone p{margin:0}.danger-zone p{margin-top:7px;color:#9f302c}.danger-zone.strong{border-color:#ef8883;background:#feeceb}.reset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reset-card{min-height:126px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.reset-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:rgba(15,23,36,.45);display:grid;place-items:center;padding:18px}.modal{width:min(780px,100%);max-height:min(88vh,820px);overflow:auto;background:var(--panel);border-radius:24px;box-shadow:0 26px 80px #0f172447;padding:22px}.small-modal{width:min(520px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.qris-modal{width:min(560px,100%)}.qris-summary{display:grid;gap:16px}.qris-summary p{margin:0;color:var(--muted);line-height:1.6}.qris-qr{display:grid;place-items:center;border:1px dashed rgba(21,97,109,.35);border-radius:22px;padding:16px;background:linear-gradient(180deg,#f8fcfc,#eef8f8)}.qris-qr img{width:min(260px,100%);height:auto;border-radius:18px;box-shadow:0 16px 34px #15616d29}.qris-dummy{width:min(260px,100%);min-height:220px;display:grid;place-items:center;text-align:center;overflow-wrap:anywhere;padding:18px;border-radius:18px;background:white;color:var(--accent);font-weight:900;line-height:1.45}.toast{position:fixed;right:24px;bottom:24px;z-index:30;background:#101828;color:#fff;border-radius:16px;padding:13px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s ease;max-width:320px}.toast.show{opacity:1;transform:translateY(0)}.bottom-nav{display:none}.receipt{width:320px;margin:0 auto;color:#111;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.receipt h2,.receipt p{text-align:center;margin:4px 0}.receipt-line{display:flex;justify-content:space-between;border-bottom:1px dashed #aaa;padding:7px 0;gap:12px}@media (max-width: 1120px){.metrics,.three-col,.expense-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-layout,.two-col{grid-template-columns:1fr}.cart-panel{position:static}}@media (max-width: 780px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{position:fixed;inset:0 auto 0 0;z-index:25;display:flex;width:min(86vw,320px);box-shadow:24px 0 70px #0f172452}.main{padding:16px 14px 98px}.topbar{align-items:flex-start}.menu-btn{display:inline-flex}.top-actions .ghost-btn{display:none}.metrics,.three-col,.form-grid,.reset-grid{grid-template-columns:1fr}.expense-hero{display:grid}.expense-add{width:100%}.expense-filter-grid,.monthly-summary{grid-template-columns:1fr}.report-document{padding:22px 14px}.report-header{padding:0 0 18px}.report-logo-box{position:static;margin:0 auto 10px;width:52px;height:52px}.signature-grid{grid-template-columns:1fr;gap:24px}.panel,.metric-card{border-radius:16px;padding:16px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border-radius:22px;background:rgba(15,23,36,.94);box-shadow:0 18px 50px #0f172447}.bottom-nav .nav-item{min-height:50px;padding:0;justify-content:center;border-radius:16px}.bottom-nav .nav-item span{display:none}}@media (max-width: 520px){.login-wrap{padding:18px}.login-card{border-radius:24px;padding:22px;gap:18px}.login-brand strong{font-size:24px}.login-logo{width:58px;height:58px;border-radius:19px}.demo-account{grid-template-columns:1fr;align-items:stretch}.demo-fill-btn{width:100%}.topbar h1{font-size:25px}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{width:100%}.top-actions .primary-btn{width:46px;padding:0}.top-actions .primary-btn span{display:none}.product-grid{grid-template-columns:1fr}.expense-panel .table-wrap{display:none}.expense-card-list{display:grid;gap:12px}.photo-input{grid-template-columns:1fr}.photo-input .product-thumb{height:180px}.product-detail{grid-template-columns:1fr}.product-detail-photo{min-height:220px}.stock-product-summary,.stock-summary-grid,.filter-choice-grid,.detail-grid{grid-template-columns:1fr}.stock-product-summary .product-detail-photo{min-height:180px}.settings-tabs,.reset-card{width:100%}.settings-tabs{display:grid;grid-template-columns:1fr 1fr}.reset-card{display:grid}.chart{gap:7px}}@media (prefers-reduced-motion: reduce){.login-wrap:before,.login-bg,.login-card{animation:none}}@media print{@page{size:A4;margin:14mm}body{background:#fff}body *{visibility:hidden}.report-document,.report-document *,.modal .receipt,.modal .receipt *{visibility:visible}.report-document{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;box-shadow:none;border:0;border-radius:0;padding:0}.report-toolbar,.no-print,.receipt-actions,.modal-head .icon-btn{display:none}.report-table-wrap{overflow:visible}.report-table{font-size:10px}}.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.icon-btn:hover,.demo-fill-btn:hover{transform:translateY(-1px)}.badge.good{background:rgba(16,185,129,.13);color:#047857}.badge.warn{background:rgba(245,158,11,.14);color:#b45309}.badge.danger{background:rgba(239,68,68,.13);color:#b91c1c}.badge.neutral{background:rgba(37,99,235,.12);color:#1d4ed8}.panel-head,.report-toolbar,.cashier-layout,.product-toolbar,.expense-filter-grid,.stock-summary-grid{position:relative}.cart-line,.cart-product,.stock-product-summary,.reset-card,.expense-mobile-card,.product-detail,.detail-item,.photo-input,.qris-qr{background:rgba(255,255,255,.62);border-color:#ffffff7a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav{background:rgba(15,23,42,.88);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(226,232,240,.45)}::-webkit-scrollbar-thumb{background:rgba(37,99,235,.32);border-radius:999px}.view{gap:24px}.panel,.metric-card,.product-card,.cart-panel,.expense-hero,.expense-panel,.monthly-sales-panel,.report-toolbar,.report-document,.modal,.reset-card,.stock-product-summary,.product-detail,.detail-item,.photo-input,.qris-summary,.login-card{background:rgba(255,255,255,.74)!important;border:1px solid rgba(255,255,255,.52)!important;box-shadow:0 18px 45px #0f172a14!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel,.metric-card,.product-card,.cart-panel,.expense-hero,.expense-panel,.monthly-sales-panel,.report-toolbar,.modal{border-radius:24px!important}.metric-card{min-height:140px!important;padding:20px!important;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;width:96px;height:96px;top:-36px;right:-28px;border-radius:999px;background:linear-gradient(135deg,rgba(56,189,248,.28),rgba(37,99,235,.08));pointer-events:none}.metric-card span,.section-kicker,.topbar p{color:#475569!important;letter-spacing:.04em}.metric-card strong,.panel h2,.panel h3,.topbar h1{color:#0f172a}.primary-btn{background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;box-shadow:0 16px 34px #2563eb3d!important}.secondary-btn,.password-toggle,.demo-fill-btn{background:rgba(219,234,254,.82)!important;color:#1d4ed8!important;border:1px solid rgba(37,99,235,.14)!important}.ghost-btn,.user-pill,.icon-btn,.search,.field input,.field select,.field textarea{background:rgba(255,255,255,.76)!important;border-color:#ffffff8a!important;box-shadow:0 10px 24px #0f172a0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.search:focus,.field input:focus,.field select:focus,.field textarea:focus,.password-field:focus-within{border-color:#2563eb94!important;box-shadow:0 0 0 4px #2563eb1f!important}.table-wrap,.report-table-wrap{border:1px solid rgba(255,255,255,.52)!important;border-radius:20px!important;background:rgba(255,255,255,.52)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}table,.report-table{background:transparent!important}th,.report-table th{background:rgba(219,234,254,.54)!important;color:#475569!important}td,.report-table td{border-bottom-color:#94a3b82e!important}.monthly-chart .bar-fill,.chart .bar i,.bar i{background:linear-gradient(90deg,#2563eb,#38bdf8)!important;box-shadow:0 10px 24px #2563eb2e}.badge.good{background:rgba(16,185,129,.13)!important;color:#047857!important}.badge.warn{background:rgba(245,158,11,.14)!important;color:#b45309!important}.badge.danger{background:rgba(239,68,68,.13)!important;color:#b91c1c!important}.badge.neutral{background:rgba(37,99,235,.12)!important;color:#1d4ed8!important}.expense-icon,.expense-cat-icon,.product-thumb,.mini-thumb,.report-logo-box{background:rgba(219,234,254,.7)!important;color:#1d4ed8!important}.cart-line,.cart-product,.expense-mobile-card,.qris-qr,.qris-dummy{background:rgba(255,255,255,.62)!important;border-color:#ffffff7a!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar .brand strong{color:#fff}.sidebar .brand span,.side-card span,.side-card small{color:#dbeafebd!important}@media (max-width: 780px){.sidebar{border-radius:0 24px 24px 0}.main{padding:20px 16px 104px}.panel,.metric-card,.product-card,.cart-panel{border-radius:20px!important}}.receipt-backdrop{background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.receipt-modal{width:min(720px,100%);padding:22px;border-radius:28px!important}.receipt-modal-head{margin-bottom:10px}.receipt-success{display:grid;justify-items:center;text-align:center;gap:8px;padding:8px 10px 18px;animation:receiptFadeUp .38s ease both}.receipt-success-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:999px;color:#059669;background:radial-gradient(circle at 35% 25%,#ffffff,rgba(209,250,229,.92));border:1px solid rgba(16,185,129,.25);box-shadow:0 18px 42px #05966933;animation:receiptCheckPop .54s cubic-bezier(.2,1.35,.35,1) both}.receipt-success-icon svg{width:34px;height:34px;stroke-width:3}.receipt-success h2{margin:4px 0 0;color:#0f172a;font-size:28px;line-height:1.15}.receipt-success p{margin:0;color:#64748b;font-weight:600}.receipt-modern{width:min(100%,520px);margin:0 auto;color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.92));border:1px solid rgba(226,232,240,.92);border-radius:26px;padding:22px;box-shadow:0 20px 55px #0f172a1a}.receipt-store{display:grid;justify-items:center;text-align:center;gap:6px;padding-bottom:16px;border-bottom:1px dashed rgba(148,163,184,.5)}.receipt-store-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#ffffff 50%,#bae6fd);color:#1d4ed8;font-weight:900;overflow:hidden;box-shadow:0 14px 32px #2563eb24}.receipt-store-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.receipt-store h2{margin:4px 0 0;font-size:22px;line-height:1.18}.receipt-store p,.receipt-note{margin:0;color:#64748b;font-size:13px;line-height:1.55}.receipt-section{padding:16px 0;border-bottom:1px solid rgba(226,232,240,.85)}.receipt-section h3{margin:0 0 12px;color:#0f4c81;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.receipt-info-grid,.receipt-payment-list{display:grid;gap:8px}.receipt-info-row,.receipt-payment-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;color:#64748b;font-size:13px}.receipt-info-row strong,.receipt-payment-row strong{max-width:58%;color:#0f172a;text-align:right;overflow-wrap:anywhere}.receipt-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.receipt-items{display:grid;gap:0}.receipt-item-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed rgba(148,163,184,.42)}.receipt-item-row:first-child{padding-top:0}.receipt-item-row:last-child{border-bottom:0;padding-bottom:0}.receipt-item-row div{display:grid;gap:4px}.receipt-item-row strong{color:#0f172a;line-height:1.35}.receipt-item-row span{color:#64748b;font-size:12px}.receipt-item-row b{color:#0f172a;white-space:nowrap}.receipt-payment-row.total{align-items:center;margin:4px 0 8px;padding:12px 14px;border-radius:16px;background:rgba(219,234,254,.72);color:#1e3a8a}.receipt-payment-row.total strong{color:#0f172a;font-size:18px}.receipt-total-card{display:grid;gap:6px;margin-top:18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0f4c81,#2563eb 58%,#38bdf8);color:#fff;text-align:center;box-shadow:0 18px 40px #2563eb3d}.receipt-total-card span{font-size:13px;font-weight:800;opacity:.82;text-transform:uppercase;letter-spacing:.08em}.receipt-total-card strong{font-size:30px;line-height:1.1}.receipt-note{margin-top:16px;text-align:center;font-weight:700}.receipt-modal-actions{justify-content:center;margin-top:18px}@keyframes receiptCheckPop{0%{opacity:0;transform:scale(.72)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes receiptFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 560px){.receipt-modal{padding:16px}.receipt-modern{padding:18px;border-radius:22px}.receipt-success h2{font-size:24px}.receipt-info-row,.receipt-payment-row,.receipt-item-row{gap:10px}.receipt-total-card strong{font-size:26px}}@media print{.receipt-modern,.receipt-modern *,.receipt-success,.receipt-success *{visibility:visible!important}.receipt-modern{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;box-shadow:none!important;border:0!important;border-radius:0}.receipt-success{display:none}}.receipt-payment-row.total{margin:8px 0;padding:10px 0!important;border-top:1px dashed rgba(15,23,42,.55);border-bottom:1px dashed rgba(15,23,42,.55);border-radius:0!important;background:transparent!important;color:#0f172a!important}.receipt-payment-row.total span,.receipt-payment-row.total strong{color:#0f172a!important;font-weight:900}.receipt-payment-row.total strong{font-size:19px}.receipt-total-card{display:none!important}.receipt-payment-section{border-bottom:1px dashed rgba(148,163,184,.55)}.receipt-modern{--thermal-width: 52mm}.receipt-modern[data-paper="80mm"]{--thermal-width: 76mm}.receipt-item-row div,.receipt-item-row strong,.receipt-info-row strong,.receipt-payment-row strong{min-width:0;overflow-wrap:anywhere;word-break:break-word}@media print{@page{size:58mm auto;margin:0}html,body{width:58mm!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff!important}body:before,body:after,.app-shell,.sidebar,.topbar,.view,.bottom-nav,.modal-head,.receipt-success,.receipt-modal-actions,.receipt-actions,.toast,.modal-backdrop:before,.modal-backdrop:after{display:none!important}body *{visibility:hidden!important;box-shadow:none!important;text-shadow:none!important;background:transparent!important;color:#000!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#modalHost,#modalHost *,.receipt-backdrop,.receipt-modal,.receipt-modern,.receipt-modern *{visibility:visible!important}#modalHost,.receipt-backdrop,.receipt-modal{position:static!important;inset:auto!important;display:block!important;width:58mm!important;min-width:0!important;max-width:58mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;transform:none!important}.receipt-modern{position:static!important;width:52mm!important;max-width:52mm!important;min-width:0!important;margin:0 auto!important;padding:2mm 1mm!important;border:0!important;border-radius:0!important;font-family:Arial,Inter,system-ui,sans-serif!important;font-size:10.5px!important;line-height:1.28!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.receipt-store{gap:1mm!important;padding-bottom:2mm!important;border-bottom:1px dashed #000!important}.receipt-store-logo{display:none!important}.receipt-store h2{margin:0!important;font-size:13px!important;line-height:1.18!important;font-weight:900!important;text-align:center!important}.receipt-store p,.receipt-note{font-size:10px!important;line-height:1.25!important;text-align:center!important}.receipt-section{padding:2mm 0!important;border-bottom:1px dashed #000!important}.receipt-section h3{margin:0 0 1.4mm!important;font-size:10px!important;font-weight:900!important;letter-spacing:0!important;text-transform:uppercase!important}.receipt-info-grid,.receipt-payment-list{gap:.8mm!important}.receipt-info-row,.receipt-payment-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:2mm!important;font-size:10.5px!important;line-height:1.25!important}.receipt-info-row strong,.receipt-payment-row strong{max-width:24mm!important;text-align:right!important;font-weight:800!important}.receipt-mono{font-family:Arial,Inter,system-ui,sans-serif!important;font-size:10px!important}.receipt-item-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:2mm!important;padding:1.6mm 0!important;border-bottom:1px dotted #555!important;break-inside:avoid!important}.receipt-item-row:first-child{padding-top:0!important}.receipt-item-row:last-child{border-bottom:0!important;padding-bottom:0!important}.receipt-item-row div{gap:.6mm!important}.receipt-item-row strong{font-size:10.5px!important;line-height:1.22!important;font-weight:800!important}.receipt-item-row span{font-size:9.6px!important;line-height:1.2!important}.receipt-item-row b{font-size:10.5px!important;white-space:nowrap!important;text-align:right!important}.receipt-payment-row.total{margin:1.2mm 0!important;padding:1.5mm 0!important;border-top:1px dashed #000!important;border-bottom:1px dashed #000!important}.receipt-payment-row.total span,.receipt-payment-row.total strong,.receipt-payment-row:nth-last-child(2) strong{font-size:12px!important;font-weight:900!important}.receipt-note{margin-top:2mm!important;padding-top:2mm!important;border-top:1px dashed #000!important;font-weight:700!important}}.cashier-name-panel{margin:14px 0 12px;padding:14px;border-radius:18px;background:rgba(219,234,254,.45);border:1px solid rgba(255,255,255,.58)}.cashier-name-panel .field{gap:8px}.cashier-name-panel input{font-weight:800}.cashier-name-panel.has-error{border-color:#dc26266b!important;background:rgba(254,226,226,.74)!important;box-shadow:0 0 0 4px #dc262614,0 14px 30px #7f1d1d1a}#cashierNameInput.input-error{border-color:#dc2626bd!important;box-shadow:0 0 0 4px #dc26261f!important;background:#fff7f7!important}.field-error{display:block;margin-top:8px;color:#991b1b;font-size:12px;font-weight:800}.toast.warning{background:#fff1f2;color:#991b1b;border:1px solid rgba(244,63,94,.28);box-shadow:0 18px 40px #7f1d1d29}@media (max-width: 780px){html,body,.app-shell,.main{max-width:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}.pos-layout{display:block;width:100%;max-width:100%;overflow-x:hidden;padding-bottom:138px}.pos-layout>.panel{padding:14px;min-width:0;overflow:hidden}.pos-layout .search,.pos-layout input,.pos-layout select,.pos-layout button{max-width:100%}.pos-layout .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0;padding-bottom:138px}.pos-layout .product-card{gap:8px;padding:10px;border-radius:18px;min-width:0;overflow:hidden}.pos-layout .product-thumb{height:auto;aspect-ratio:1 / .82;border-radius:14px;font-size:22px}.pos-layout .product-title{align-items:flex-start;gap:6px;min-width:0}.pos-layout .product-title strong{display:-webkit-box;min-height:34px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25}.pos-layout .product-title small{display:none}.pos-layout .stock-badge{flex:0 0 auto;padding:4px 7px;font-size:10px}.mobile-product-desc{display:block;min-height:28px;color:var(--muted);font-size:11px;line-height:1.3}.pos-layout .product-card .total-row{display:grid;align-items:start;gap:2px;min-width:0}.pos-layout .product-card .total-row span{font-size:14px;font-weight:900}.pos-layout .product-card .total-row small{font-size:11px}.desktop-add-btn{display:none}.mobile-product-action{display:flex}.mobile-product-action .secondary-btn{min-height:38px;width:100%;justify-content:center;border-radius:13px;padding:0 8px;font-size:12px}.mobile-qty-stepper{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;width:100%;min-height:38px;overflow:hidden;border:1px solid rgba(13,110,118,.2);border-radius:13px;background:#f8fcfc}.mobile-qty-stepper button{height:38px;border:0;background:rgba(13,110,118,.1);color:var(--accent);font-size:18px;font-weight:900}.mobile-qty-stepper button:disabled{opacity:.45}.mobile-qty-stepper strong{text-align:center;font-size:14px}.pos-layout .cart-panel{margin-top:14px;padding:14px}.mobile-cart-summary{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.76);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 18px 46px #0f172433;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-cart-copy{display:grid;gap:2px;min-width:0}.mobile-cart-copy small{color:var(--muted);font-size:11px;font-weight:800}.mobile-cart-copy strong{color:var(--text);font-size:18px;line-height:1.1}.mobile-cart-summary .primary-btn{width:auto;min-width:118px;min-height:44px;padding:0 14px;justify-content:center}.mobile-checkout-backdrop{align-items:end;padding:12px;z-index:40}.mobile-checkout-modal{width:100%;min-width:0;max-height:86vh;border-radius:24px 24px 18px 18px;padding:18px}body.mobile-final-transaction-open .mobile-cart-summary{display:none!important}}@media (max-width: 520px){.pos-layout .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-cart-summary{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}}@media (max-width: 768px){html,body,#app,.app-shell,.main,.view{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.main{padding:0 12px calc(108px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:23;min-height:0;margin:0 -12px 16px;padding:11px 12px;align-items:center;flex-wrap:wrap;background:rgba(248,251,255,.96);border-bottom:1px solid rgba(148,163,184,.2);box-shadow:0 12px 30px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar>div:first-child{min-width:0;flex:1 1 170px}.topbar h1{font-size:24px;line-height:1.08;overflow-wrap:anywhere}.topbar p{font-size:11px;line-height:1.2}.top-actions{flex:0 1 auto;min-width:0;justify-content:flex-end}.top-actions .user-pill{max-width:132px;min-width:0;overflow:hidden;padding:0 10px}.top-actions .user-pill span,.top-actions .user-pill small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel,.metric-card,.report-toolbar,.report-document,.table-wrap,.report-table-wrap,.product-detail,.stock-product-summary,.photo-input,.detail-item{width:100%;max-width:100%;min-width:0}.panel,.report-toolbar,.report-document{overflow:hidden}.panel-head,.report-toolbar .panel-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}.panel-head>div:first-child,.report-toolbar .panel-head>div:first-child{min-width:0;flex:1 1 190px}.panel-head h2,.panel-head p,.panel-head .muted{overflow-wrap:anywhere}.panel-head>.primary-btn,.panel-head>.secondary-btn,.panel-head>.ghost-btn,.panel-head>.danger-btn{width:100%;justify-content:center}.toolbar,.report-toolbar .toolbar,.panel-head .toolbar{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.toolbar .search,.toolbar input,.toolbar select,.toolbar button,.report-period,#stockStatusFilter,#stockHistoryType,#stockHistoryDate{width:100%!important;max-width:100%!important;min-width:0!important}.metrics,.three-col,.stock-summary-grid,.detail-grid{grid-template-columns:minmax(0,1fr)!important}.metric-card{min-height:0!important;padding:14px!important}.table-wrap,.report-table-wrap{display:block;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}table{min-width:680px;max-width:none}.report-table{min-width:720px;max-width:none;font-size:11px}th,td,.report-table th,.report-table td{padding:10px 9px}.product-cell,.cart-product{min-width:0;max-width:220px}.product-cell>div:last-child,.cart-product>div:last-child{min-width:0}.product-cell strong,.cart-product strong,.product-cell small,.cart-product small{overflow-wrap:anywhere}.action-cell{min-width:max-content;flex-wrap:wrap;align-items:center}.action-cell .secondary-btn,.action-cell .danger-btn,.action-cell .ghost-btn{width:auto;min-width:72px;padding:0 10px}.action-cell .icon-btn{width:38px;flex:0 0 38px}.report-document{padding:16px 10px;border-radius:16px!important}.report-header{min-height:0;padding:0 0 14px}.report-header h2{font-size:18px;line-height:1.18}.report-header strong{font-size:17px}.report-section{margin-top:18px}.report-section h3{font-size:12px;line-height:1.25}.bottom-nav{z-index:18}}@media (max-width: 430px){.main{padding-left:10px;padding-right:10px}.topbar{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.topbar h1{font-size:22px}.panel,.metric-card,.report-toolbar,.report-document{border-radius:16px!important}table{min-width:640px}.report-table{min-width:680px}}@media (max-width: 360px){.top-actions .user-pill{display:none}.topbar h1{font-size:21px}.panel,.metric-card,.report-toolbar,.report-document{padding-left:12px!important;padding-right:12px!important}}@media (max-width: 768px){.mobile-checkout-modal,.mobile-checkout-modal *{transition:none!important}.mobile-checkout-list{gap:12px}.mobile-checkout-row{display:grid;gap:10px;padding:12px;align-items:stretch}.mobile-checkout-row.has-error{border-color:#dc26265c;background:#fff7f7}.mobile-review-product{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.mobile-review-product strong,.mobile-review-product small{display:block;overflow-wrap:anywhere}.mobile-review-product b{white-space:nowrap;font-size:14px}.mobile-review-qty{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;min-height:40px;overflow:hidden;border:1px solid rgba(37,99,235,.16);border-radius:14px;background:rgba(255,255,255,.86)}.mobile-review-qty button,.mobile-review-qty input{min-width:0;border:0;background:transparent;text-align:center;font-weight:900}.mobile-review-qty button{color:#1d4ed8;background:rgba(219,234,254,.72);font-size:18px}.mobile-review-qty input{color:var(--text);outline:0}.mobile-payment-options{margin-top:12px}.mobile-payment-options details{border:1px solid rgba(226,232,240,.9);border-radius:18px;background:rgba(255,255,255,.82);padding:12px}.mobile-payment-options summary{cursor:pointer;font-weight:900;color:#0f172a}.mobile-payment-options .field{margin-top:12px}.mobile-tax-toggle{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:rgba(219,234,254,.5)}.mobile-tax-toggle strong,.mobile-tax-toggle small{display:block}.mobile-tax-toggle small{margin-top:3px;color:var(--muted)}.mobile-checkout-modal .receipt-actions{position:sticky;bottom:-18px;margin:14px -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid rgba(226,232,240,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.product-table-wrap,.stock-table-wrap,.stock-history-table-wrap{overflow:visible!important;border:0!important;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-card-table,.mobile-card-table thead,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block;width:100%;min-width:0!important;max-width:100%!important}.mobile-card-table{border-collapse:separate;border-spacing:0}.mobile-card-table thead{display:none}.mobile-card-table tbody{display:grid;gap:12px}.mobile-card-table tr{padding:14px;border:1px solid rgba(226,232,240,.86);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 12px 26px #0f172a12}.mobile-card-table td{border:0!important;padding:7px 0!important;text-align:left;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.mobile-card-table td:not(:first-child){display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(226,232,240,.66)!important}.mobile-card-table td:not(:first-child):before{flex:0 0 auto;color:#64748b;font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.product-management-table td:nth-child(2):before,.stock-management-table td:nth-child(2):before,.stock-history-table td:nth-child(4):before{content:"Kategori"}.product-management-table td:nth-child(3):before{content:"Harga"}.product-management-table td:nth-child(4):before{content:"Modal"}.product-management-table td:nth-child(5):before,.stock-management-table td:nth-child(3):before{content:"Stok"}.product-management-table td:nth-child(6):before,.stock-management-table td:nth-child(4):before{content:"Status"}.product-management-table td:nth-child(7):before,.stock-management-table td:nth-child(5):before{content:"Aksi"}.stock-history-table td:nth-child(1):before{content:"Tanggal"}.stock-history-table td:nth-child(2):before{content:"Produk"}.stock-history-table td:nth-child(3):before{content:"SKU"}.stock-history-table td:nth-child(5):before{content:"Tipe"}.stock-history-table td:nth-child(6):before{content:"Jumlah"}.stock-history-table td:nth-child(7):before{content:"Stok Sebelumnya"}.stock-history-table td:nth-child(8):before{content:"Stok Setelah"}.stock-history-table td:nth-child(9):before{content:"Catatan"}.mobile-card-table .product-cell{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;max-width:none;min-width:0}.mobile-card-table .product-cell strong{display:block;font-size:15px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:normal}.mobile-card-table .product-cell small{display:block;margin-top:3px;font-size:12px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;word-break:normal}.mobile-card-table .mini-thumb{width:46px;height:46px;flex-basis:46px}.mobile-card-table .badge{white-space:nowrap}.mobile-card-table .action-cell{width:auto;min-width:0;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mobile-card-table .action-cell .secondary-btn,.stock-management-table td:nth-child(5) .secondary-btn{width:auto;min-width:136px;max-width:100%;min-height:42px;justify-content:center;white-space:normal;line-height:1.15}.stock-management-table td:nth-child(5),.product-management-table td:nth-child(7){align-items:flex-start}.stock-management-table td:nth-child(5) .secondary-btn{margin-left:auto}}.demo-locked-btn{cursor:not-allowed;opacity:.86;background:linear-gradient(135deg,#94a3b8,#64748b)!important;box-shadow:none!important}.demo-locked-btn svg{opacity:.9}.lock-badge{display:inline-grid;place-items:center;margin-left:6px;min-width:30px;min-height:20px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;font-size:11px;font-weight:900;letter-spacing:0}.demo-lock-note{display:inline-flex;align-items:center;color:#b45309;font-size:12px;font-weight:800}.demo-disabled-control,.demo-disabled-control:hover{cursor:not-allowed;opacity:.62;filter:grayscale(.35)}.receipt-modern{position:relative;overflow:hidden}.receipt-modern>:not(.demo-receipt-watermark){position:relative;z-index:1}.demo-receipt-watermark{position:absolute;inset:18% 7% auto 7%;display:grid;justify-items:center;gap:10px;text-align:center;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none}.demo-receipt-watermark img{width:min(82%,320px);max-height:220px;object-fit:contain;opacity:.35}.demo-receipt-watermark span{max-width:320px;padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.08);color:#0f172a94;font-size:11px;font-weight:900}@media (max-width: 768px){.demo-lock-note{width:100%;margin-top:2px}.demo-receipt-watermark{inset:22% 4% auto 4%}.demo-receipt-watermark img{width:min(88%,240px)}}@media print{.demo-receipt-watermark,.demo-receipt-watermark *{display:grid!important;visibility:visible!important}.demo-receipt-watermark{position:absolute!important;inset:17mm 1mm auto 1mm!important;z-index:0!important;gap:1mm!important;text-align:center!important}.demo-receipt-watermark img{display:block!important;width:44mm!important;max-height:30mm!important;object-fit:contain!important;opacity:.35!important}.demo-receipt-watermark span{display:block!important;width:50mm!important;padding:0!important;background:transparent!important;color:#000!important;opacity:.62!important;font-size:7px!important;font-weight:900!important;line-height:1.15!important}}.demo-access-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;border-color:#f59e0b47!important;background:linear-gradient(135deg,rgba(255,251,235,.96),rgba(239,246,255,.92))!important}.demo-access-banner strong{color:#92400e;font-size:14px;font-weight:900}.demo-access-banner span{color:#475569;font-size:13px;font-weight:700;text-align:right}@media (max-width: 768px){.demo-access-banner{align-items:flex-start;flex-direction:column}.demo-access-banner span{text-align:left}}.demo-payment-locked-panel .demo-locked-notice{border:1px solid #f8c8c8;background:#fff1f2;color:#8a1f2d;border-radius:14px;padding:14px 16px;margin-bottom:16px;box-shadow:0 12px 28px #8a1f2d14}.demo-payment-locked-panel .demo-locked-notice strong{display:block;margin-bottom:4px}.demo-payment-locked-panel .demo-locked-notice p{margin:0;color:#5f2530}.demo-payment-locked-panel input:disabled,.demo-payment-locked-panel select:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}
