body{margin:0;font-family:sans-serif;background:#fafafa}.navbar{position:fixed;top:0;left:0;width:100%;height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;background:#fff;border-bottom:1px solid #eaeaea;z-index:1100}.navbar-menu{font-size:22px;cursor:pointer;color:#333}.navbar-logo{display:flex;align-items:center;font-size:18px;font-weight:700;color:#222;gap:6px}.logo-img{height:20px;width:auto;display:block}.home-container{min-height:100vh;padding-top:56px}.home-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:16px}.product-card{background:#fff;border:1px solid #eaeaea;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s ease}.product-card:hover{transform:translateY(-2px)}.product-image-wrapper{position:relative;width:100%;padding-top:90%}.product-image{border-top-left-radius:8px;border-top-right-radius:8px;object-fit:fill;position:absolute;top:0;bottom:0}.product-rating{position:absolute;top:6px;left:6px;background:#fff;color:#ffd700;font-size:12px;font-weight:600;padding:2px 6px;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.product-info{padding:8px 10px 12px}.product-title{font-size:15px;font-weight:600;margin:2px 0;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-products a,.home-products a *{text-decoration:none!important;color:inherit}.home-products a .line-through-force{text-decoration:line-through!important;color:#999!important}.product-publisher{font-size:12px;color:#666;margin-bottom:6px;margin-top:6px}.product-pricing{display:flex;align-items:center;gap:6px}.trial-price{font-size:16px;color:#000000;font-weight:600}.original-price{font-size:14px;color:#333;display:inline}.original-price.line-through{text-decoration:line-through!important;color:#999!important}.discount{font-size:14px;color:#ff5a5f}.side-drawer{position:fixed;top:0;left:0;width:240px;height:100%;background:#fff;border-right:1px solid #eaeaea;z-index:2000;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .3s ease-in-out;overflow-y:auto;-webkit-overflow-scrolling:touch}.side-drawer.open{transform:translateX(0)}.drawer-header{position:sticky;top:0;background:#f9f9f9;border-bottom:1px solid #eaeaea;padding:24px 16px;z-index:1}.user-info{display:flex;align-items:center;gap:10px}.user-name{font-size:16px;font-weight:600;color:#222}.user-phone{font-size:13px;color:#555}.user-icon{width:65px;height:65px;border-radius:70%}.sign-in-btn{display:block;width:100%;background:linear-gradient(90deg,#ff4b2b,#ff416c);color:#fff;border:none;border-radius:8px;padding:12px 0;font-size:15px;font-weight:600;cursor:pointer;margin-top:16px;transition:opacity .2s ease}.sign-in-btn:hover{opacity:.9}.side-drawer ul{list-style:none;padding:16px;margin:20px 0 0;flex:1;font-size:15px}.side-drawer li{margin-bottom:25px}.side-drawer a{text-decoration:none;color:#333;font-size:15px;font-weight:500;transition:color .2s ease}.side-drawer a:hover{color:#0070f3}.drawer-footer{margin-top:auto;padding:24px 16px;border-top:1px solid #eaeaea;text-align:center}.logout-btn{display:block;width:100%;background:#f44336;color:#fff;border:none;border-radius:8px;padding:10px 0;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:12px;transition:background .2s ease}.logout-btn:hover{background:#d32f2f}.app-info{font-size:12px;color:#777}.app-logo{font-weight:700;font-size:14px;color:#ff416c;margin-bottom:4px}.app-version{font-size:12px;margin-bottom:2px}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.35);z-index:1500;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.overlay.show{opacity:1;pointer-events:all}.error-container,.loading-container{display:flex;justify-content:center;align-items:center;min-height:60vh;font-size:16px;color:#666}.spinner{border:6px solid #f3f3f3;border-top-color:#0070f3;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}