:root{--primary-color: #1677ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--text-color: #333333;--text-secondary: #999999;--bg-color: #f5f5f5;--card-bg: #ffffff;--border-color: #e8e8e8;--shadow-color: rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.customer-page{min-height:100vh;background-color:var(--bg-color)}.page-loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.page-header{background:var(--card-bg);padding:16px 16px 12px;position:sticky;top:0;z-index:10;box-shadow:0 1px 4px var(--shadow-color)}.page-title{margin:0!important;text-align:center}.page-subtitle{text-align:center;color:var(--text-secondary);margin:4px 0 0!important;font-size:14px}.back-button{position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:1}.content-container{padding:16px;max-width:1200px;margin:0 auto}.retrieve-success .ant-result{padding:16px 0 8px!important}.retrieve-success .ant-result-icon{margin-bottom:8px!important}.retrieve-success .ant-result-icon>.anticon{font-size:36px!important}.retrieve-success .ant-result-title{font-size:18px!important}.retrieve-success .ant-result-subtitle{font-size:13px!important}.category-card{border-radius:16px;transition:all .35s cubic-bezier(.4,0,.2,1);height:100%;border:1px solid rgba(0,0,0,.04);overflow:hidden;position:relative;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}.category-card .ant-card-body{padding:0!important}.category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--primary-color),#4096ff);opacity:0;transition:opacity .35s ease}.category-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #1677ff1f,0 4px 8px #0000000f;border-color:transparent}.category-card:hover:before{opacity:1}.category-card-content{text-align:center;padding:12px 8px 10px;position:relative}.category-card-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:14px;background:linear-gradient(135deg,#e8f0fe,#d6e4ff);color:var(--primary-color);transition:all .35s ease}.category-card:hover .category-card-icon{background:linear-gradient(135deg,var(--primary-color),#4096ff);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #1677ff4d}.category-name{margin-bottom:2px!important;font-size:13px!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-color)}.category-description{color:var(--text-secondary);font-size:12px;margin-bottom:0!important;line-height:1.6}.category-stock{display:inline-flex;align-items:center;gap:3px;margin-top:6px;font-size:11px;color:var(--text-secondary);background:#f5f7fa;padding:1px 10px;border-radius:20px;transition:all .3s ease}.category-card:hover .category-stock{background:#e8f0fe}.category-stock .stock-number{color:var(--primary-color);font-weight:700;font-size:13px}.product-list-item{padding:0!important;border:none!important;margin-bottom:12px}.product-card{border-radius:10px;transition:all .3s ease}.product-card:hover{box-shadow:0 4px 16px var(--shadow-color)}.product-sold-out{opacity:.7}.product-info{display:flex;justify-content:space-between;align-items:center}.product-details{flex:1;margin-right:12px;min-width:0}.product-name{display:block;font-size:15px;margin-bottom:4px}.product-meta{display:flex;align-items:center;gap:8px}.stock-available{color:var(--success-color)}.stock-empty{color:var(--error-color)}.sold-out-tag{font-size:11px}.retrieve-button{flex-shrink:0}.product-detail-card,.retrieve-form-card{border-radius:10px;margin-bottom:16px}.retrieve-detail-card{border-radius:10px}.quantity-input-wrapper{padding:8px 0}.retrieve-submit-btn{margin-top:16px;height:48px;font-size:16px;border-radius:10px}.retrieve-actions{margin-top:24px}.qr-modal-content{text-align:center;padding:16px 0}.qr-code-wrapper{display:flex;justify-content:center;margin-bottom:16px}.qr-info{margin-bottom:8px}.admin-login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:16px}.login-card{width:100%;max-width:400px;border-radius:12px;box-shadow:0 8px 32px #00000026}.login-header{text-align:center;margin-bottom:24px}.login-icon{font-size:48px;color:var(--primary-color);margin-bottom:8px}.admin-layout{min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:#001529;height:56px;line-height:56px}.admin-header-left{display:flex;align-items:center;gap:12px}.admin-logo-icon{font-size:24px;color:#fff}.admin-header-title{color:#fff!important;font-size:16px}.admin-header-right{display:flex;align-items:center}.admin-user-info{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .3s}.admin-user-info:hover{background:#ffffff1a}.admin-username{color:#fff!important;font-size:14px}.admin-sider{background:#001529}.admin-content{padding:24px;background:var(--bg-color);min-height:calc(100vh - 56px);overflow-y:auto}.admin-page{max-width:1200px}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.admin-filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}@media (max-width: 767px){.admin-content{padding:12px}.admin-page-header{flex-direction:column;align-items:flex-start}.admin-filter-bar{flex-direction:column}.admin-filter-bar .ant-input,.admin-filter-bar .ant-select{width:100%!important}.content-container{padding:12px}}@media (min-width: 768px) and (max-width: 1199px){.content-container{padding:16px 24px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.customer-page .ant-card{animation:fadeIn .4s ease-out}.ant-card-hoverable{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-btn{transition:all .3s ease}.ant-table-tbody>tr.ant-table-row:hover>td{background-color:#f0f5ff!important}
