:root{--bg-dark-base: #080d0a;--bg-dark-sidebar: rgba(10, 18, 14, .85);--bg-glass-card: rgba(16, 28, 22, .55);--bg-glass-card-hover: rgba(22, 41, 31, .7);--border-glass: rgba(255, 255, 255, .06);--border-glass-bright: rgba(16, 185, 129, .25);--color-primary: #10b981;--color-primary-glow: rgba(16, 185, 129, .4);--color-secondary: #84cc16;--color-accent: #f59e0b;--color-danger: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--color-info: #3b82f6;--color-grab: #00b14f;--color-lineman: #06c755;--color-shopee: #ee4d2d;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-green: #34d399;--shadow-premium: 0 8px 32px 0 rgba(0, 0, 0, .4);--shadow-green-glow: 0 0 20px 0 rgba(16, 185, 129, .15);--border-radius-lg: 16px;--border-radius-md: 12px;--border-radius-sm: 8px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}body.light-theme{--bg-dark-base: #f4faf6;--bg-dark-sidebar: rgba(240, 253, 244, .9);--bg-glass-card: rgba(255, 255, 255, .75);--bg-glass-card-hover: rgba(255, 255, 255, .92);--border-glass: rgba(16, 185, 129, .12);--border-glass-bright: rgba(16, 185, 129, .4);--text-primary: #0b1c11;--text-secondary: #475569;--text-muted: #64748b;--text-green: #047857;--shadow-premium: 0 8px 32px 0 rgba(16, 185, 129, .06);--shadow-green-glow: 0 0 20px 0 rgba(16, 185, 129, .08)}body.light-theme .login-overlay{background:radial-gradient(circle at center,#dcfce7,#f4faf6)}body.light-theme .login-card{background:#ffffffe6;border-color:#10b9814d}body.light-theme .login-form .form-group input{background:#fffc;border-color:#10b98133;color:#0b1c11}body.light-theme .btn-role{background:#00000005;color:#475569;border-color:#10b98126}body.light-theme .btn-role:hover,body.light-theme .btn-role.active{background:#10b9811a;color:#047857;border-color:#10b981}body.light-theme .login-footer{color:#64748b}body.light-theme .category-tabs{background:#0000000d}body.light-theme .search-box{background:#fffc}body.light-theme .search-box input{color:#0b1c11}body.light-theme .cart-item,body.light-theme .cart-member-link{background:#ffffff80}body.light-theme .cart-member-link input{color:#0b1c11}body.light-theme .custom-table th{background:#10b9810d;color:#047857}body.light-theme .line-chat-area{background:#eef5f1}body.light-theme .chat-bubble.received{background:#fff;color:#0b1c11}*{margin:0;padding:0;box-sizing:border-box;font-family:Noto Sans Thai,Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-dark-base);color:var(--text-primary);overflow-x:hidden;height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#10b98133;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#10b98180}h1,h2,h3,h4,.brand-name,.metric-value,.brand-title{font-family:Outfit,Noto Sans Thai,sans-serif;font-weight:600;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-grab{color:var(--color-grab)}.text-lineman{color:var(--color-lineman)}.text-shopee{color:var(--color-shopee)}.text-green{color:var(--text-green)}.text-orange{color:var(--color-accent)}.text-up{color:#34d399}.text-down{color:#f87171}.text-dim{color:var(--text-secondary)}.hidden{display:none!important}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-gap{display:flex;gap:12px;align-items:center}.margin-top{margin-top:24px}.margin-top-sm{margin-top:12px}.margin-bottom{margin-bottom:24px}.w-full{width:100%}.font-xs{font-size:12px}.font-sm{font-size:14px}.font-md{font-size:18px}.font-bold{font-weight:700}.text-center{text-align:center}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.animate-pulse{animation:pulse 3s infinite ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-bounce{animation:bounce 2s infinite}.animate-hover{transition:var(--transition-smooth)}.animate-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-green-glow),var(--shadow-premium)}.glass-morphic{background:var(--bg-glass-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-premium);transition:var(--transition-smooth)}.glass-morphic:hover{border-color:#10b98126}.login-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#0f241a,#050906);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .4s ease}.login-overlay.active{opacity:1;pointer-events:all}.login-card{width:100%;max-width:440px;padding:40px;border-color:var(--border-glass-bright);background:#0a140fd9}.login-header{text-align:center;margin-bottom:30px}.logo-circle{width:70px;height:70px;background:#10b9811a;border:2px solid var(--color-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 auto 16px;box-shadow:0 0 15px var(--color-primary-glow)}.logo-circle i{font-size:32px}.brand-title{font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:1px}.brand-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.login-form .form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;background:#0006;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:15px;outline:none;transition:var(--transition-smooth)}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 10px #10b98133}.role-selector-container{margin:24px 0;padding-top:16px;border-top:1px dashed var(--border-glass)}.section-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.quick-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.btn-role{background:#ffffff08;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-secondary);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-size:11px;transition:var(--transition-smooth)}.btn-role i{font-size:18px}.btn-role:hover{background:#10b9811a;color:var(--color-primary);border-color:var(--color-primary)}.btn-role.active{background:#10b98126;color:var(--text-primary);border-color:var(--color-primary);box-shadow:0 0 8px #10b98133}.btn-login-submit{width:100%;padding:14px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;border-radius:var(--border-radius-sm);color:#fff;font-weight:600;font-size:16px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 4px 15px #10b9814d;transition:var(--transition-smooth)}.btn-login-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.login-footer{margin-top:30px;text-align:center;font-size:11px;color:var(--text-muted)}.app-wrapper{display:flex;width:100vw;height:100vh;overflow:hidden}.sidebar{width:280px;height:100%;background:var(--bg-dark-sidebar);border-radius:0;border-right:1px solid var(--border-glass);display:flex;flex-direction:column;flex-shrink:0;z-index:100}.sidebar-brand{padding:24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-glass)}.sidebar-brand .logo-wrapper{width:42px;height:42px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:20px}.brand-info{display:flex;flex-direction:column}.brand-info .brand-name{font-size:18px;font-weight:700;color:var(--text-primary)}.brand-info .brand-tagline{font-size:9px;font-weight:600;color:var(--text-secondary);letter-spacing:1.5px}.user-profile-widget{padding:16px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-glass);background:#ffffff03}.user-profile-widget .avatar i{font-size:38px;color:var(--color-primary)}.user-info{display:flex;flex-direction:column}.user-name{font-size:14px;font-weight:600}.user-role.badge{align-self:flex-start;font-size:9px;padding:2px 6px;background:#10b98126;color:var(--color-primary);border:1px solid rgba(16,185,129,.3);border-radius:20px;margin-top:2px}.sidebar-nav{flex-grow:1;padding:20px 16px;overflow-y:auto}.nav-section-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;padding-left:12px}.nav-list{list-style:none}.nav-item{margin-bottom:4px}.nav-item a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--border-radius-sm);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition-smooth)}.nav-item a i{font-size:16px;width:20px;text-align:center;transition:var(--transition-smooth)}.nav-item:hover a,.nav-item.active a{color:var(--text-primary);background:#10b98114}.nav-item.active a{background:#10b9811f;border-left:4px solid var(--color-primary);padding-left:12px}.nav-item:hover a i,.nav-item.active a i{color:var(--color-primary);transform:scale(1.1)}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border-glass);display:flex;flex-direction:column;gap:12px}.lang-switch-container{display:flex;background:#0000004d;border-radius:var(--border-radius-sm);padding:2px;border:1px solid var(--border-glass)}.btn-lang{flex:1;background:none;border:none;color:var(--text-secondary);padding:6px;cursor:pointer;font-size:12px;font-weight:600;border-radius:4px;transition:var(--transition-smooth)}.btn-lang.active{background:var(--color-primary);color:#fff}.btn-logout{width:100%;padding:10px;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2);border-radius:var(--border-radius-sm);font-size:13px;font-weight:500;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;transition:var(--transition-smooth)}.btn-logout:hover{background:#ef444440;color:#fca5a5}.main-content{flex-grow:1;height:100%;display:flex;flex-direction:column;overflow:hidden}.topbar{height:70px;border-radius:0;border-bottom:1px solid var(--border-glass);padding:0 32px;display:flex;justify-content:space-between;align-items:center;background:#0a140f66;flex-shrink:0}.topbar-left .view-title{font-size:20px;font-weight:700}.topbar-left .view-subtitle{font-size:12px;color:var(--text-secondary);margin-top:2px}.topbar-right{display:flex;align-items:center;gap:20px}.topbar-actions{display:flex;gap:10px}.btn-secondary{background:#ffffff0d;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--transition-smooth)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--color-primary)}.system-status{display:flex;flex-direction:column;align-items:flex-end;font-size:11px}.live-indicator{color:var(--color-primary);font-weight:600;display:flex;align-items:center;gap:4px}.live-indicator i{font-size:8px}.live-time{color:var(--text-secondary);font-weight:500;margin-top:2px}.content-body{flex-grow:1;overflow-y:auto;padding:32px;position:relative}.content-view{display:none;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.content-view.active{display:block;opacity:1;transform:translateY(0)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.metric-card{padding:24px;display:flex;align-items:center;gap:20px;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.metric-card.gradient-green:before{background:var(--color-primary)}.metric-card.gradient-blue:before{background:var(--color-info)}.metric-card.gradient-orange:before{background:var(--color-accent)}.metric-card.gradient-purple:before{background:#a855f7}.metric-icon{width:50px;height:50px;border-radius:var(--border-radius-sm);display:flex;justify-content:center;align-items:center;font-size:24px;background:#ffffff08}.gradient-green .metric-icon{color:var(--color-primary);background:#10b9811a}.gradient-blue .metric-icon{color:var(--color-info);background:#3b82f61a}.gradient-orange .metric-icon{color:var(--color-accent);background:#f59e0b1a}.gradient-purple .metric-icon{color:#a855f7;background:#a855f71a}.metric-info{display:flex;flex-direction:column;flex-grow:1}.metric-title{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:24px;font-weight:700;margin:4px 0}.metric-trend{font-size:11px;font-weight:500}.metric-desc{font-size:11px;color:var(--text-secondary)}.dashboard-layouts{display:grid;grid-template-columns:2fr 1fr;gap:20px}.dashboard-panel-left,.dashboard-panel-right{display:flex;flex-direction:column}.sub-panel{padding:20px}.dashboard-panel-left{padding:24px}.panel-header{margin-bottom:20px}.panel-header h3{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.chart-container{position:relative;height:320px;width:100%}.chart-container-small{position:relative;height:180px;width:100%}.chart-container-horizontal{position:relative;height:250px;width:100%}.chart-legend{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.legend-item{font-size:10px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.low-stock-list{display:flex;flex-direction:column;gap:10px;max-height:240px;overflow-y:auto;padding-right:4px}.low-stock-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ef44440d;border:1px solid rgba(239,68,68,.1);border-radius:var(--border-radius-sm)}.low-stock-item .item-details{display:flex;flex-direction:column}.low-stock-item .item-name{font-size:13px;font-weight:600}.low-stock-item .item-qty{font-size:11px;color:var(--color-danger);margin-top:2px}.btn-restock-quick{background:var(--color-danger);color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.btn-restock-quick:hover{background:#dc2626}.empty-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 10px;text-align:center;color:var(--text-secondary);gap:8px}.empty-placeholder i{font-size:28px;color:var(--text-muted)}.empty-placeholder p{font-size:12px}.table-wrapper{overflow-x:auto;width:100%}.custom-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.custom-table th,.custom-table td{padding:14px 16px;border-bottom:1px solid var(--border-glass)}.custom-table th{font-weight:600;color:var(--text-secondary);background:#ffffff05}.custom-table tbody tr{transition:var(--transition-smooth)}.custom-table tbody tr:hover{background:#ffffff05}.btn-text{background:none;border:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}.btn-text:hover{color:var(--color-secondary)}.pos-layout{display:grid;grid-template-columns:1fr 380px;gap:24px;height:calc(100vh - 160px)}.pos-menu-section{display:flex;flex-direction:column;overflow-y:auto;padding-right:8px}.channel-selector-bar{padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;gap:16px}.selector-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.channel-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-channel{background:#ffffff08;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-secondary);padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:var(--transition-smooth)}.btn-channel:hover{background:#ffffff14}.btn-channel.active{background:#10b98126;border-color:var(--color-primary);color:var(--text-primary)}.btn-channel.channel-grab.active{background:#00b14f26;border-color:var(--color-grab)}.btn-channel.channel-lineman.active{background:#06c75526;border-color:var(--color-lineman)}.btn-channel.channel-shopee.active{background:#ee4d2d26;border-color:var(--color-shopee)}.menu-control-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.category-tabs{display:flex;gap:6px;background:#0003;padding:4px;border-radius:var(--border-radius-sm);border:1px solid var(--border-glass)}.tab-btn{background:none;border:none;color:var(--text-secondary);padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;border-radius:6px;transition:var(--transition-smooth)}.tab-btn.active{background:var(--color-primary);color:#fff}.search-box{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:var(--border-radius-sm);background:#0003;width:250px}.search-box i{color:var(--text-muted)}.search-box input{background:none;border:none;color:var(--text-primary);font-size:13px;width:100%;outline:none}.diy-hero-card{background:linear-gradient(135deg,#10b98126,#84cc161a);border:1px solid rgba(16,185,129,.25);padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative;overflow:hidden}.diy-content{max-width:70%;display:flex;flex-direction:column;gap:8px;z-index:2}.badge-diy{align-self:flex-start;background:var(--color-secondary);color:#0f172a;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase}.diy-content h2{font-size:20px;font-weight:700}.diy-content p{font-size:12px;color:var(--text-secondary);line-height:1.5}.btn-primary-gradient{align-self:flex-start;padding:10px 20px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;border-radius:var(--border-radius-sm);color:#fff;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--transition-smooth);box-shadow:0 4px 12px #10b98133}.btn-primary-gradient:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.diy-visual{font-size:70px;color:#10b98133;position:absolute;right:20px;bottom:-10px;pointer-events:none;z-index:1}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;padding-bottom:30px}.menu-item-card{padding:14px;display:flex;flex-direction:column;height:100%}.menu-item-photo{height:120px;border-radius:var(--border-radius-sm);overflow:hidden;background:#0f1c14;position:relative}.menu-item-photo img{width:100%;height:100%;object-fit:cover}.menu-item-category{position:absolute;top:8px;left:8px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-secondary);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.menu-item-info{display:flex;flex-direction:column;flex-grow:1;margin-top:12px}.menu-item-info h4{font-size:14px;font-weight:600;line-height:1.3;height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.menu-item-desc{font-size:11px;color:var(--text-secondary);margin-top:4px;height:32px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.menu-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.menu-item-price{font-size:16px;font-weight:700;color:var(--color-secondary)}.btn-add-to-cart{width:32px;height:32px;border-radius:50%;background:var(--color-primary);border:none;color:#fff;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:var(--transition-smooth)}.btn-add-to-cart:hover{background:var(--color-secondary);transform:scale(1.1)}.pos-cart-section{display:flex;flex-direction:column;height:100%;padding:20px}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-clear-all{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;transition:var(--transition-smooth)}.btn-clear-all:hover{color:var(--color-danger)}.cart-member-link{padding:12px;margin-bottom:16px;background:#0003}.member-search-row{display:flex;align-items:center;gap:8px}.member-search-row i{font-size:16px}.member-search-row input{background:none;border:none;color:var(--text-primary);font-size:12px;outline:none;flex-grow:1}.btn-icon{background:none;border:none;color:var(--color-primary);font-size:16px;cursor:pointer;padding:4px;transition:var(--transition-smooth)}.btn-icon:hover{color:var(--color-secondary)}.linked-member-card{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:var(--border-radius-sm);margin-top:10px}.linked-member-card .member-details{display:flex;flex-direction:column}.linked-member-card .name{font-size:13px;font-weight:600}.linked-member-card .points{font-size:10px;color:var(--color-primary);margin-top:2px}.btn-unlink{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.btn-unlink:hover{color:var(--color-danger)}.cart-items-wrapper{flex-grow:1;overflow-y:auto;margin-bottom:16px;padding-right:4px;display:flex;flex-direction:column;gap:12px}.empty-cart-state{display:flex;flex-direction:column;justify-content:center;align-items:center;height:150px;color:var(--text-muted);gap:12px}.empty-cart-state i{font-size:38px}.empty-cart-state p{font-size:13px}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);transition:var(--transition-smooth)}.cart-item:hover{background:#ffffff0a}.cart-item-details{display:flex;flex-direction:column;max-width:60%}.cart-item-name{font-size:13px;font-weight:600}.cart-item-subdetails{font-size:9px;color:var(--text-secondary);margin-top:4px;line-height:1.3}.cart-item-price{font-size:13px;font-weight:700;color:var(--color-secondary);text-align:right}.cart-item-controls{display:flex;align-items:center;gap:8px}.btn-qty{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-glass);background:#ffffff0d;color:var(--text-primary);cursor:pointer;font-size:11px;display:flex;justify-content:center;align-items:center}.btn-qty:hover{background:#10b9811a;border-color:var(--color-primary)}.qty-num{font-size:13px;font-weight:600;width:16px;text-align:center}.cart-summary-panel{border-top:1px dashed var(--border-glass);padding-top:16px}.summary-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.summary-row.total-row{font-size:18px;font-weight:700;color:var(--text-primary);margin:12px 0 6px;padding-top:8px;border-top:1px solid var(--border-glass)}.points-reward-info{font-size:11px;color:var(--color-accent);background:#f59e0b14;border:1px dashed rgba(245,158,11,.3);border-radius:4px;padding:6px 10px;margin-bottom:12px}.btn-checkout-submit{width:100%;padding:14px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;border-radius:var(--border-radius-sm);color:#fff;font-weight:700;font-size:15px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;box-shadow:0 4px 15px #10b9814d;transition:var(--transition-smooth)}.btn-checkout-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.btn-checkout-submit:disabled{background:var(--text-muted);color:var(--bg-dark-base);opacity:.5;cursor:not-allowed;box-shadow:none}.crm-controls-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.crm-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;height:calc(100vh - 200px)}.crm-list-panel{padding:24px;overflow-y:auto}.crm-details-panel{display:flex;flex-direction:column;gap:20px;overflow-y:auto}.member-profile-detail-card{padding:24px}.profile-header{display:flex;align-items:center;gap:16px;border-bottom:1px dashed var(--border-glass);padding-bottom:16px;margin-bottom:16px}.profile-header-avatar{width:50px;height:50px;background:#10b9811a;border:2px solid var(--color-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:24px;color:var(--color-primary)}.profile-header-info{display:flex;flex-direction:column}.profile-header-info h4{font-size:16px;font-weight:700}.profile-header-info p{font-size:12px;color:var(--text-secondary)}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-box{background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);padding:10px;text-align:center}.stat-box label{display:block;font-size:9px;color:var(--text-secondary);text-transform:uppercase}.stat-box span{font-size:15px;font-weight:700;margin-top:4px;display:block}.profile-history-section h5{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.history-list{display:flex;flex-direction:column;gap:8px;max-height:120px;overflow-y:auto}.history-item{display:flex;justify-content:space-between;padding:8px;background:#00000026;border-radius:4px;font-size:11px}.line-oa-mockup{border-radius:var(--border-radius-lg);background:#1c2620;border:3px solid #2e3d34;overflow:hidden;display:flex;flex-direction:column;height:380px;box-shadow:var(--shadow-premium)}.line-header{background:#243229;padding:12px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.05)}.line-avatar{width:32px;height:32px;background:var(--color-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:14px}.line-title{display:flex;flex-direction:column}.line-title .name{font-size:13px;font-weight:600}.line-title .status{font-size:9px;color:#34d399;display:flex;align-items:center;gap:4px}.line-chat-area{flex-grow:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:#141c18}.chat-bubble{padding:10px 14px;border-radius:var(--border-radius-md);max-width:85%;font-size:11px;line-height:1.4}.chat-bubble.received{background:#232c27;align-self:flex-start;border-top-left-radius:2px}.e-loyalty-card{background:linear-gradient(135deg,#10b981,#047857);border-radius:12px;padding:16px;color:#fff;box-shadow:0 4px 15px #0000004d;margin:8px 0}.card-brand{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.5px}.card-customer{margin-top:12px}.card-customer h4{font-size:14px;font-weight:600}.card-customer p{font-size:9px;opacity:.7}.card-points-display{text-align:right;margin-top:-12px}.card-points-display .label{font-size:8px;opacity:.8}.card-points-display h2{font-size:24px;font-weight:800}.card-stamps-grid{margin-top:16px;border-top:1px dashed rgba(255,255,255,.2);padding-top:10px}.stamp-title{display:block;font-size:8px;opacity:.8;margin-bottom:6px}.stamps-row{display:flex;justify-content:space-between;gap:4px}.stamp-circle{width:20px;height:20px;background:#fff3;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:9px;color:#fff;border:1px solid rgba(255,255,255,.4)}.stamp-circle.active{background:#f59e0b;border-color:#f59e0b;color:#0f172a;font-weight:700}.card-barcode{display:flex;flex-direction:column;align-items:center;margin-top:14px;background:#fff;padding:6px;border-radius:4px}.barcode-lines{height:18px;width:100%;background:repeating-linear-gradient(90deg,#000,#000 2px,#fff 2px,#fff 6px)}.barcode-num{font-size:8px;color:#334155;margin-top:2px;letter-spacing:1px}.line-richmenu{height:60px;background:#1c2620;border-top:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:repeat(3,1fr)}.line-richmenu .menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--text-secondary);cursor:pointer;font-size:9px;transition:var(--transition-smooth)}.line-richmenu .menu-item i{font-size:16px}.line-richmenu .menu-item:hover{background:#ffffff05;color:var(--color-primary)}.kds-header-bar{padding:16px 24px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.kds-status-title{font-size:16px;font-weight:600}.kds-stats{display:inline-flex;gap:8px;margin-left:16px}.badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-warning{background:#f59e0b26;color:var(--color-accent);border:1px solid rgba(245,158,11,.3)}.badge-success{background:#10b98126;color:var(--color-primary);border:1px solid rgba(16,185,129,.3)}.badge-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.kds-orders-container{display:grid;gap:20px;padding-bottom:30px;transition:var(--transition-smooth)}.kds-orders-container.grid-layout{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.kds-orders-container.mobile-layout{grid-template-columns:1fr;max-width:480px;margin:0 auto}.kds-card{display:flex;flex-direction:column;height:380px;position:relative;border-color:#ffffff0a}.kds-card.status-prep{border-top:4px solid var(--color-accent)}.kds-card.status-ready{border-top:4px solid var(--color-primary)}.kds-card-header{padding:16px;border-bottom:1px solid var(--border-glass);display:flex;justify-content:space-between;align-items:flex-start}.kds-card-header .order-source{display:flex;flex-direction:column}.kds-card-header .source-badge{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:4px;align-self:flex-start}.source-dinein{background:#10b98126;color:var(--color-primary)}.source-takeaway{background:#ffffff14;color:var(--text-primary)}.source-grab{background:var(--color-grab);color:#fff}.source-lineman{background:var(--color-lineman);color:#fff}.source-shopee{background:var(--color-shopee);color:#fff}.kds-card-header .order-num{font-size:15px;font-weight:700;margin-top:4px}.kds-timer{font-size:12px;font-weight:700;padding:4px 8px;background:#ffffff08;border-radius:4px;display:flex;align-items:center;gap:4px}.kds-timer.warning{color:var(--color-danger);background:#ef44441a;animation:pulse 1.5s infinite}.kds-items-list{flex-grow:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.kds-item-row{display:flex;flex-direction:column;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.04)}.kds-item-title{display:flex;justify-content:space-between;font-weight:600;font-size:13px}.kds-item-title .qty{background:#10b98126;color:var(--color-primary);padding:1px 6px;border-radius:4px;font-size:11px}.kds-assembly-guide{font-size:10px;color:var(--text-secondary);background:#0003;padding:6px 10px;border-radius:4px;margin-top:6px;line-height:1.4}.kds-card-footer{padding:16px;border-top:1px solid var(--border-glass)}.btn-kds-action{width:100%;padding:12px;border:none;border-radius:var(--border-radius-sm);color:#fff;font-weight:700;font-size:13px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;transition:var(--transition-smooth)}.btn-kds-action.prep{background:linear-gradient(135deg,var(--color-warning),#d97706);box-shadow:0 4px 12px #f59e0b33}.btn-kds-action.ready{background:linear-gradient(135deg,var(--color-success),#047857);box-shadow:0 4px 12px #10b98133}.empty-kds-state{grid-column:1 / -1;display:flex;flex-direction:column;justify-content:center;align-items:center;height:300px;text-align:center;color:var(--text-secondary);gap:16px}.empty-kds-state i{font-size:50px;color:var(--color-primary)}.inventory-header-bar{padding:16px 24px;margin-bottom:24px}.inventory-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:24px;height:calc(100vh - 200px)}.inventory-list-panel,.inventory-recipe-panel{padding:24px;overflow-y:auto}.recipe-info-body{display:flex;flex-direction:column;gap:16px;margin-top:16px}.description-text{font-size:12px;color:var(--text-secondary);line-height:1.6}.recipe-map-list{display:flex;flex-direction:column;gap:12px}.recipe-map-item{background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);padding:12px}.recipe-main{font-size:13px;color:var(--text-primary)}.recipe-details{font-size:10px;color:var(--text-secondary);margin-top:4px}.recipe-system-status{padding:12px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--border-radius-sm);font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px}.status-badge{padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600}.status-badge.in-stock{background:#10b98126;color:var(--color-primary)}.status-badge.low-stock{background:#f59e0b26;color:var(--color-accent)}.status-badge.out-of-stock{background:#ef444426;color:var(--color-danger)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay:not(.hidden){opacity:1;pointer-events:all}.modal-card{padding:28px;position:relative;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-card.xl-width{width:1000px;max-width:95vw}.modal-card.medium-width{width:550px;max-width:95vw}.modal-card.small-width{width:440px;max-width:95vw}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-glass);padding-bottom:16px;margin-bottom:20px}.modal-header h2{font-size:18px;font-weight:700}.btn-close-modal{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;transition:var(--transition-smooth)}.btn-close-modal:hover{color:var(--color-danger);transform:rotate(90deg)}.diy-creator-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}.diy-selection-area{display:flex;flex-direction:column;gap:24px;max-height:60vh;overflow-y:auto;padding-right:12px}.step-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text-primary)}.step-title span{font-weight:500}.step-title .required{color:var(--color-primary)}.step-title .optional{color:var(--text-secondary)}.diy-option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.diy-option-pill{padding:12px;background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);text-align:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:var(--transition-smooth)}.diy-option-pill:hover{background:#10b9810d;border-color:var(--border-glass-bright)}.diy-option-pill.selected{background:#10b9811f;border-color:var(--color-primary);box-shadow:0 0 10px #10b98126}.diy-option-pill .name{font-size:12px;font-weight:600}.diy-option-pill .price{font-size:10px;color:var(--color-secondary)}.diy-summary-sidebar{padding:20px;display:flex;flex-direction:column;height:100%}.diy-summary-sidebar h3{font-size:15px;font-weight:700;margin-bottom:16px;text-align:center}.diy-visual-bowl{flex-grow:1;background:#0000004d;border-radius:var(--border-radius-md);border:1px dashed var(--border-glass);padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:20px;min-height:180px}.diy-visual-bowl .bowl-base{font-size:60px;color:var(--color-primary);margin-bottom:12px}.selected-ingredients-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ingredient-tag{font-size:9px;font-weight:600;padding:2px 8px;background:#10b98126;color:var(--color-primary);border:1px solid rgba(16,185,129,.3);border-radius:4px}.diy-price-panel{margin-bottom:20px}.price-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.price-row.total{font-size:16px;font-weight:700;color:var(--text-primary);margin-top:8px}.divider{border:none;border-top:1px solid var(--border-glass);margin:8px 0}.checkout-layout{display:flex;flex-direction:column;gap:16px}.payment-method-selector{margin-bottom:8px}.payment-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.btn-payment-method{padding:14px 10px;background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600;transition:var(--transition-smooth)}.btn-payment-method i{font-size:20px}.btn-payment-method:hover{background:#ffffff0d}.btn-payment-method.active{border-color:var(--color-primary);background:#10b9811a;color:var(--text-primary);box-shadow:0 0 10px #10b98126}.cash-input-group,.qr-payment-group{padding:16px;background:#0003}.form-row{display:flex;justify-content:space-between;align-items:center}.form-row label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-row input{background:#0006;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);padding:8px 12px;color:var(--text-primary);font-size:16px;font-weight:700;text-align:right;width:140px;outline:none}.form-row input:focus{border-color:var(--color-primary)}.qr-code-placeholder{width:200px;background:#fff;padding:16px;border-radius:var(--border-radius-md);margin:12px auto 0;display:flex;flex-direction:column;align-items:center;color:#0c1a30}.promptpay-logo{background:#0c1a30;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.5px;margin-bottom:8px}.qr-graphic{font-size:110px;color:#0c1a30}.qr-price{font-size:14px;font-weight:700;margin-top:8px}.loyalty-redemption-panel{padding:14px;background:#f59e0b0d;border:1px dashed rgba(245,158,11,.3)}.loyalty-redemption-panel h4{font-size:12px;font-weight:600;color:var(--color-accent);margin-bottom:8px}.loyalty-choices button{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:var(--border-radius-sm);color:var(--text-primary);padding:10px;cursor:pointer;font-size:11px;font-weight:600;transition:var(--transition-smooth)}.loyalty-choices button:hover{background:#f59e0b33;border-color:var(--color-accent)}.receipt-preview-box{background:#f8fafc;color:#1e293b;padding:20px;border-radius:4px;box-shadow:inset 0 0 10px #0000001a;font-family:Courier New,Courier,monospace}.receipt-header{text-align:center}.receipt-header h4{font-family:Courier New,Courier,monospace;font-weight:700;font-size:14px}.dashed-line{border:none;border-top:1px dashed #94a3b8;margin:10px 0}.receipt-items{font-size:11px;display:flex;flex-direction:column;gap:6px}.receipt-item-row{display:flex;justify-content:space-between}.receipt-item-row .details{display:flex;flex-direction:column;max-width:75%}.receipt-item-row .sub-parts{font-size:9px;color:#64748b;margin-left:8px}.receipt-totals{display:flex;flex-direction:column;gap:4px}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form .form-group label .required{color:var(--color-primary)}.import-modal-body{display:flex;flex-direction:column;gap:16px}.import-selector-group{display:flex;flex-direction:column;gap:8px}.import-type-buttons{display:flex;gap:8px}.btn-import-type{flex:1;background:#ffffff05;border:1px solid var(--border-glass);border-radius:var(--border-radius-sm);color:var(--text-secondary);padding:10px;font-size:11px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:6px;transition:var(--transition-smooth)}.btn-import-type.active{border-color:var(--color-info);background:#3b82f61a;color:var(--text-primary)}.csv-upload-dropzone{border:2px dashed var(--border-glass);border-radius:var(--border-radius-md);padding:30px 20px;text-align:center;cursor:pointer;background:#0003;transition:var(--transition-smooth);position:relative}.csv-upload-dropzone:hover,.csv-upload-dropzone.dragover{border-color:var(--color-info);background:#3b82f60d}.csv-upload-dropzone .cloud-icon{font-size:38px;color:var(--color-info);margin-bottom:12px}.csv-upload-dropzone h4{font-size:13px;font-weight:600;margin-bottom:6px}.csv-upload-dropzone p{font-size:10px;color:var(--text-muted)}.hidden-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.import-sample-info{padding:12px;font-size:11px;color:var(--text-secondary);background:#ffffff05;display:flex;align-items:center;gap:8px}.toast-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:10000}.toast{background:#0f172ae6;border-left:4px solid var(--color-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:6px;box-shadow:0 4px 12px #00000026;color:#fff;padding:12px 20px;font-size:13px;font-weight:600;min-width:250px;display:flex;align-items:center;gap:12px;opacity:0;transform:translate(100px);transition:all .3s cubic-bezier(.68,-.55,.27,1.55)}.toast.show{opacity:1;transform:translate(0)}.toast.toast-success{border-left-color:var(--color-success)}.toast.toast-warning{border-left-color:var(--color-warning)}.toast.toast-danger{border-left-color:var(--color-danger)}.toast.toast-info{border-left-color:var(--color-info)}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layouts{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr;height:auto}.pos-cart-section{margin-top:24px;height:500px}.crm-layout{grid-template-columns:1fr;height:auto}.crm-details-panel{margin-top:24px}.inventory-layout{grid-template-columns:1fr;height:auto}.inventory-recipe-panel{margin-top:24px}}@media(max-width:768px){.app-wrapper{flex-direction:column}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-glass)}.sidebar-brand{padding:16px}.sidebar-nav{padding:10px 16px}.nav-list{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px}.nav-item{margin-bottom:0;flex-shrink:0}.nav-item.active a{border-left:none;border-bottom:3px solid var(--color-primary);padding-bottom:8px}.user-profile-widget,.sidebar-footer{display:none}.topbar{padding:0 16px;height:60px}.content-body{padding:16px}.metrics-grid,.diy-creator-layout{grid-template-columns:1fr}}
