:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--header-height: 64px;--mobile-nav-height: 72px;--sidebar-width: 240px;--radius-sm: 6px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}#root{min-height:100vh;max-width:unset;margin:0;padding:0;text-align:unset}.auth-page{min-height:100vh;display:flex;background:var(--primary-gradient);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:#ffffff1a;top:-200px;right:-100px}.auth-page:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:#ffffff0d;bottom:-150px;left:-100px}.auth-container{flex:1;display:flex;justify-content:center;align-items:center;padding:24px;position:relative;z-index:1}.auth-card{width:100%;max-width:420px;background:var(--bg-secondary);border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important;border:none!important;overflow:hidden}.auth-card .ant-card-body{padding:40px 32px!important}.auth-brand{text-align:center;margin-bottom:32px}.auth-brand-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--primary-gradient);border-radius:var(--radius-md);margin-bottom:16px}.auth-brand-logo svg{width:28px;height:28px;color:#fff}.auth-brand-name{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.auth-brand-name span{color:var(--primary)}.auth-title{font-size:15px;color:var(--text-secondary);text-align:center;margin-bottom:32px!important;font-weight:400}.auth-form .ant-form-item{margin-bottom:20px}.auth-form .ant-input,.auth-form .ant-input-password{height:48px;border-radius:var(--radius);border:1.5px solid var(--border);font-size:15px;transition:var(--transition)}.auth-form .ant-input:focus,.auth-form .ant-input-password:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.auth-form .ant-btn-primary{height:48px;font-size:15px;font-weight:600;border-radius:var(--radius);background:var(--primary-gradient)!important;border:none!important;box-shadow:0 4px 14px #6366f166;transition:var(--transition)}.auth-form .ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.auth-footer{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--primary);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.app-layout{min-height:100vh;background:var(--bg-primary)!important}.app-header{height:var(--header-height);background:var(--bg-secondary)!important;border-bottom:1px solid var(--border);padding:0 24px!important;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);line-height:1.4}.header-brand{display:flex;align-items:center;gap:10px;margin-right:32px;flex-shrink:0}.header-brand-icon{width:36px;height:36px;background:var(--primary-gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-brand-icon svg{width:20px;height:20px;color:#fff}.header-brand-text{font-size:20px;font-weight:700;color:var(--text-primary);white-space:nowrap}.header-brand-text span{color:var(--primary)}.header-nav{flex:1;display:flex;align-items:center;gap:4px;height:100%}.nav-item{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap;height:40px;line-height:1}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:#6366f11a;color:var(--primary)}.nav-item svg{width:18px;height:18px;flex-shrink:0}.header-user{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);margin-left:auto;flex-shrink:0}.header-user:hover{background:var(--bg-tertiary)}.header-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.header-user-info{display:none}@media(min-width:900px){.header-user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.header-user-name{font-size:13px;font-weight:600;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-email{font-size:11px;color:var(--text-muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--bg-secondary);border-top:1px solid var(--border);z-index:100;padding:8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.mobile-nav-inner{display:flex;justify-content:space-around;align-items:center;height:100%}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 20px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;transition:var(--transition);text-decoration:none;color:var(--text-muted)}.mobile-nav-item svg{width:22px;height:22px}.mobile-nav-item span{font-size:11px;font-weight:500}.mobile-nav-item.active{color:var(--primary);background:#6366f11a}@media(max-width:767px){.mobile-nav{display:block}.header-nav{display:none}.header-user-info{display:none!important}.app-content{padding-bottom:calc(var(--mobile-nav-height) + 16px)!important}}@media(max-width:480px){.app-header{padding:0 16px!important}.header-brand{margin-right:16px}.header-brand-text{font-size:18px}}.app-content{padding:24px;min-height:calc(100vh - var(--header-height));max-width:1400px;margin:0 auto;width:100%;background:var(--bg-primary)}@media(max-width:767px){.app-content{padding:16px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header-left{display:flex;flex-direction:column;gap:4px}.page-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.5px}.page-subtitle{font-size:14px;color:var(--text-secondary);margin:0}@media(max-width:480px){.page-title{font-size:20px}.page-header{margin-bottom:16px}}.pos-container{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}@media(max-width:1024px){.pos-container{grid-template-columns:1fr}}.pos-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}@media(min-width:640px){.pos-products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}}.pos-product-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px;cursor:pointer;border:2px solid transparent;transition:var(--transition);position:relative;overflow:hidden}.pos-product-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pos-product-card:active{transform:scale(.98)}.pos-product-card.out-of-stock{opacity:.5;cursor:not-allowed}.pos-product-card.out-of-stock:hover{border-color:transparent;transform:none;box-shadow:none}.pos-product-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-product-price{font-size:18px;font-weight:700;color:var(--primary);margin-bottom:4px}.pos-product-stock{font-size:12px;color:var(--text-muted)}.pos-product-stock.low{color:var(--warning)}.pos-product-stock.out{color:var(--danger)}.cart-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow);position:sticky;top:calc(var(--header-height) + 24px);display:flex;flex-direction:column;max-height:calc(100vh - var(--header-height) - 48px);overflow:hidden}@media(max-width:1024px){.cart-panel{position:fixed;bottom:calc(var(--mobile-nav-height) + 16px);left:16px;right:16px;top:auto;max-height:60vh;z-index:50;box-shadow:var(--shadow-xl);display:none}.cart-panel.open{display:flex}}.cart-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.cart-title{font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.cart-count{background:var(--primary);color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.cart-close{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm)}.cart-close:hover{background:var(--bg-tertiary)}@media(max-width:1024px){.cart-close{display:flex}}.cart-items{flex:1;overflow-y:auto;padding:16px 20px}.cart-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.cart-empty-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.3}.cart-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1;min-width:0}.cart-item-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-price{font-size:14px;font-weight:600;color:var(--primary);margin-top:2px}.cart-item-controls{display:flex;align-items:center;gap:8px}.qty-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--text-secondary)}.qty-btn:hover{border-color:var(--primary);color:var(--primary)}.qty-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}.qty-value{min-width:28px;text-align:center;font-weight:600;font-size:14px}.qty-input{width:48px;text-align:center;font-weight:600;font-size:14px;border:1px solid var(--border);border-radius:6px;padding:4px 2px;background:var(--bg-primary);color:var(--text-primary);-moz-appearance:textfield}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.cart-footer{padding:20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cart-total-label{font-size:14px;color:var(--text-secondary)}.cart-total-value{font-size:28px;font-weight:700;color:var(--text-primary)}.checkout-btn{width:100%;height:48px;background:var(--primary-gradient)!important;border:none!important;border-radius:var(--radius)!important;font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.checkout-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.checkout-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.cart-fab{display:none;position:fixed;bottom:calc(var(--mobile-nav-height) + 16px);right:16px;width:56px;height:56px;border-radius:50%;background:var(--primary-gradient);border:none;cursor:pointer;z-index:40;box-shadow:0 4px 14px #6366f166;transition:var(--transition)}.cart-fab:hover{transform:scale(1.05)}.cart-fab svg{width:24px;height:24px;color:#fff}.cart-fab-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:11px;font-weight:600;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center}@media(max-width:1024px){.cart-fab{display:flex;align-items:center;justify-content:center}}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}@media(max-width:640px){.products-grid{grid-template-columns:1fr}}.product-list-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;transition:var(--transition);border:1px solid var(--border-light)}.product-list-card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.product-list-info{flex:1;min-width:0}.product-list-name{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.product-list-sku{font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);display:inline-block;margin-bottom:12px;font-family:SF Mono,Monaco,monospace}.product-list-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.product-list-price{font-size:18px;font-weight:700;color:var(--primary)}.product-list-stock{font-size:13px;padding:4px 10px;border-radius:999px;font-weight:500}.product-list-stock.in-stock{background:#10b9811a;color:var(--success)}.product-list-stock.low-stock{background:#f59e0b1a;color:var(--warning)}.product-list-stock.out-of-stock{background:#ef44441a;color:var(--danger)}.product-list-actions{display:flex;gap:8px}.action-btn{width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);color:var(--text-secondary)}.action-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}.add-btn{height:44px;padding:0 20px;background:var(--primary-gradient)!important;border:none!important;border-radius:var(--radius)!important;font-size:14px;font-weight:600;color:#fff!important;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:var(--transition);box-shadow:0 2px 8px #6366f14d}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.modal-form .ant-form-item{margin-bottom:20px}.modal-form .ant-form-item-label>label{font-weight:500;color:var(--text-primary)}.modal-form .ant-input,.modal-form .ant-input-number{border-radius:var(--radius);border:1.5px solid var(--border)}.modal-form .ant-input:focus,.modal-form .ant-input-number:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.ant-layout-header.app-header{height:var(--header-height)!important;line-height:normal!important;padding:0 24px!important}.ant-btn-primary{background:var(--primary)!important;border-color:var(--primary)!important}.ant-btn-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.ant-modal-content{border-radius:var(--radius-lg)!important;overflow:hidden}.ant-modal-header{padding:20px 24px!important;border-bottom:1px solid var(--border)!important}.ant-modal-title{font-weight:600!important}.ant-modal-body{padding:24px!important}.ant-modal-footer{padding:16px 24px!important;border-top:1px solid var(--border)!important}.ant-message-notice-content{border-radius:var(--radius)!important}.ant-spin-dot-item{background-color:var(--primary)!important}.ant-dropdown-menu{border-radius:var(--radius)!important;padding:8px!important;box-shadow:var(--shadow-lg)!important}.ant-dropdown-menu-item{border-radius:var(--radius-sm)!important;padding:10px 12px!important}.pagination-wrapper{margin-top:24px;display:flex;justify-content:center}.ant-pagination-item-active{border-color:var(--primary)!important}.ant-pagination-item-active a{color:var(--primary)!important}.loading-container{display:flex;justify-content:center;align-items:center;padding:60px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}@media(min-width:640px){.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}}.skeleton-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px;animation:skeleton-pulse 1.5s infinite}.skeleton-line{height:14px;background:var(--bg-tertiary);border-radius:4px;margin-bottom:8px}.skeleton-line.short{width:60%}.skeleton-line.price{height:20px;width:50%}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sales-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}@media(max-width:640px){.sales-grid{grid-template-columns:1fr}}.sale-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:20px;cursor:pointer;border:1px solid var(--border-light);transition:var(--transition)}.sale-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sale-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sale-card-date{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.sale-card-date svg{width:16px;height:16px;color:var(--text-muted)}.sale-card-time{font-size:13px;color:var(--text-muted)}.sale-card-body{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sale-card-total{font-size:28px;font-weight:700;color:var(--primary)}.sale-card-items{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);background:var(--bg-tertiary);padding:6px 12px;border-radius:999px}.sale-card-items svg{width:16px;height:16px}.sale-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-light)}.sale-card-products{font-size:13px;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-card-product-tag{color:var(--text-secondary)}.sale-card-more{color:var(--primary);font-weight:500}.sale-card-view{font-size:13px;font-weight:500;color:var(--primary);flex-shrink:0;margin-left:12px}.empty-state{text-align:center;padding:60px 20px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.empty-state-icon{width:80px;height:80px;margin:0 auto 20px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center}.empty-state-icon svg{width:40px;height:40px;color:var(--text-muted)}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-muted)}.sale-detail-modal .ant-modal-content,.sale-detail-modal .ant-modal-body{padding:0!important}.sale-detail{padding:0}.sale-detail-header{display:flex;align-items:center;gap:16px;padding:24px;background:var(--bg-tertiary);position:relative}.sale-detail-icon{width:48px;height:48px;background:var(--primary-gradient);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.sale-detail-icon svg{width:24px;height:24px;color:#fff}.sale-detail-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.sale-detail-header p{font-size:13px;color:var(--text-muted);margin:0}.sale-detail-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition)}.sale-detail-close:hover{background:var(--border);color:var(--text-primary)}.sale-detail-close svg{width:16px;height:16px}.sale-detail-items{padding:16px 24px}.sale-detail-item{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-light)}.sale-detail-item:last-child{border-bottom:none}.sale-detail-item-info{flex:1;min-width:0}.sale-detail-item-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.sale-detail-item-sku{font-size:12px;color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.sale-detail-item-qty{font-size:14px;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 10px;border-radius:var(--radius-sm);font-weight:500}.sale-detail-item-price{font-size:14px;font-weight:600;color:var(--text-primary);min-width:70px;text-align:right}.sale-detail-total{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--bg-tertiary);font-size:18px}.sale-detail-total span:first-child{color:var(--text-secondary);font-weight:500}.sale-detail-total span:last-child{font-size:24px;font-weight:700;color:var(--primary)}.sale-detail-id{text-align:center;padding:16px 24px;font-size:12px;color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-light);font-family:SF Mono,Monaco,monospace}
