@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800&family=Source+Sans+3:wght@400;600&family=Fira+Code:wght@400;500;600&display=swap";:root{--primary: #C2410C;--primary-hover: #9A3412;--primary-light: #FFF7ED;--primary-border: #FDBA74;--accent: #F59E0B;--accent-light: #FFFBEB;--accent-border: #FDE68A;--neutral: #78716C;--bg: #FAFAF9;--surface: #F5F5F4;--surface-raised: #E7E5E4;--text: #1C1917;--text-2: #57534E;--text-3: #78716C;--border: #D6D3D1;--border-2: #A8A29E;--green: #16A34A;--green-light: #F0FDF4;--green-border: #BBF7D0;--orange: #EA580C;--orange-light: #FFF7ED;--orange-border: #FED7AA;--success: #16A34A;--success-light: #F0FDF4;--success-border: #BBF7D0;--warning: #D97706;--warning-light: #FFFBEB;--warning-border: #FDE68A;--error: #DC2626;--error-light: #FEF2F2;--error-border: #FECACA;--info: #2563EB;--info-light: #EFF6FF;--info-border: #BFDBFE;--font-display: "Playfair Display", Georgia, serif;--font: "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--s12: 48px;--s16: 64px;--s20: 80px;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 9999px;--shadow-sm: 0 1px 3px rgba(28,25,23,.06);--shadow-md: 0 4px 16px rgba(28,25,23,.06);--shadow-lg: 0 24px 48px rgba(28,25,23,.12);--shadow-focus: 0 0 0 3px rgba(194,65,12,.12);--shadow-btn: 0 4px 12px rgba(194,65,12,.25);--sidebar-w: 256px;--header-h: 58px;--nav-h: 64px;--ease: .15s ease;--color-success: var(--success);--color-error: var(--error);--color-warning: var(--warning);--color-info: var(--info);--color-pokat: var(--green);--color-jeruk: var(--orange);--color-success-bg: var(--success-light);--color-error-bg: var(--error-light);--accent-primary: var(--primary);--accent-primary-light: var(--primary);--text-muted: var(--text-3);--text-secondary: var(--text-2);--border-default: var(--border);--border-hover: var(--border-2);--bg-input: #FAFAF9;--bg-elevated: var(--surface-raised);--radius-full: var(--r-full);--radius-md: var(--r-md);--font-body: var(--font);--space-1: var(--s1);--space-2: var(--s2);--space-3: var(--s3);--space-4: var(--s4);--space-5: var(--s5);--space-6: var(--s6);--space-8: var(--s8);--space-10: var(--s10);--space-12: var(--s12)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font);font-size:15px;font-weight:400;color:var(--text);background:var(--bg);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1;overflow-x:hidden}a{color:var(--primary);text-decoration:none}img{max-width:100%;display:block}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit;outline:none}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}#app{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:200;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar-brand{display:flex;align-items:center;gap:var(--s3);padding:var(--s5) var(--s6);border-bottom:1px solid var(--border)}.brand-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border:1px solid var(--primary-border);border-radius:var(--r-sm);font-size:1.25rem;flex-shrink:0}.brand-info{display:flex;flex-direction:column;min-width:0}.brand-name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-tagline{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.sidebar-nav{flex:1;padding:var(--s4) var(--s3);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:var(--s3);padding:10px var(--s3);border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--text-2);transition:all var(--ease);position:relative;text-align:left;cursor:pointer;background:none;border:none;width:100%}.sidebar-nav-item:hover{background:var(--surface-raised);color:var(--text)}.sidebar-nav-item.active{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.sidebar-nav-item.active svg{color:var(--primary)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:0 var(--r-xs) var(--r-xs) 0;background:var(--primary)}.sidebar-nav-item svg{flex-shrink:0;transition:transform var(--ease)}.sidebar-nav-item:hover svg{transform:translate(1px)}.sidebar-footer{padding:var(--s4) var(--s3) var(--s5);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s2)}.session-badge{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;font-weight:600;color:var(--text-3);transition:all var(--ease)}.session-badge.active{background:var(--success-light);border-color:var(--success-border);color:var(--success)}.session-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex-shrink:0;transition:all var(--ease)}.session-badge.active .session-dot{background:var(--success);box-shadow:0 0 0 3px #16a34a33;animation:pulse-dot 2s infinite}.sidebar-footer-actions{display:flex;gap:var(--s2)}.sidebar-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--s1);padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-size:12px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);transition:all var(--ease);cursor:pointer}.sidebar-action-btn:hover{background:var(--surface-raised);color:var(--text)}.sidebar-action-btn.danger:hover{background:var(--error-light);border-color:var(--error-border);color:var(--error)}.app-body{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 var(--s6);background:#fafaf9f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:var(--s3)}.page-heading{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:var(--s2)}.header-date{font-size:13px;font-weight:600;color:var(--text-2);padding:var(--s1) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);color:var(--text-2);transition:all var(--ease)}.btn-icon:hover{background:var(--surface-raised);color:var(--text)}.btn-icon:active{transform:scale(.93)}.mobile-menu-toggle{display:none}.app-main{flex:1;padding:var(--s6);max-width:1200px;width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}.app-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:#fffffff7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:150;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-3);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:all var(--ease);position:relative;padding:var(--s2)}.nav-item svg{transition:transform var(--ease)}.nav-item.active{color:var(--primary)}.nav-item.active svg{transform:scale(1.08)}.nav-item:after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--primary);opacity:0;transition:opacity var(--ease)}.nav-item.active:after{opacity:1}.nav-item:hover:not(.active){color:var(--text-2)}.nav-item:active{transform:scale(.92)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191766;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:190}@media(max-width:1023px){.app-sidebar{transform:translate(-100%);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.app-body{padding-left:0}.app-nav{display:flex}.app-main{padding:var(--s4);padding-bottom:calc(var(--nav-h) + var(--s4))}.mobile-menu-toggle{display:flex}.header-date{display:none}#btn-menu-mgmt-top,#btn-logout-top{display:flex}.app-header{padding:0 var(--s4)}}@media(min-width:640px)and (max-width:1023px){.app-main{padding:var(--s5);padding-bottom:calc(var(--nav-h) + var(--s5))}}@media(min-width:1024px){.app-body{margin-left:var(--sidebar-w)}.app-nav{display:none}.mobile-menu-toggle{display:none!important}#btn-menu-mgmt-top,#btn-logout-top{display:none}.app-main{padding:var(--s8)}.app-header{padding:0 var(--s8)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s4);font-weight:600;font-size:14px;border-radius:var(--r-sm);transition:all var(--ease);white-space:nowrap;border:1.5px solid transparent;height:40px;cursor:pointer;letter-spacing:.01em}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-btn)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{background:#15803d;border-color:#15803d;box-shadow:0 4px 12px #16a34a40}.btn-danger{color:var(--error);border-color:var(--error-border);background:var(--error-light)}.btn-danger:hover{background:#fee2e2;border-color:var(--error)}.btn-outline{color:var(--text-2);border-color:var(--border);background:#fff}.btn-outline:hover{background:var(--surface);color:var(--text);border-color:var(--border-2)}.btn-ghost{color:var(--text-2);border-color:transparent}.btn-ghost:hover{background:var(--surface-raised);color:var(--text)}.btn-sm{height:32px;padding:0 var(--s3);font-size:13px}.btn-lg{height:48px;padding:0 var(--s6);font-size:15px;border-radius:var(--r-sm)}.btn-full{width:100%}.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s5);transition:box-shadow var(--ease)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4)}.card-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-color, var(--primary));border-radius:var(--r-md) var(--r-md) 0 0}.card.selected{border-left:3px solid var(--primary)}.stat-value{font-family:var(--font-mono);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:var(--s2) 0 var(--s1);color:var(--stat-color, var(--text));font-variant-numeric:tabular-nums}.stat-label{font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:13px;font-weight:600;color:var(--text-2)}.input,input[type=text],input[type=number],input[type=date],input[type=password],select,textarea{width:100%;padding:10px var(--s3);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:14px;transition:all var(--ease);line-height:1.5}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);background:#fff}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-3)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-full);font-size:11px;font-weight:700;letter-spacing:.02em}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-error{background:var(--error-light);color:var(--error)}.badge-info{background:var(--info-light);color:var(--info)}.badge-neutral{background:var(--surface-raised);color:var(--text-2)}.badge-primary{background:var(--primary-light);color:var(--primary)}.toggle-group{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:3px}.toggle-option{flex:1;padding:8px var(--s4);text-align:center;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer;border-radius:6px;transition:all var(--ease)}.toggle-option.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.toggle-option:not(.active):hover{color:var(--text);background:var(--surface-raised)}.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-bottom:var(--s5);gap:0}.tab-btn{padding:var(--s3) var(--s5);font-size:14px;font-weight:600;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--ease);cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-btn:not(.active):hover{color:var(--text);background:var(--surface-raised);border-radius:var(--r-sm) var(--r-sm) 0 0}.tab-content{display:none}.tab-content.active{display:block}.divider{height:1px;background:var(--border);margin:var(--s5) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s12) var(--s6);text-align:center}.empty-state-icon{font-size:2.5rem;margin-bottom:var(--s3);opacity:.35}.empty-state-text{color:var(--text-3);font-size:13px;font-weight:500;max-width:240px;line-height:1.6}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--border)}.page-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}.page-subtitle{font-size:14px;color:var(--text-2);margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin-bottom:var(--s5)}.stats-grid.cols-3{grid-template-columns:repeat(3,1fr)}.stats-grid.cols-4{grid-template-columns:repeat(4,1fr)}.section{margin-bottom:var(--s6)}.section-title{font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s3);display:flex;align-items:center;gap:var(--s2)}.pos-layout{display:flex;flex-direction:column;gap:var(--s5)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}.category-label{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:var(--s2)}.category-label:after{content:"";flex:1;height:1px;background:var(--border)}.category-label.pokat{color:var(--green)}.category-label.jeruk{color:var(--orange)}.product-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s4) var(--s3);border-radius:var(--r-md);border:1px solid var(--border);background:#fff;cursor:pointer;transition:all .15s ease;min-height:86px;text-align:center;gap:5px;position:relative;overflow:hidden}.product-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1c191700;transition:background .15s ease}.product-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-2)}.product-btn:hover:after{background:#1c191703}.product-btn:active{transform:scale(.96)}.product-btn.pokat{border-color:var(--green-border);background:var(--green-light)}.product-btn.pokat:hover{box-shadow:0 4px 16px #16a34a26}.product-btn.jeruk{border-color:var(--orange-border);background:var(--orange-light)}.product-btn.jeruk:hover{box-shadow:0 4px 16px #ea580c26}.product-btn-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.product-btn-price{font-family:var(--font-mono);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.product-btn.pokat .product-btn-price{color:var(--green)}.product-btn.jeruk .product-btn-price{color:var(--orange)}.order-panel{border:1px solid var(--primary-border);background:#fff;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm)}.order-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) var(--s4);background:var(--primary-light);border-bottom:1px solid var(--primary-border)}.order-header-title{font-size:13px;font-weight:700;color:var(--primary)}.order-items{max-height:240px;overflow-y:auto}.order-item{display:flex;align-items:center;justify-content:space-between;padding:10px var(--s4);border-bottom:1px solid var(--border);transition:background var(--ease)}.order-item:last-child{border-bottom:none}.order-item:hover{background:var(--surface)}.order-item-info{display:flex;align-items:center;gap:var(--s3);flex:1;min-width:0}.order-item-qty{display:flex;align-items:center;gap:4px;flex-shrink:0}.qty-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-weight:700;font-size:15px;transition:all var(--ease);line-height:1}.qty-btn:hover{background:var(--surface-raised);color:var(--primary);border-color:var(--primary-border)}.qty-value{font-family:var(--font-mono);font-weight:600;font-size:13px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.order-item-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-item-price{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-2);flex-shrink:0;font-variant-numeric:tabular-nums}.order-item-remove{color:var(--error);opacity:.3;padding:4px;transition:opacity var(--ease);flex-shrink:0}.order-item-remove:hover{opacity:1}.order-total{display:flex;align-items:center;justify-content:space-between;padding:var(--s4);background:var(--surface);border-top:1px solid var(--border)}.order-total-label{font-size:14px;font-weight:700}.order-total-value{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.payment-section{display:flex;flex-direction:column;gap:var(--s3)}.transaction-list{display:flex;flex-direction:column;gap:var(--s2)}.transaction-item{display:flex;align-items:center;padding:10px var(--s4);background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);transition:all var(--ease);gap:var(--s2)}.transaction-item:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.transaction-time{font-family:var(--font-mono);font-size:12px;color:var(--text-3);min-width:44px;font-variant-numeric:tabular-nums}.transaction-detail{flex:1;font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-amount{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--success);flex-shrink:0;font-variant-numeric:tabular-nums}.transaction-method{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-full);flex-shrink:0}.transaction-method.cash{background:var(--success-light);color:var(--success)}.transaction-method.qris{background:var(--info-light);color:var(--info)}.transaction-delete{color:var(--error);opacity:0;padding:4px;transition:opacity var(--ease);flex-shrink:0}.transaction-item:hover .transaction-delete{opacity:.35}.transaction-delete:hover{opacity:1!important}.stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.stock-card.pokat{--stat-color: var(--green)}.stock-card.jeruk{--stat-color: var(--orange)}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;table-layout:auto}.comparison-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border-radius:var(--r-md)}.comparison-table th,.comparison-table td{padding:var(--s3) var(--s4);text-align:left;border-bottom:1px solid var(--border);font-size:13px}.comparison-table th{background:var(--surface);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.comparison-table tr:last-child td{border-bottom:none}.comparison-table td{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums}.match{color:var(--success)}.mismatch{color:var(--error);font-weight:700}.form-row{display:grid;grid-template-columns:1fr;gap:var(--s3)}.expense-list,.loan-list,.menu-list{display:flex;flex-direction:column;gap:var(--s2)}.expense-item,.loan-item,.menu-item{display:flex;align-items:center;padding:12px var(--s4);background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);gap:var(--s3);transition:all var(--ease)}.expense-item:hover,.loan-item:hover,.menu-item:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.expense-icon,.loan-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:1rem;flex-shrink:0}.expense-icon{background:var(--error-light)}.loan-icon.borrow{background:var(--warning-light)}.loan-icon.lend{background:var(--info-light)}.expense-info,.loan-info,.menu-item-info{flex:1;min-width:0}.expense-name,.loan-name,.menu-item-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-category,.loan-detail,.menu-item-category{font-size:12px;color:var(--text-3);margin-top:2px}.expense-amount,.loan-amount,.menu-item-price{font-family:var(--font-mono);font-weight:700;font-size:13px;flex-shrink:0;font-variant-numeric:tabular-nums}.expense-amount{color:var(--error)}.loan-amount.borrow{color:var(--warning)}.loan-amount.lend{color:var(--info)}.item-delete{color:var(--error);opacity:0;padding:4px;transition:opacity var(--ease);flex-shrink:0}.expense-item:hover .item-delete,.loan-item:hover .item-delete{opacity:.35}.item-delete:hover{opacity:1!important}.scanner-results{display:flex;flex-direction:column;gap:var(--s3)}.scan-check{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4);background:#fff;border:1px solid var(--border);border-radius:var(--r-md)}.scan-check.pass{border-color:var(--success-border);background:var(--success-light)}.scan-check.fail{border-color:var(--error-border);background:var(--error-light)}.scan-check.warn{border-color:var(--warning-border);background:var(--warning-light)}.scan-check.info{border-color:var(--info-border);background:var(--info-light)}.scan-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}.scan-content{flex:1}.scan-title{font-size:13px;font-weight:700}.scan-detail{font-size:12px;color:var(--text-2);margin-top:3px;line-height:1.6}.scan-value{font-family:var(--font-mono);font-weight:600}.scan-recommendation{padding:var(--s4);background:var(--primary-light);border:1px solid var(--primary-border);border-radius:var(--r-md);margin-top:var(--s4)}.scan-recommendation-title{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:var(--s2)}.scan-recommendation ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}.scan-recommendation li{font-size:13px;color:var(--text-2);padding-left:var(--s4);position:relative}.scan-recommendation li:before{content:"→";position:absolute;left:0;color:var(--primary)}.scanning{position:relative;overflow:hidden}.scanning:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(194,65,12,.05),transparent);animation:scan-sweep 2s infinite}.profit-card{position:relative;padding:var(--s5);text-align:center;overflow:hidden}.profit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--r-md) var(--r-md) 0 0}.profit-card.gross:before{background:var(--primary)}.profit-card.net:before{background:var(--success)}.profit-label{font-size:11px;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.profit-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;margin:var(--s2) 0;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.profit-value.positive{color:var(--success)}.profit-value.negative{color:var(--error)}.report-breakdown{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:var(--s3)}.report-breakdown th,.report-breakdown td{padding:var(--s3) var(--s4);text-align:left;border-bottom:1px solid var(--border);font-size:13px}.report-breakdown th{background:var(--surface);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.report-breakdown tr:last-child td{border-bottom:none}.report-breakdown td:last-child{font-family:var(--font-mono);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.report-breakdown tfoot td{font-weight:700;border-top:2px solid var(--border-2);font-size:14px}.menu-item-color{width:4px;height:34px;border-radius:var(--r-full);flex-shrink:0}.menu-item-color.pokat{background:var(--green)}.menu-item-color.jeruk{background:var(--orange)}.menu-item.inactive{opacity:.45}.menu-item-actions{display:flex;gap:var(--s1)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191780;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:400;display:flex;align-items:flex-end;justify-content:center;padding:var(--s4);animation:fade-in .15s ease}.modal-overlay.hidden{display:none}.modal-container{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) var(--r-md) var(--r-md);width:100%;max-width:480px;max-height:88vh;overflow-y:auto;animation:slide-up .2s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) var(--s5) var(--s3);position:sticky;top:0;background:#fff;z-index:1;border-bottom:1px solid var(--border)}.modal-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.modal-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--text-3);transition:all var(--ease)}.modal-close:hover{background:var(--surface);color:var(--text)}.modal-body{padding:var(--s4) var(--s5) var(--s5);display:flex;flex-direction:column;gap:var(--s4)}.modal-footer{display:flex;gap:var(--s3);padding:var(--s4) var(--s5);border-top:1px solid var(--border);background:var(--surface)}.modal-footer .btn{flex:1}.toast-container{position:fixed;top:calc(var(--header-h) + var(--s3));right:var(--s4);z-index:500;display:flex;flex-direction:column;gap:var(--s2);max-width:340px}.toast{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--text);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:slide-in-right .2s ease,fade-out .3s ease 2.7s forwards;font-size:13px;font-weight:600;color:#fff}.toast.success{background:#14532d}.toast.error{background:#7f1d1d}.toast.warning{background:#78350f}.toast.info{background:#1e3a8a}.toast-icon{font-size:.9rem;flex-shrink:0}.session-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:var(--s6)}.session-start-card{width:100%;max-width:400px;text-align:center}.session-start-card .logo-icon{font-size:3rem;display:block;margin-bottom:var(--s5)}.session-start-card h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--s2);color:var(--text)}.session-start-card p{color:var(--text-2);font-size:14px;margin-bottom:var(--s6);line-height:1.6}.session-form{display:flex;flex-direction:column;gap:var(--s4);text-align:left}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--s4);color:var(--text-3)}.loading-spinner{width:32px;height:32px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.history-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4);padding:var(--s3) var(--s4);background:#fff;border:1px solid var(--border);border-radius:var(--r-md)}.history-month-label{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.02em}.history-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-bottom:var(--s5)}.history-stat-card{padding:var(--s4);text-align:center}.history-stat-label{font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--s1)}.history-stat-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.history-stat-unit{font-size:.85rem;font-weight:600;color:var(--text-2)}.trend-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:var(--s2);height:100px}.trend-bar-wrap{display:flex;flex-direction:column;align-items:center;flex:1;gap:4px;height:100%}.trend-bar-value{font-size:9px;font-family:var(--font-mono);color:var(--text-3);font-weight:600;min-height:14px;text-align:center}.trend-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--surface-raised);border-radius:var(--r-sm) var(--r-sm) 4px 4px;overflow:hidden;min-height:4px}.trend-bar{width:100%;border-radius:var(--r-sm) var(--r-sm) 0 0;transition:height .4s cubic-bezier(.34,1.56,.64,1)}.trend-bar.closed{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-hover) 100%)}.trend-bar.open{background:linear-gradient(180deg,var(--warning) 0%,#b45309 100%)}.trend-bar-label{font-size:10px;color:var(--text-3);font-weight:600;text-align:center;line-height:1.4}.trend-bar-date{font-family:var(--font-mono);font-size:9px;color:var(--text-3)}.history-session-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.history-session-row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);background:#fff;border-bottom:1px solid var(--border);cursor:pointer;transition:all var(--ease);text-decoration:none}.history-session-row:last-child{border-bottom:none}.history-session-row:hover{background:var(--surface)}.history-session-row:active{background:var(--primary-light)}.history-session-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;flex-shrink:0}.history-session-day{font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.history-session-datenum{font-family:var(--font-mono);font-size:1.3rem;font-weight:700;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.history-session-info{flex:1;min-width:0}.history-session-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.history-session-meta{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.history-session-arrow{color:var(--text-3);flex-shrink:0;transition:transform var(--ease)}.history-session-row:hover .history-session-arrow{transform:translate(3px);color:var(--primary)}.history-detail-header{display:flex;flex-direction:column;gap:var(--s3);margin-bottom:var(--s5);padding-bottom:var(--s4);border-bottom:1px solid var(--border)}.best-seller-card{background:linear-gradient(135deg,var(--accent-light) 0%,var(--accent-border) 100%);border-color:var(--accent-border);padding:var(--s4) var(--s5)}.session-closed-summary{display:flex;flex-direction:column;gap:var(--s3);margin:var(--s4) 0;padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);text-align:left}.session-closed-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--s2) 0;border-bottom:1px solid var(--border)}.session-closed-stat:last-of-type{border-bottom:none}.session-closed-stat-label{font-size:13px;color:var(--text-2);font-weight:500}.session-closed-stat-value{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}.session-closed-stat-value.positive{color:var(--success)}.session-closed-stat-value.negative{color:var(--error)}.session-closed-best{padding:var(--s2) 0 0;font-size:12px;color:var(--text-2);font-weight:500}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.display{font-family:var(--font-display)}.text-muted{color:var(--text-3)}.text-secondary{color:var(--text-2)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-primary{color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 2px #16a34a33}50%{box-shadow:0 0 0 5px #16a34a1a}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scan-sweep{0%{left:-100%}to{left:100%}}@keyframes pop-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-pop{animation:pop-in .18s ease}@media(min-width:480px){.product-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}.form-row{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.pos-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--s6);align-items:start}.pos-left{grid-column:1}.pos-right{grid-column:2;grid-row:1 / -1;position:sticky;top:calc(var(--header-h) + var(--s6));max-height:calc(100vh - var(--header-h) - var(--s12));overflow-y:auto}.product-grid{grid-template-columns:repeat(4,1fr)}.product-btn{min-height:96px}.modal-overlay{align-items:center}.modal-container{border-radius:var(--r-lg)}.stats-grid.cols-4{grid-template-columns:repeat(4,1fr)}}@media(max-width:360px){.nav-item{font-size:9px;gap:2px}.nav-item svg{width:18px;height:18px}.product-grid{grid-template-columns:repeat(3,1fr)}}
