:root{color-scheme:light;--tg-theme-bg-color: #f8fafc;--tg-theme-secondary-bg-color: #ffffff;--tg-theme-text-color: #0f172a;--tg-theme-hint-color: #64748b;--tg-theme-link-color: #c2652a;--tg-theme-button-color: #c2652a;--tg-theme-button-text-color: #ffffff;--bg-color: #f8fafc;--secondary-bg: #ffffff;--surface-card: #ffffff;--surface-card-subtle: #fbfcfe;--surface-container-low: #f1f5f9;--surface-container-high: #e2e8f0;--surface-glass: rgba(255, 255, 255, .85);--surface-glass-header: rgba(255, 255, 255, .88);--surface-glass-modal: rgba(255, 255, 255, .94);--primary: #c2652a;--primary-hover: #b05721;--primary-dark: #9a4716;--primary-light: #fff7ed;--primary-light-alpha: rgba(194, 101, 42, .09);--primary-glow: rgba(194, 101, 42, .25);--text-color: #0f172a;--text-primary: #0f172a;--text-secondary: #334155;--hint-color: #64748b;--text-tertiary: #94a3b8;--border-sand: rgba(226, 232, 240, .85);--border-hairline: rgba(15, 23, 42, .07);--border-subtle: rgba(226, 232, 240, .9);--border-focus: #c2652a;--border-glass: rgba(255, 255, 255, .8);--accent: #d97706;--accent-light: #fffbeb;--accent-border: #fde68a;--danger: #dc2626;--danger-light: #fef2f2;--danger-border: #fecaca;--success: #059669;--success-light: #ecfdf5;--success-border: #a7f3d0;--teal-accent: #0d9488;--blue-accent: #0284c7;--blue-light: #f0f9ff;--blue-border: #bae6fd;--purple-accent: #7c3aed;--purple-light: #f5f3ff;--purple-border: #ddd6fe;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 4px rgba(15, 23, 42, .03), 0 1px 2px rgba(15, 23, 42, .02);--shadow-md: 0 4px 14px -2px rgba(15, 23, 42, .05), 0 2px 6px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 25px -4px rgba(15, 23, 42, .07), 0 4px 10px -2px rgba(15, 23, 42, .03);--shadow-xl: 0 20px 35px -6px rgba(15, 23, 42, .09), 0 8px 16px -4px rgba(15, 23, 42, .04);--card-shadow: 0 4px 16px -2px rgba(15, 23, 42, .05), 0 2px 6px -1px rgba(15, 23, 42, .02);--inner-highlight: inset 0 1px 0 rgba(255, 255, 255, .95);--inner-glow: inset 0 0 0 1px rgba(255, 255, 255, .6);--radius-xl: 24px;--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--radius-xs: 6px;--radius-pill: 9999px;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s var(--ease-spring);--transition-base: .25s var(--ease-spring);--transition-slow: .35s var(--ease-spring)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}html,body{color-scheme:light!important;background-color:var(--bg-color);color:var(--text-color);direction:rtl;text-align:right;min-height:100vh;margin:0;padding:0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-x:hidden;user-select:none;-webkit-user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative;background-color:var(--bg-color)}[class*=date],[id*=date],[class*=price],[id*=price],[class*=counter],[id*=counter],.timeline-card,.stat-value,.badge-expiry,.code-val,.cart-badge,.product-price,.doctor-fee,.pet-slide-counter,.detail-value{font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,sans-serif!important;font-feature-settings:"ss01" 1;font-variant-numeric:tabular-nums}.app-header{position:sticky;top:0;z-index:80;background:var(--surface-glass-header);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-hairline);box-shadow:0 1px 12px #0f172a08,var(--inner-highlight);transition:background .25s var(--ease-spring)}.brand{display:flex;align-items:center;gap:12px}.brand-logo{font-size:24px;background:linear-gradient(135deg,#fff7ed,#ffedd5);color:var(--primary);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid rgba(194,101,42,.2);box-shadow:0 2px 8px #c2652a1f,var(--inner-highlight);transition:transform .2s var(--ease-spring)}.brand-logo:hover{transform:rotate(-3deg) scale(1.03)}.brand-info h1{font-size:1.12rem;font-weight:800;color:var(--text-color);display:flex;align-items:center;gap:6px;letter-spacing:-.2px}.badge-pro{font-size:10px;background:linear-gradient(135deg,#c2652a,#ea580c);color:#fff;padding:2px 8px;border-radius:var(--radius-pill);font-weight:800;letter-spacing:.3px;box-shadow:0 2px 6px #c2652a4d}.brand-info p{font-size:.78rem;color:var(--hint-color);font-weight:500;margin-top:1px}.header-actions{display:flex;align-items:center;gap:10px}.icon-btn{background:#ffffffe6;border:1px solid var(--border-sand);font-size:19px;width:42px;height:42px;border-radius:50%;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-color);box-shadow:var(--shadow-xs),var(--inner-highlight);transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}.icon-btn:hover{background:#fff;box-shadow:var(--shadow-sm)}.icon-btn:active{transform:scale(.92)}.badge{position:absolute;top:-2px;left:-2px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:11px;font-weight:800;min-width:19px;height:19px;padding:0 4px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 6px #dc262659;font-feature-settings:"ss01" 1}.portals-entry-bar{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-color);border-bottom:1px solid var(--border-hairline);width:100%}.portal-entry-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-family:inherit;font-size:.83rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring),background .2s var(--ease-spring);box-shadow:var(--shadow-xs)}.portal-entry-btn .portal-btn-icon{font-size:1.15rem;line-height:1}.portal-entry-btn.vet-entry-btn{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0369a1;border-color:#bae6fd}.portal-entry-btn.vet-entry-btn:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);box-shadow:0 3px 10px #0284c726}.portal-entry-btn.shop-entry-btn{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857;border-color:#a7f3d0}.portal-entry-btn.shop-entry-btn:hover{background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 3px 10px #05966926}.portal-entry-btn:active{transform:scale(.97)!important}.nav-tabs{display:flex;background:var(--surface-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-hairline);padding:8px 12px;gap:8px;overflow-x:auto;scrollbar-width:none;position:sticky;top:69px;z-index:70;box-shadow:0 2px 10px #0f172a05}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{flex:1;min-width:76px;background:transparent;border:1px solid transparent;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:var(--radius-md);cursor:pointer;color:var(--hint-color);transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),color .2s var(--ease-spring),box-shadow .2s var(--ease-spring);position:relative}.nav-tab:hover{background:#0f172a08;color:var(--text-color)}.nav-tab:active{transform:scale(.97)!important}.nav-tab.active{background:linear-gradient(135deg,#c2652a,#d97706);color:#fff!important;border-color:#c2652a33;box-shadow:0 4px 14px #c2652a52,var(--inner-highlight)}.tab-icon{font-size:19px;line-height:1;transition:transform .2s var(--ease-spring)}.nav-tab.active .tab-icon{transform:scale(1.08)}.tab-label{font-size:11.5px;font-weight:700;white-space:nowrap;letter-spacing:-.2px}.main-content{flex:1;padding:16px;position:relative}.tab-content{display:none;opacity:0}.tab-content.active{display:block;animation:tabEntrance .28s var(--ease-spring) forwards}@keyframes tabEntrance{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:1.05rem;font-weight:800;color:var(--text-color);letter-spacing:-.2px}.sync-tag{font-size:11px;font-weight:700;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;padding:3px 10px;border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);display:inline-flex;align-items:center;gap:4px}.passport-header-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.btn-add-pet-header{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-pill);background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 3px 10px #0284c747,var(--inner-highlight);transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring)}.btn-add-pet-header:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0284c75c}.btn-add-pet-header:active{transform:scale(.97)!important}.passport-card{background:var(--surface-card);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--card-shadow),var(--inner-highlight);border:1px solid var(--border-sand);margin-bottom:16px;position:relative;overflow:hidden;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}.passport-card:before{content:"";position:absolute;top:0;right:0;width:100%;height:4px;background:linear-gradient(90deg,#c2652a,#d97706,#f59e0b)}.passport-header{display:flex;align-items:center;gap:14px}.pet-avatar-wrapper{position:relative;flex-shrink:0}.pet-avatar{font-size:38px;width:68px;height:68px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(194,101,42,.25);box-shadow:0 4px 12px #c2652a26,var(--inner-highlight);overflow:hidden}.status-indicator{position:absolute;bottom:2px;right:2px;width:15px;height:15px;border-radius:50%;border:2.5px solid #ffffff;box-shadow:var(--shadow-xs)}.status-indicator.online{background:#10b981;box-shadow:0 0 0 2px #10b98133}.passport-meta h3{font-size:1.15rem;font-weight:800;color:var(--text-color);margin-bottom:2px;letter-spacing:-.2px}.passport-meta p{font-size:.83rem;color:var(--hint-color);font-weight:500;margin-bottom:8px}.passport-chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;padding:4px 10px;border-radius:var(--radius-sm);background:var(--surface-container-low);color:var(--text-secondary);border:1px solid var(--border-sand);font-weight:600;box-shadow:var(--shadow-xs)}.chip-success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.chip-id{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;font-weight:700}.chip-id .code-val{direction:ltr;display:inline-block;font-weight:800;letter-spacing:.5px}.passport-divider{height:1px;background:var(--border-hairline);margin:16px 0}.passport-details{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;padding:4px 0}.detail-label{color:var(--hint-color);font-weight:500}.detail-value{font-weight:700;color:var(--text-color)}.detail-item.diet-detail-item{align-items:flex-start}.detail-item.diet-detail-item .detail-label{white-space:nowrap;padding-top:2px}.diet-value-container{display:flex;flex-direction:column;align-items:flex-end;max-width:68%;min-width:0;text-align:right}.diet-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:transparent;border:none;padding:0;font-family:inherit;font-size:.86rem;font-weight:700;color:var(--text-color);transition:opacity .15s}.diet-dropdown-toggle:active{opacity:.7}.diet-dropdown-chevron{font-size:10px;display:inline-block;transition:transform .25s var(--ease-spring);color:var(--primary)}.diet-dropdown-chevron.open{transform:rotate(180deg)}.diet-dropdown-list{display:flex;flex-direction:column;gap:6px;padding-top:8px;width:100%}.diet-dropdown-item{display:flex;align-items:flex-start;gap:6px;font-size:.78rem;color:var(--text-secondary);line-height:1.5}.diet-dropdown-bullet{color:var(--primary);font-size:8px;margin-top:4px;flex-shrink:0}.passport-actions{display:flex;gap:10px}.btn{border:none;border-radius:var(--radius-md);padding:12px 16px;min-height:46px;font-size:.88rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring),background .2s var(--ease-spring),opacity .2s;box-shadow:var(--shadow-xs);-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)!important}.btn-primary{background:linear-gradient(135deg,#c2652a,#a8501c);color:#fff;box-shadow:0 4px 14px #c2652a47,var(--inner-highlight);flex:1}.btn-primary:hover{box-shadow:0 6px 18px #c2652a5c,var(--inner-highlight)}.btn-primary:active{background:#9a4716}.btn-secondary{background:#fff;color:var(--text-color);border:1px solid var(--border-sand);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-container-low);border-color:#cbd5e1}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #dc262647}.btn-block{width:100%}.pet-slideshow-container{position:relative;width:100%;margin-bottom:16px;touch-action:pan-y}.pet-slideshow-nav{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;margin-bottom:8px}.pet-slide-counter{font-size:.82rem;font-weight:700;color:var(--blue-accent);background:#0284c714;padding:4px 12px;border-radius:var(--radius-pill);border:1px solid rgba(2,132,199,.2);display:inline-flex;align-items:center;gap:4px}.slideshow-controls{display:flex;align-items:center;gap:8px}.slideshow-arrow-btn{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--text-color);border:1px solid var(--border-sand);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),color .2s var(--ease-spring);box-shadow:var(--shadow-xs)}.slideshow-arrow-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.slideshow-arrow-btn:active{transform:scale(.92)!important}.slideshow-dots-container{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.pet-pill-item.pet-carousel-dot{width:9px;height:9px;border:none;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:all .25s var(--ease-spring);outline:none}.pet-pill-item.pet-carousel-dot.active{width:26px;height:9px;border-radius:var(--radius-pill);background:var(--blue-accent);box-shadow:0 2px 8px #0284c759}.passport-card.slide-exit-left{opacity:0;transform:translate(-24px);transition:opacity .12s ease,transform .12s ease}.passport-card.slide-exit-right{opacity:0;transform:translate(24px);transition:opacity .12s ease,transform .12s ease}.passport-card.slide-enter-left{opacity:0;transform:translate(-24px);transition:none!important}.passport-card.slide-enter-right{opacity:0;transform:translate(24px);transition:none!important}.passport-card.slide-active{opacity:1;transform:translate(0);transition:opacity .2s var(--ease-spring),transform .2s var(--ease-spring)}.quick-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-card{background:var(--surface-card);padding:14px 16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--inner-highlight);border:1px solid var(--border-sand);display:flex;align-items:center;gap:12px;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:active{transform:scale(.97)!important}.stat-icon{font-size:26px;line-height:1;width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-container-low);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info h4{font-size:.85rem;font-weight:800;color:var(--text-color);margin-bottom:2px}.stat-info p{font-size:.76rem;color:var(--hint-color);font-weight:500}.info-banner{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:var(--radius-md);padding:12px 14px;display:flex;gap:10px;font-size:.83rem;line-height:1.5;box-shadow:var(--shadow-xs);margin-bottom:16px}.emergency-card{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:var(--radius-xl);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;box-shadow:0 8px 24px #ef444442,var(--inner-highlight);position:relative;overflow:hidden}.emergency-card:after{content:"";position:absolute;top:-40px;right:-40px;width:100px;height:100px;border-radius:50%;background:#ffffff26;pointer-events:none}.emergency-content h3{font-size:1.05rem;font-weight:800;margin-bottom:4px}.emergency-content p{font-size:.8rem;opacity:.92}.filter-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px;padding-bottom:4px}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{background:#fff;border:1px solid var(--border-sand);padding:8px 14px;border-radius:var(--radius-pill);font-size:.82rem;font-weight:700;white-space:nowrap;color:var(--hint-color);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),color .2s var(--ease-spring)}.filter-chip:hover{color:var(--text-color);background:var(--surface-container-low)}.filter-chip:active{transform:scale(.97)!important}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #c2652a4d}.doctors-list{display:flex;flex-direction:column;gap:14px}.doctor-card{background:var(--surface-card);border-radius:var(--radius-xl);padding:16px 18px;box-shadow:var(--shadow-sm),var(--inner-highlight);border:1px solid var(--border-sand);display:flex;justify-content:space-between;align-items:center;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring)}.doctor-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.doctor-card:active{transform:scale(.98)!important}.doctor-profile{display:flex;align-items:center;gap:14px}.doctor-avatar{font-size:30px;width:52px;height:52px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:50%;border:1px solid #bbf7d0;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs)}.doctor-info h4{font-size:.95rem;font-weight:800;color:var(--text-color);margin-bottom:2px}.doctor-spec{font-size:.78rem;color:var(--hint-color);margin-bottom:4px;font-weight:500}.doctor-rating{font-size:.76rem;color:var(--accent);font-weight:700}.doctor-action{text-align:left}.doctor-fee{font-size:.86rem;font-weight:800;color:var(--primary);display:block;margin-bottom:6px}.shop-hero{background:linear-gradient(135deg,#c2652a,#ea580c);color:#fff;border-radius:var(--radius-xl);padding:18px 20px;margin-bottom:16px;box-shadow:0 8px 24px #c2652a42,var(--inner-highlight);position:relative;overflow:hidden}.shop-hero-text h2{font-size:1.1rem;font-weight:800;margin-bottom:4px}.shop-hero-text p{font-size:.82rem;opacity:.92}.pet-type-selector{display:flex;gap:8px;margin-bottom:16px}.type-btn{flex:1;background:#fff;border:1px solid var(--border-sand);padding:10px;border-radius:var(--radius-md);font-size:.82rem;font-weight:700;cursor:pointer;color:var(--text-color);transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),color .2s var(--ease-spring);box-shadow:var(--shadow-xs)}.type-btn:active{transform:scale(.97)!important}.type-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #c2652a4d}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-sm),var(--inner-highlight);border:1px solid var(--border-sand);display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s var(--ease-spring),box-shadow .2s var(--ease-spring)}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.product-card:active{transform:scale(.98)!important}.product-img{font-size:38px;height:88px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:10px;border:1px solid rgba(15,23,42,.04)}.product-title{font-size:.85rem;font-weight:800;margin-bottom:4px;line-height:1.4;height:38px;overflow:hidden;color:var(--text-color)}.product-meta{font-size:.74rem;color:var(--hint-color);margin-bottom:10px}.product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.product-price{font-size:.88rem;font-weight:800;color:var(--primary)}.btn-add-cart{background:#fff;color:var(--primary);border:1px solid rgba(194,101,42,.25);width:36px;height:36px;border-radius:var(--radius-sm);font-size:18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-spring),background .2s var(--ease-spring),color .2s var(--ease-spring)}.btn-add-cart:hover{background:var(--primary);color:#fff}.btn-add-cart:active{transform:scale(.9)!important;background:var(--primary-dark);color:#fff}.timeline-list{display:flex;flex-direction:column;gap:16px;position:relative;padding-right:22px}.timeline-list:before{content:"";position:absolute;top:12px;right:7px;width:2px;height:calc(100% - 24px);background:#e2e8f0}.timeline-item{position:relative}.timeline-dot{position:absolute;top:14px;right:-22px;width:16px;height:16px;border-radius:50%;background:#cbd5e1;border:3px solid #ffffff;box-shadow:0 0 0 1px #cbd5e1;z-index:2}.timeline-item.done .timeline-dot{background:#10b981;box-shadow:0 0 0 2px #10b98140}.timeline-item.upcoming .timeline-dot{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b40}.timeline-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm),var(--inner-highlight);border:1px solid var(--border-sand);transition:transform .15s var(--ease-spring)}.timeline-card:active{transform:scale(.98)!important}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.timeline-header h4{font-size:.88rem;font-weight:800;color:var(--text-color)}.badge-status{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm)}.badge-status.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.badge-status.warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.badge-status.info{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.timeline-card p{font-size:.82rem;color:var(--text-secondary);margin-bottom:4px;line-height:1.5}.timeline-card small{font-size:.74rem;color:var(--hint-color)}.modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);z-index:100;align-items:flex-end;justify-content:center;transition:opacity .25s var(--ease-spring)}.modal-backdrop.open{display:flex}.modal-container{background:#fff;width:100%;max-width:520px;border-radius:26px 26px 0 0;padding:24px 20px;box-shadow:0 -8px 36px #0f172a29;max-height:86vh;display:flex;flex-direction:column;animation:modalSlideUp .3s var(--ease-spring) forwards;position:relative}.modal-container:before{content:"";position:absolute;top:9px;left:50%;transform:translate(-50%);width:40px;height:4.5px;border-radius:3px;background:#cbd5e1}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-hairline);padding-bottom:12px;margin-top:6px}.modal-header h3{font-size:1.1rem;font-weight:800;color:var(--text-color)}.close-btn{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--hint-color);line-height:1;transition:transform .15s,color .15s}.close-btn:hover{color:var(--text-color)}.close-btn:active{transform:scale(.92)!important}.cart-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-height:42vh}.empty-cart-msg{text-align:center;color:var(--hint-color);padding:36px 0;font-size:.9rem}.cart-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface-container-low);border:1px solid var(--border-sand);padding:12px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.cart-item-info h4{font-size:.88rem;font-weight:700;color:var(--text-color)}.cart-item-info p{font-size:.82rem;color:var(--primary);font-weight:700}.cart-item-controls{display:flex;align-items:center;gap:8px}.qty-btn{background:#fff;border:1px solid #cbd5e1;width:30px;height:30px;border-radius:var(--radius-sm);cursor:pointer;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-spring),background .15s}.qty-btn:active{transform:scale(.92)!important}.cart-summary{border-top:1px solid var(--border-hairline);padding-top:14px}.summary-row{display:flex;justify-content:space-between;font-size:.92rem;font-weight:700;margin-bottom:12px;color:var(--text-color)}.delivery-row{font-size:.82rem;font-weight:600;color:var(--hint-color)}.free-delivery{color:var(--success)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.82rem;font-weight:700;margin-bottom:6px;color:var(--text-secondary)}.form-control{width:100%;padding:11px 14px;border-radius:var(--radius-md);border:1px solid var(--border-sand);background:#fff;color:var(--text-color);font-size:.88rem;outline:none;box-shadow:var(--shadow-xs),var(--inner-highlight);transition:border-color .2s var(--ease-spring),box-shadow .2s var(--ease-spring)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c2652a29}.price-highlight{color:var(--primary);font-weight:800}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(100px);background:#0f172af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff;padding:11px 22px;border-radius:var(--radius-pill);font-size:.86rem;font-weight:700;box-shadow:0 10px 30px #00000040,inset 0 1px #fff3;z-index:200;transition:transform .3s var(--ease-spring),opacity .3s var(--ease-spring);opacity:0;pointer-events:none;white-space:nowrap}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.passport-shared-banner{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:10px 14px;border-radius:var(--radius-md);font-size:.84rem;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-xs)}.qr-modal-container{max-width:360px}.qr-image-wrapper{background:#fff;padding:16px;border-radius:var(--radius-lg);border:1px solid rgba(15,23,42,.08);display:inline-flex;margin:12px auto;box-shadow:var(--shadow-md)}.passport-qr-img{width:200px;height:200px;display:block;border-radius:var(--radius-sm)}.qr-info-box{background:var(--surface-container-low);border:1px solid var(--border-sand);padding:12px;border-radius:var(--radius-md);margin:12px 0;font-size:.84rem}.qr-helper-text{font-size:.76rem;color:var(--hint-color);margin-top:6px;line-height:1.5}.text-center{text-align:center}.cart-modal-tabs{display:flex;background:var(--surface-container-low);border:1px solid var(--border-sand);border-radius:var(--radius-md);padding:4px;gap:4px;margin-bottom:14px}.cart-tab-btn{flex:1;border:none;background:transparent;padding:8px 12px;font-family:inherit;font-size:.84rem;font-weight:700;color:var(--hint-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-spring)}.cart-tab-btn:active{transform:scale(.97)!important}.cart-tab-btn.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-xs)}.cart-tab-view.hidden{display:none!important}.tracker-embed-content{display:flex;flex-direction:column;gap:12px}.tracker-input-row{display:flex;gap:8px;margin-bottom:8px}.tracker-input-row input{flex:1;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-sand);background:#fff;font-family:inherit;font-size:.88rem;direction:ltr;text-align:center;font-weight:700;outline:none;transition:border-color .2s}.tracker-input-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c2652a26}.btn-tracker-shortcut{background:var(--surface-container-low);color:var(--primary);border:1px solid var(--border-sand);border-radius:var(--radius-pill);padding:6px 14px;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-top:8px;transition:transform .15s var(--ease-spring)}.btn-tracker-shortcut:active{transform:scale(.96)!important}.timeline{position:relative;display:flex;flex-direction:column;gap:16px;padding-right:14px;margin:14px 0}.timeline:before{content:"";position:absolute;top:10px;bottom:10px;right:28px;width:2px;background:#e2e8f0}.timeline-step{display:flex;align-items:flex-start;gap:12px;position:relative}.step-icon-box{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--hint-color);border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;z-index:2;box-shadow:var(--shadow-xs)}.timeline-step.completed .step-icon-box{background:var(--primary);border-color:var(--primary);color:#fff}.timeline-step.active .step-icon-box{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 0 0 4px #f59e0b38}.step-content{flex:1}.step-content h4{margin:0 0 2px;font-size:.86rem;font-weight:800;color:var(--text-color)}.step-content p{margin:0;font-size:.76rem;color:var(--hint-color);line-height:1.4}.pet-quick-chip{padding:6px 12px;font-size:.78rem;font-weight:700;border-radius:var(--radius-pill);background:var(--surface-container-low);color:var(--text-secondary);border:1px solid var(--border-sand);cursor:pointer;transition:transform .15s var(--ease-spring),background .2s,color .2s;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:4px;box-shadow:var(--shadow-xs)}.pet-quick-chip:hover{background:#e2e8f0}.pet-quick-chip:active{transform:scale(.96)!important}.pet-quick-chip.active{background:var(--blue-accent);color:#fff!important;border-color:var(--blue-accent);box-shadow:0 2px 8px #0284c74d}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);z-index:9999;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.portal-login-card{max-width:440px;width:100%;margin:auto;border-radius:var(--radius-xl);background:#fff;padding:24px;box-shadow:0 25px 50px -12px #0f172a40,var(--inner-highlight);animation:modalScaleIn .26s var(--ease-spring) forwards;border:1px solid var(--border-sand)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.portal-login-tabs{display:flex;gap:6px;background:var(--surface-container-low);padding:4px;border-radius:var(--radius-md);margin:14px 0 16px}.portal-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border-radius:var(--radius-sm);border:none;background:transparent;font-family:inherit;font-size:.8rem;font-weight:700;color:var(--hint-color);cursor:pointer;transition:all .2s var(--ease-spring)}.portal-tab:active{transform:scale(.97)!important}.portal-tab.active{background:#fff;color:var(--text-color);box-shadow:var(--shadow-xs)}.portal-login-alert{padding:11px 14px;border-radius:var(--radius-md);font-size:.82rem;margin-bottom:14px;line-height:1.5}.portal-login-alert.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.portal-login-alert.success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.portal-login-footer-info{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-hairline);font-size:.77rem;color:var(--hint-color);line-height:1.6;text-align:center}.new-pet-overlay-view{display:none!important;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);z-index:1000;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-spring)}.new-pet-overlay-view.open{display:flex!important;opacity:1!important;pointer-events:auto!important}.new-pet-container{width:100%;max-width:540px;background:#fff;border-radius:26px 26px 0 0;padding:24px 20px;box-shadow:0 -8px 36px #0f172a29;animation:modalSlideUp .3s var(--ease-spring) forwards;display:flex;flex-direction:column;position:relative}@media(min-width:600px){.new-pet-overlay-view{align-items:center;padding:20px}.new-pet-container{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}}.new-pet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-hairline);margin-bottom:16px}.new-pet-title-box h3{margin:0 0 2px;font-size:1.15rem;font-weight:800;color:var(--text-color)}.new-pet-subtitle{margin:0;font-size:.78rem;color:var(--hint-color)}.close-btn-styled{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-container-low);border:1px solid var(--border-sand);color:var(--text-secondary);font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .15s var(--ease-spring),background .15s}.close-btn-styled:hover{background:#e2e8f0}.close-btn-styled:active{transform:scale(.96)!important}.new-pet-actions{display:flex;gap:10px;margin-top:1.5rem}.age-mode-selector{display:flex;gap:8px;margin:8px 0}.age-mode-btn{padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-sand);background:#fff;font-family:inherit;font-size:.78rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:transform .15s var(--ease-spring),background .2s;box-shadow:var(--shadow-xs)}.age-mode-btn:active{transform:scale(.96)!important}.age-mode-btn.active{background:var(--blue-accent);color:#fff;border-color:var(--blue-accent);box-shadow:0 2px 8px #0284c740}.age-builder-box{background:var(--surface-container-low);border:1px solid var(--border-sand);border-radius:var(--radius-lg);padding:14px;margin-top:10px}.age-builder-row{margin-bottom:12px}.age-builder-label{display:block;font-size:.78rem;font-weight:800;color:var(--text-secondary);margin-bottom:6px}.age-pills-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.age-pill{padding:7px 12px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--border-sand);font-family:inherit;font-size:.78rem;font-weight:700;color:var(--text-secondary);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-spring),background .15s,color .15s}.age-pill:hover{border-color:#94a3b8;background:#f8fafc}.age-pill:active{transform:scale(.95)!important}.age-pill.active{background:var(--blue-accent);color:#fff;border-color:var(--blue-accent);box-shadow:0 2px 8px #0284c747}.age-preview-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);background:#ecfdf5;color:#047857;font-weight:800;font-size:.82rem;border:1px solid #a7f3d0}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeletonShimmer 1.8s infinite var(--ease-smooth);border-radius:var(--radius-sm);display:block}.skeleton-text{height:14px;width:100%;margin-bottom:8px}.skeleton-text.short{width:60%}.skeleton-avatar{width:60px;height:60px;border-radius:50%}.skeleton-card{height:120px;border-radius:var(--radius-lg);margin-bottom:14px}.skeleton-btn{height:44px;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.text-primary{color:var(--primary)!important}.font-mono{font-family:Courier New,Courier,monospace}
