@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary:#1a90f0;--primary-hover:#1578cc;--primary-shadow:#1a90f040;--bg:#dce8f5;--surface:#fff;--surface-hover:#f8fafc;--text:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--font:"Inter", system-ui, -apple-system, sans-serif}body{font-family:var(--font);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(80% 60% at 0 0,#1a90f02e 0%,#0000 60%),radial-gradient(60% 50% at 100% 100%,#1a90f01a 0%,#0000 60%);background-attachment:fixed;margin:0;padding:0;font-size:15px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}#root:has(.app-container){justify-content:center;align-items:center;height:100vh;overflow:hidden}#root:not(:has(.app-container)){justify-content:flex-start;align-items:stretch;height:auto;min-height:100vh;overflow-y:auto}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.app-container{box-sizing:border-box;gap:16px;width:100%;max-width:1400px;height:calc(100vh - 32px);padding:20px;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-radius:var(--radius-xl);width:220px;min-width:220px;box-shadow:var(--shadow-md);flex-direction:column;padding:14px 0 10px;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden auto}.sidebar-brand{align-items:center;gap:10px;padding:0 16px 18px;display:flex}.sidebar-logo-circle{background:var(--bg);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;display:flex;overflow:hidden}.sidebar-brand-name{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.sidebar-grid-nav{grid-template-columns:repeat(2,1fr);gap:6px;padding:0 12px 8px;display:grid}.sidebar-grid-btn{border-radius:var(--radius-md);color:var(--text-muted);font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 6px;line-height:1.2;transition:background .15s,color .15s;display:flex}.sidebar-grid-btn svg{stroke:currentColor;width:22px;height:22px}.sidebar-grid-btn:hover{background:var(--border-light);color:var(--text)}.sidebar-grid-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-shadow)}.sidebar-middle-lists{flex-direction:column;flex:1;gap:20px;margin-top:16px;padding:0 14px;display:flex}.sidebar-list-section{flex-direction:column;gap:4px;display:flex}.sidebar-list-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);padding:4px 8px 8px;font-size:10px;font-weight:700}.sidebar-list-btn{border-radius:var(--radius-md);color:var(--text-muted);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:9px 10px;transition:background .15s,color .15s;display:flex}.sidebar-list-btn svg{stroke:currentColor;width:16px;height:16px}.sidebar-list-btn:hover{background:var(--border-light);color:var(--text)}.sidebar-list-btn.active{background:var(--primary);color:#fff}.sidebar-footer{border-top:1px solid var(--border-light);flex-direction:column;gap:0;margin-top:auto;padding:12px;display:flex}.sidebar-profile-card{background:var(--bg-light,#f0f4ff);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .15s;display:flex}.sidebar-profile-card:hover{background:var(--border-light)}.sidebar-profile-dropdown{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;display:flex;box-shadow:0 -4px 20px #0000000f}.sidebar-profile-detail{flex-direction:column;gap:1px;display:flex}.sidebar-profile-detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:10px;font-weight:700}.sidebar-profile-detail-value{color:var(--text);word-break:break-all;font-size:12px;font-weight:500}.sidebar-user-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.sidebar-user-details{flex-direction:column;display:flex;overflow:hidden}.sidebar-user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-light);font-size:10px}.sidebar-logout-btn{color:#ef4444;border-radius:var(--radius-md);cursor:pointer;background:#fee2e2;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px;font-size:12px;font-weight:600;transition:background .2s;display:flex}.sidebar-logout-btn:hover{background:#fecaca}.sidebar-logout-btn svg{width:14px;height:14px}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:visible}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px;display:flex}.topbar-breadcrumb{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.breadcrumb-home{color:var(--text-muted)}.breadcrumb-sep{color:var(--text-light)}.breadcrumb-current{color:var(--text);font-weight:600}.user-avatar-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.user-avatar-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.user-dropdown{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;border:1px solid var(--border);min-width:200px;padding:16px;position:absolute;top:52px;right:0}.user-dropdown-name{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:700}.user-dropdown-role{color:var(--text-light);margin-bottom:12px;font-size:12px}.user-dropdown-logout{color:#ef4444;border-radius:var(--radius-sm);cursor:pointer;width:100%;font-size:13px;font-weight:600;font-family:var(--font);background:#fee2e2;border:none;align-items:center;gap:8px;padding:9px 12px;display:flex}.main-content{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow-y:auto}.panel-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-shrink:0;padding:28px 32px}.card{background:0 0;margin-bottom:24px;padding:0}.table-responsive{background:0 0;border:none;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border-light);vertical-align:middle;color:var(--text);padding:11px 12px;font-size:14px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--border-light)}.status-badge{border-radius:20px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.scheduled{color:#0369a1;background:#e0f2fe}.status-badge.inprogress{color:#a16207;background:#fef9c3}.status-badge.completed{color:#166534;background:#dcfce7}.status-badge.canceled{color:#991b1b;background:#fee2e2}.form{flex-direction:column;gap:20px;display:flex}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-family:var(--font);background:var(--surface);color:var(--text);outline:none;padding:10px 14px;font-weight:400;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1a90f01f}.form-group small{color:var(--text-light);font-size:12px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-xl);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;white-space:nowrap;box-shadow:0 4px 6px -1px var(--primary-shadow);border:none;align-items:center;gap:6px;padding:9px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 10px 15px -3px var(--primary-shadow), 0 4px 6px -4px var(--primary-shadow);transform:translateY(-2px)}.btn-primary:active{box-shadow:0 2px 4px -1px var(--primary-shadow);transform:translateY(0)}.btn-secondary{color:#475569;border-radius:var(--radius-md);font-family:var(--font);cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.btn-secondary:hover{color:#1e293b;background-color:#e2e8f0;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.btn-secondary:active{transform:translateY(0)}.tabs-container{gap:8px;margin-bottom:24px;display:flex}.tab-btn{background:var(--border-light);border:1px solid var(--border);border-radius:var(--radius-xl);font-size:13px;font-weight:600;font-family:var(--font);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;padding:8px 20px;transition:all .15s;display:inline-flex}.tab-btn:hover{border-color:var(--primary);color:var(--primary)}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px var(--primary-shadow)}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px;font-size:14px}.placeholder-view{background:var(--border-light);border:2px dashed var(--border);border-radius:var(--radius-lg);height:200px;color:var(--text-light);justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.pagination{justify-content:center;align-items:center;gap:6px;margin-top:20px;padding:8px;display:flex}.page-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:600;transition:all .15s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.table th.sortable:hover{color:var(--primary)}.sort-icon{vertical-align:middle;margin-left:4px;font-size:10px;display:inline-block}.dashboard-cards{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px;display:grid}.dash-card{background:0 0;flex-direction:column;gap:8px;min-width:0;display:flex;overflow:hidden}.dash-card-icon{background:var(--dash-icon-bg,#1a90f01a);width:48px;height:48px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.dash-card-icon svg{stroke:currentColor;width:22px;height:22px}.dash-card-info h3{color:var(--text-light);letter-spacing:.1px;margin:4px 0 2px;font-size:12px;font-weight:500}.dash-card-info p{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:26px;font-weight:800;line-height:1.1;overflow:hidden}.table-toolbar{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar h2{color:var(--text);white-space:nowrap;font-size:20px;font-weight:700}.toolbar-filters{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.search-input-wrap{align-items:center;display:flex;position:relative}.search-input-wrap svg{color:var(--text-light);pointer-events:none;position:absolute;left:10px}.toolbar-input,.toolbar-select{border:1px solid var(--border);height:34px;font-size:13px;font-family:var(--font);color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:20px;outline:none;padding:0 12px;transition:border-color .15s}.search-input-wrap .toolbar-input{min-width:150px;padding-left:30px}input[type=date].toolbar-input{width:135px;padding-left:10px}.toolbar-input:focus,.toolbar-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1a90f01f}.login-page{background-color:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border-radius:var(--radius-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:40px}.login-card h2{color:var(--text);margin-bottom:6px;font-size:22px}.login-card p{color:var(--text-light);margin-bottom:28px;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-container{background:var(--surface);border-radius:var(--radius-2xl);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s ease-out slideUp;display:flex;overflow:hidden}.modal-container.large{max-width:900px}.modal-header{border-bottom:1px solid var(--border-light);background:#fff;justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-header h2{color:var(--text-dark);margin:0;font-size:20px;font-weight:600}.modal-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;font-size:24px;transition:all .2s;display:flex}.modal-close:hover{background:var(--bg);color:var(--text-dark)}.modal-body{background:#fff;padding:24px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-footer{border-bottom-left-radius:var(--radius-2xl);border-bottom-right-radius:var(--radius-2xl);background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border-light);z-index:900;justify-content:space-between;align-items:center;padding:14px 20px;display:none;position:sticky;top:0;overflow:visible;box-shadow:0 2px 10px #0000000d}.mobile-menu-btn{cursor:pointer;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:background .15s;display:flex}.mobile-menu-btn:hover{background:var(--bg)}.sidebar-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:998;background:#00000073;display:none;position:fixed;inset:0}@media (width<=1100px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-container{gap:0;height:100vh;padding:0}.mobile-header{display:flex}.topbar{display:none}.sidebar{z-index:999;border-radius:0;height:100vh;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:10px 0 40px #00000026}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.main-wrapper{flex-direction:column;width:100%}.main-content{height:calc(100vh - 56px);padding:12px}.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.dash-card-info p{font-size:20px}.panel-card{border-radius:var(--radius-lg);padding:16px}.form-row{flex-direction:column;gap:16px}.tabs-container{flex-wrap:wrap}.table-toolbar{flex-direction:column;align-items:stretch;gap:12px}.table-toolbar .btn-primary{justify-content:center;width:100%}.admin-login-box{width:auto;max-width:100%;margin:16px;padding:24px}}.os-table-desktop{display:block}.os-cards-mobile{display:none}@media (width<=768px){.os-table-desktop{display:none}.os-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.os-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.os-mobile-card:hover{box-shadow:0 2px 12px #00000012}.os-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.os-mobile-pet{color:var(--text);font-size:15px;font-weight:700;display:block}.os-mobile-date{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.os-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.os-mobile-total{color:var(--text);font-size:16px;font-weight:700}}.customers-table-desktop{display:block}.customers-cards-mobile{display:none}@media (width<=768px){.customers-table-desktop{display:none}.customers-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.customer-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.customer-mobile-card:hover{box-shadow:0 2px 12px #00000012}.customer-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.customer-mobile-name{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700;display:block}.customer-mobile-info{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}}.pets-table-desktop{display:block}.pets-cards-mobile{display:none}@media (width<=768px){.pets-table-desktop{display:none}.pets-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.pet-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.pet-mobile-card:hover{box-shadow:0 2px 12px #00000012}.pet-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pet-mobile-name{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700;display:block}.pet-mobile-info{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.pet-mobile-notes{border-top:1px solid var(--border-light);color:var(--text-light);padding-top:10px;font-size:12px;font-style:italic}}.services-table-desktop{display:block}.services-cards-mobile{display:none}@media (width<=768px){.services-table-desktop{display:none}.services-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.service-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.service-mobile-card:hover{box-shadow:0 2px 12px #00000012}.service-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.service-mobile-name{color:var(--text);font-size:15px;font-weight:700;display:block}.service-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;padding-top:12px;display:flex}}.users-table-desktop{display:block}.users-cards-mobile{display:none}@media (width<=768px){.users-table-desktop{display:none}.users-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.user-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.user-mobile-card:hover{box-shadow:0 2px 12px #00000012}.user-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.user-mobile-name{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700;display:block}.user-mobile-info{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.user-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:flex-start;padding-top:10px;display:flex}}.products-table-desktop{display:block}.products-cards-mobile{display:none}@media (width<=768px){.products-table-desktop{display:none}.products-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.product-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.product-mobile-card:hover{box-shadow:0 2px 12px #00000012}.product-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.product-mobile-name{color:var(--text);font-size:15px;font-weight:700;display:block}.product-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;padding-top:12px;display:flex}}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.finance-table-desktop{display:block}.finance-cards-mobile{display:none}@media (width<=768px){.finance-table-desktop{display:none}.finance-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.finance-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.finance-mobile-card:hover{box-shadow:0 2px 12px #00000012}.finance-mobile-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;padding-top:12px;display:flex}}.transactions-table-desktop{display:block}.transactions-cards-mobile{display:none}@media (width<=768px){.transactions-table-desktop{display:none}.transactions-cards-mobile{flex-direction:column;gap:10px;margin-top:8px;display:flex}.transaction-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.transaction-mobile-card:hover{box-shadow:0 2px 12px #00000012}.transaction-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.transaction-mobile-desc{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700;display:block}.transaction-mobile-meta{color:var(--text-muted);font-size:12px;display:block}.transaction-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:10px;display:flex}}@media (width<=600px){.cal-pills{display:none!important}.cal-dots{display:flex!important}.cal-btn-label{display:none}}.taxidog-table-desktop{display:block}.taxidog-cards-mobile{display:none}@media (width<=768px){.taxidog-table-desktop{display:none}.taxidog-cards-mobile{flex-direction:column;gap:10px;margin-top:12px;display:flex}.taxidog-mobile-card{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;transition:box-shadow .15s;display:flex}.taxidog-mobile-card:hover{box-shadow:0 2px 12px #00000012}.taxidog-mobile-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.taxidog-mobile-name{color:var(--text);font-size:15px;font-weight:700}.taxidog-mobile-card-bottom{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:12px;display:flex}}.mobile-header{display:none}@media (width<=900px){.app-container{flex-direction:column;padding:10px}.mobile-header{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:flex-start;align-items:center;margin-bottom:0;padding:14px 20px;display:flex;overflow:visible}.mobile-menu-btn{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.topbar{display:none!important}.sidebar{z-index:1000;border-radius:0;height:100vh;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000026}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;width:100vw;height:100vh;animation:.2s ease-out fadeIn;position:fixed;top:0;left:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-container{z-index:9999;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.toast{border-radius:var(--radius-lg);background:#fff;align-items:center;gap:12px;min-width:300px;max-width:400px;padding:16px 20px;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards slideInRight;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.toast:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.toast-success:before{background-color:var(--primary)}.toast-error:before{background-color:#ef4444}.toast-icon{justify-content:center;align-items:center;font-size:20px;display:flex}.toast-message{color:var(--text-dark);flex:1;font-size:14px;font-weight:500}.toast-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:all .2s;display:flex}.toast-close:hover{color:var(--text-dark);background:#f1f5f9}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}*,:before,:after{box-sizing:border-box}.pb-container{width:100%;min-height:100vh;font-family:var(--pb-font,"Inter"), "Segoe UI", sans-serif;color:#1e293b;background-color:#f0f6ff;flex-direction:column;padding-bottom:40px;display:flex;overflow-y:auto}.pb-header{background:linear-gradient(135deg, var(--pb-primary) 0%, var(--pb-primary-dark) 100%);color:#fff;text-align:center;box-shadow:0 4px 20px color-mix(in srgb, var(--pb-primary-dark) 25%, transparent);border-bottom-right-radius:24px;border-bottom-left-radius:24px;padding:20px clamp(16px,4vw,48px)}.pb-header h1{margin:0;font-size:clamp(18px,3vw,26px);font-weight:700}.pb-stepper{justify-content:center;align-items:center;padding:clamp(16px,3vw,28px) 20px clamp(12px,2vw,20px);display:flex}.pb-step-indicator{color:#64748b;background-color:#dde5f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(28px,4vw,36px);height:clamp(28px,4vw,36px);font-size:clamp(13px,1.5vw,15px);font-weight:700;transition:all .3s;display:flex}.pb-step-indicator.active{background-color:var(--pb-primary);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb, var(--pb-primary) 18%, transparent)}.pb-step-line{background-color:#dde5f0;border-radius:2px;width:clamp(32px,6vw,80px);height:3px;margin:0 8px;transition:all .3s}.pb-step-line.active{background-color:var(--pb-primary)}.pb-content{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:860px;margin:0 auto;padding:clamp(16px,3vw,32px) clamp(16px,4vw,40px)}.pb-auth-card{background:#fff;border-radius:24px;max-width:500px;margin:0 auto;padding:clamp(20px,4vw,40px) clamp(20px,5vw,48px);box-shadow:0 10px 40px #00000012}.pb-title{color:#0f172a;margin:0 0 8px;font-size:clamp(18px,2.5vw,24px);font-weight:700}.pb-subtitle{color:#64748b;margin:0 0 24px;font-size:clamp(13px,1.5vw,15px);line-height:1.5}.pb-date-carousel{-webkit-overflow-scrolling:touch;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:thin;gap:8px;width:100%;min-width:0;max-width:100%;margin-bottom:24px;padding:4px 2px 14px;display:flex;overflow-x:auto}.pb-date-carousel::-webkit-scrollbar{height:4px}.pb-date-carousel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.pb-date-btn{cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:clamp(62px,9vw,78px);height:clamp(74px,11vw,90px);transition:all .2s;display:flex}.pb-date-btn:hover{border-color:#94a3b8;transform:translateY(-2px)}.pb-date-btn.selected{background:var(--pb-primary);border-color:var(--pb-primary);box-shadow:0 4px 12px color-mix(in srgb, var(--pb-primary) 30%, transparent)}.pb-date-btn.selected .pb-date-dayname,.pb-date-btn.selected .pb-date-number{color:#fff}.pb-date-dayname{color:#64748b;margin-bottom:4px;font-size:clamp(11px,1.4vw,12px);font-weight:600}.pb-date-number{color:#0f172a;font-size:clamp(13px,1.8vw,16px);font-weight:700}.pb-section-title{color:#334155;margin:0 0 14px;font-size:clamp(14px,1.8vw,16px);font-weight:700}.pb-time-grid{box-sizing:border-box;width:100%;min-width:0;margin-bottom:24px}.pb-times{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(min(100%,80px),1fr));gap:8px;width:100%;display:grid}@media (width>=480px){.pb-times{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}}.pb-time-btn{color:#475569;cursor:pointer;box-sizing:border-box;text-align:center;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:48px;padding:10px 4px;font-size:clamp(12px,1.6vw,14px);font-weight:600;transition:all .2s;display:flex}.pb-time-btn:hover:not(:disabled){border-color:#94a3b8;transform:translateY(-1px)}.pb-time-btn.selected{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 4px 12px #10b98140}.pb-time-btn.booked{color:#94a3b8;cursor:not-allowed;opacity:.6;background:#f1f5f9;border-color:#e2e8f0}.pb-time-btn.booked:hover{border-color:#e2e8f0;transform:none}.pb-service-list{box-sizing:border-box;grid-template-columns:1fr;gap:12px;width:100%;display:grid}@media (width>=640px){.pb-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.pb-service-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:18px;align-items:center;gap:16px;padding:clamp(14px,2vw,20px);transition:all .2s;display:flex}.pb-service-card:hover{border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.pb-service-card.active{border-color:var(--pb-primary);background:linear-gradient(90deg, color-mix(in srgb, var(--pb-primary) 10%, transparent) 0%, color-mix(in srgb, var(--pb-primary) 4%, transparent) 100%);box-shadow:0 4px 14px color-mix(in srgb, var(--pb-primary) 12%, transparent)}.pb-service-icon{background:#e0f2fe;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(40px,5vw,52px);height:clamp(40px,5vw,52px);font-size:22px;display:flex}.pb-service-info{flex:1}.pb-service-info h4{color:#0f172a;margin:0 0 4px;font-size:clamp(14px,1.8vw,16px)}.pb-service-info p{color:#64748b;margin:0;font-size:13px}.pb-service-price{color:var(--pb-primary-dark);white-space:nowrap;font-size:clamp(14px,1.8vw,16px);font-weight:700}.pb-payment-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(min(100%,120px),1fr));gap:10px;width:100%;display:grid}.pb-payment-card{text-align:center;color:#334155;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:clamp(14px,2vw,20px) 12px;font-size:clamp(13px,1.5vw,15px);font-weight:600;transition:all .2s}.pb-payment-card:hover{border-color:#94a3b8;transform:translateY(-2px)}.pb-payment-card.active{border-color:var(--pb-primary);background:color-mix(in srgb, var(--pb-primary) 8%, transparent);color:#0284c7;box-shadow:0 2px 10px color-mix(in srgb, var(--pb-primary) 15%, transparent)}.pb-summary-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;margin-bottom:24px;padding:clamp(16px,2.5vw,24px)}.pb-summary-card p{margin:0 0 8px;font-size:clamp(14px,1.6vw,15px)}.pb-summary-card p:last-child{margin:0}.pb-summary-card strong{color:#0f172a}.pb-selected-date-card{border:1.5px solid var(--pb-primary-light);background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.pb-selected-date-info{color:#0f172a;align-items:center;gap:10px;font-size:clamp(13px,1.6vw,15px);font-weight:600;display:flex}.pb-selected-date-icon{font-size:20px}.pb-btn-calendar-link{color:var(--pb-primary-dark);cursor:pointer;font-size:clamp(13px,1.5vw,14px);font-weight:600}.pb-btn-calendar-link:hover{text-decoration:underline}.pb-auth-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:30px;padding:4px;display:inline-flex}.pb-auth-toggle button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:26px;padding:9px clamp(18px,4vw,28px);font-size:14px;font-weight:600;transition:all .25s}.pb-auth-toggle button.active{background:var(--pb-primary);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--pb-primary) 25%, transparent)}.pb-form-group{margin-bottom:18px}.pb-form-group label{color:#334155;margin-bottom:7px;font-size:14px;font-weight:600;display:block}.pb-form-group input,.pb-form-group select{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;width:100%;padding:clamp(12px,1.8vw,15px) 16px;font-size:clamp(14px,1.6vw,16px);transition:border-color .2s,box-shadow .2s}.pb-form-group input:focus,.pb-form-group select:focus{border-color:var(--pb-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-primary) 12%, transparent);outline:none}.pb-form-row{flex-wrap:wrap;gap:12px;display:flex}.pb-form-row .pb-form-group{flex:1;min-width:140px}.pb-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.pb-btn-primary,.pb-btn-secondary,.pb-btn-success{cursor:pointer;border:none;border-radius:14px;flex:1;min-width:120px;padding:clamp(13px,2vw,17px) 16px;font-size:clamp(14px,1.8vw,16px);font-weight:700;transition:opacity .2s,transform .15s}.pb-btn-primary{background:var(--pb-primary);color:#fff}.pb-btn-secondary{color:#475569;background:#e2e8f0}.pb-btn-success{color:#fff;background:#10b981}.pb-btn-primary:not(:disabled):hover,.pb-btn-success:not(:disabled):hover{opacity:.88;transform:translateY(-1px)}.pb-btn-secondary:hover{background:#cbd5e1}.pb-btn-primary:disabled,.pb-btn-success:disabled{opacity:.45;cursor:not-allowed}.fade-in{animation:.3s ease-in-out fadeIn}@media (width>=768px){.pb-header{border-bottom-right-radius:32px;border-bottom-left-radius:32px;padding:28px 5vw}.pb-stepper{padding:28px 20px 20px}}.pb-auth-header{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;padding:clamp(14px,3vh,24px) 20px!important}.pb-auth-logo-badge{background:#fff;border-radius:20px;justify-content:center;align-items:center;width:clamp(50px,8vh,72px);height:clamp(50px,8vh,72px);margin-bottom:8px;padding:8px;display:flex;box-shadow:0 4px 12px #0000001a}.pb-auth-h1{font-weight:700;margin:0!important;font-size:clamp(20px,2.5vh,24px)!important}.pb-auth-desc{opacity:.9;font-weight:500;margin:4px 0 0!important;font-size:clamp(12px,1.6vh,13px)!important}.pb-auth-content{padding-top:clamp(12px,2.5vh,24px)!important}.pb-auth-card{background:#fff;border-radius:24px;max-width:480px;margin:0 auto;box-shadow:0 10px 30px #0000000f;padding:clamp(20px,3.2vh,32px) clamp(18px,3.5vw,28px)!important}@media (height<=850px) and (orientation:landscape),(height<=720px){.pb-auth-header{padding:10px 20px 12px!important}.pb-auth-logo-badge{border-radius:12px!important;width:44px!important;height:44px!important;margin-bottom:5px!important;padding:5px!important}.pb-auth-h1{font-size:18px!important}.pb-auth-desc{margin-top:2px!important;font-size:11.5px!important}.pb-auth-content{padding-top:10px!important;padding-bottom:16px!important}.pb-auth-card{border-radius:18px!important;padding:16px 22px!important}.pb-auth-toggle{margin-bottom:12px!important}.pb-auth-toggle button{padding:6px 16px!important;font-size:13px!important}.pb-title{margin-bottom:3px!important;font-size:17px!important}.pb-subtitle{margin-bottom:12px!important;font-size:12.5px!important}.pb-form-group{margin-bottom:10px!important}.pb-form-group label{margin-bottom:3px!important;font-size:12.5px!important}.pb-form-group input,.pb-form-group select{border-radius:10px!important;padding:9px 12px!important;font-size:13.5px!important}.pb-actions{margin-top:16px!important}.pb-btn-primary{border-radius:12px!important;padding:11px 16px!important;font-size:14px!important}}.pb-auth-toggle-wrapper{justify-content:center;margin-bottom:clamp(12px,2vh,24px);display:flex}.pb-auth-actions{margin-top:clamp(15px,2vh,32px)!important}.pb-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.pb-modal-card{background:#fff;border-radius:24px;width:100%;max-width:440px;max-height:90vh;padding:clamp(20px,3vh,28px);animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;overflow-y:auto;box-shadow:0 20px 40px #0003}@keyframes slideUpModal{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.pb-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.pb-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}.pb-modal-close:hover{color:#0f172a;background:#e2e8f0}.pb-pet-badge{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .2s;display:flex}.pb-pet-badge:hover{background:#f1f5f9;border-color:#cbd5e1}.pb-btn-add-pet{color:#0284c7;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.pb-btn-add-pet:hover{border-color:var(--pb-primary,#0ea5e9);color:var(--pb-primary-dark,#0284c7);background:#f0f9ff}.pb-add-pet-btn{color:#0284c7;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;margin-bottom:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.pb-add-pet-btn:hover{border-color:var(--pb-primary,#0ea5e9);color:var(--pb-primary-dark,#0284c7);background:#f0f9ff}.pb-pet-badge-remove{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 0 0 8px;font-size:16px;line-height:1;transition:color .2s}.pb-pet-badge-remove:hover{color:#ef4444}.pb-modal-box{background:#fff;border-radius:24px;width:100%;max-width:440px;max-height:90vh;padding:clamp(20px,3vh,28px);animation:.25s cubic-bezier(.16,1,.3,1) slideUpModal;overflow-y:auto;box-shadow:0 20px 40px #0003}.pb-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.pb-modal-actions button{min-width:110px}.pb-pet-selector{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;margin-bottom:20px;padding:14px 16px}.pb-pet-selector-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:12px;font-weight:600}.pb-pet-selector-list{flex-wrap:wrap;gap:8px;display:flex}.pb-pet-selector-btn{color:#475569;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:99px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.pb-pet-selector-btn:hover{border-color:var(--pb-primary,#0ea5e9);color:var(--pb-primary,#0ea5e9)}.pb-pet-selector-btn.active{background:var(--pb-primary,#0ea5e9);border-color:var(--pb-primary,#0ea5e9);color:#fff;box-shadow:0 4px 12px #0ea5e94d}.pb-forgot-link{color:var(--pb-primary,#0ea5e9);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;transition:opacity .2s}.pb-forgot-link:hover{opacity:.85;text-decoration:underline}.pb-channel-cards{flex-direction:column;gap:12px;margin:18px 0;display:flex}.pb-channel-card{cursor:pointer;text-align:left;background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:all .2s;display:flex}.pb-channel-card:hover:not(:disabled){background:#fff;border-color:#cbd5e1;transform:translateY(-1px)}.pb-channel-card.selected{border-color:var(--pb-primary,#0ea5e9);background:color-mix(in srgb, var(--pb-primary,#0ea5e9) 8%, white);box-shadow:0 4px 14px color-mix(in srgb, var(--pb-primary,#0ea5e9) 18%, transparent)}.pb-channel-card:disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9}.pb-channel-icon{flex-shrink:0;font-size:26px;line-height:1}.pb-channel-info{flex:1}.pb-channel-title{color:#1e293b;margin-bottom:2px;font-size:14px;font-weight:700}.pb-channel-target{color:#64748b;font-size:13px;font-weight:500}.pb-channel-radio{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.pb-channel-card.selected .pb-channel-radio{border-color:var(--pb-primary,#0ea5e9);background:var(--pb-primary,#0ea5e9)}.pb-channel-card.selected .pb-channel-radio:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px}.pb-code-input{text-align:center;letter-spacing:10px;font-family:monospace;padding:12px 16px!important;font-size:24px!important;font-weight:800!important}.pb-preview-box{color:#166534;background:#f0fdf4;border:1px dashed #86efac;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.pb-preview-box strong{letter-spacing:2px;color:#15803d;font-size:15px}.pb-resend-row{justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;display:flex}.pb-portal-wrapper{min-height:100vh;font-family:var(--pb-font,"Inter", -apple-system, BlinkMacSystemFont, sans-serif);color:#1e293b;box-sizing:border-box;background:#f8fafc;width:100%;max-width:100vw;display:flex;position:relative;overflow-x:hidden}.pb-portal-sidebar{z-index:1000;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;justify-content:space-between;width:270px;padding:24px 18px;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 12px #00000008}.pb-sidebar-top{flex-direction:column;gap:20px;display:flex}.pb-sidebar-brand{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.pb-sidebar-brand-content{align-items:center;gap:12px;display:flex}.pb-sidebar-logo{background:color-mix(in srgb, var(--pb-primary,#0ea5e9) 12%, white);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex;overflow:hidden}.pb-sidebar-logo img{object-fit:contain;width:100%;height:100%}.pb-sidebar-title{color:#0f172a;margin:0;font-size:15px;font-weight:700;line-height:1.2}.pb-sidebar-subtitle{color:#64748b;font-size:11px;font-weight:500}.pb-sidebar-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:background .2s;display:none}.pb-sidebar-close-btn:hover{color:#0f172a;background:#f1f5f9}.pb-sidebar-user{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.pb-sidebar-avatar{background:var(--pb-primary,#0ea5e9);color:#fff;width:38px;height:38px;box-shadow:0 2px 8px color-mix(in srgb, var(--pb-primary,#0ea5e9) 35%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.pb-sidebar-user-info{overflow:hidden}.pb-sidebar-user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:13px;font-weight:700;overflow:hidden}.pb-sidebar-user-tag{color:#059669;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.pb-sidebar-user-tag:before{content:"";background:#10b981;border-radius:50%;width:6px;height:6px}.pb-sidebar-nav{flex-direction:column;gap:6px;display:flex}.pb-nav-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.pb-nav-item svg{color:#64748b;flex-shrink:0;transition:all .2s}.pb-nav-item:hover{color:#0f172a;background:#f1f5f9}.pb-nav-item:hover svg{color:var(--pb-primary,#0ea5e9)}.pb-nav-item.active{background:color-mix(in srgb, var(--pb-primary,#0ea5e9) 10%, white);color:var(--pb-primary,#0ea5e9);font-weight:700}.pb-nav-item.active svg{color:var(--pb-primary,#0ea5e9)}.pb-sidebar-bottom{border-top:1px solid #f1f5f9;padding-top:16px}.pb-logout-btn{color:#dc2626;cursor:pointer;text-align:left;background:#fef2f2;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.pb-logout-btn:hover{color:#b91c1c;background:#fee2e2;transform:translateY(-1px)}.pb-portal-main{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:100vh;margin-left:270px;padding:32px 40px;display:flex}.pb-portal-view{box-sizing:border-box;width:100%;min-width:0;max-width:1200px}.pb-mobile-topbar{z-index:900;box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;width:100%;padding:12px 18px;display:none;position:sticky;top:0;box-shadow:0 1px 6px #00000008}.pb-mobile-menu-btn{color:#1e293b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.pb-mobile-menu-btn:hover{background:#f1f5f9}.pb-mobile-topbar-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.pb-portal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0f172a66;animation:.2s fadeInOverlay;display:none;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.pb-view-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.pb-view-header button,.pb-view-header .pb-btn-primary{flex:none;width:auto}.pb-view-title{color:#0f172a;align-items:center;gap:10px;margin:0 0 4px;font-size:clamp(20px,2.5vw,26px);font-weight:800;display:flex}.pb-view-subtitle{color:#64748b;margin:0;font-size:14px}.pb-filters-bar{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:12px 18px;display:flex;box-shadow:0 2px 8px #00000005}.pb-filter-search{flex:1;align-items:center;min-width:220px;max-width:320px;display:flex;position:relative}.pb-filter-search-icon{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.pb-filter-search-input{color:#1e293b;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:8px 34px 8px 36px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.pb-filter-search-input:focus{border-color:var(--pb-primary,#0ea5e9);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-primary,#0ea5e9) 15%, transparent);background:#fff}.pb-filter-group{align-items:center;gap:8px;display:flex}.pb-filter-label{color:#475569;white-space:nowrap;font-size:13px;font-weight:700}.pb-filter-select,.pb-filter-input-date{color:#1e293b;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.pb-filter-select:focus,.pb-filter-input-date:focus{border-color:var(--pb-primary,#0ea5e9);box-shadow:0 0 0 3px color-mix(in srgb, var(--pb-primary,#0ea5e9) 15%, transparent);background:#fff}.pb-filter-clear-btn{cursor:pointer;color:#475569;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex;position:absolute;right:8px}.pb-filter-clear-btn:hover{color:#0f172a;background:#cbd5e1}.pb-filter-reset-btn{color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.pb-filter-reset-btn:hover{color:#991b1b;background:#fecaca}.pb-app-list{flex-direction:column;gap:14px;display:flex}.pb-app-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000005}.pb-app-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 18px #0000000d}.pb-app-left{align-items:center;gap:18px;display:flex}.pb-app-date-badge{background:color-mix(in srgb, var(--pb-primary,#0ea5e9) 12%, white);width:60px;height:60px;color:var(--pb-primary,#0ea5e9);border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.pb-app-date-day{font-size:20px;line-height:1}.pb-app-date-month{text-transform:uppercase;margin-top:2px;font-size:11px}.pb-app-info{flex-direction:column;gap:4px;display:flex}.pb-app-service{color:#0f172a;font-size:16px;font-weight:700}.pb-app-details{color:#64748b;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.pb-app-right{align-items:center;gap:18px;display:flex}.pb-app-price{color:#0f172a;font-size:18px;font-weight:800}.pb-status-badge{border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.pb-status-badge.pending{color:#b45309;background:#fef3c7}.pb-status-badge.confirmed,.pb-status-badge.scheduled{color:#0369a1;background:#e0f2fe}.pb-status-badge.in_progress{color:#6d28d9;background:#ede9fe}.pb-status-badge.completed{color:#047857;background:#d1fae5}.pb-status-badge.canceled{color:#b91c1c;background:#fee2e2}.pb-pets-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.pb-pet-portal-card{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;align-items:center;gap:14px;min-width:0;padding:16px 18px;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000005}.pb-pet-portal-card:hover{border-color:var(--pb-primary,#0ea5e9);transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.pb-pet-portal-avatar{background:#f1f5f9;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.pb-pet-portal-info{flex:1;min-width:0}.pb-pet-portal-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:15px;font-weight:800;overflow:hidden}.pb-pet-portal-breed{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:12.5px;overflow:hidden}.pb-pet-portal-tag{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pb-pet-portal-btn{color:#334155!important;cursor:pointer!important;white-space:nowrap!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:10px!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:6px!important;width:auto!important;min-width:0!important;padding:8px 14px!important;font-size:13px!important;font-weight:600!important;transition:all .15s!important;display:inline-flex!important}.pb-pet-portal-btn:hover{transform:translateY(-1px);background:var(--pb-primary,#0ea5e9)!important;color:#fff!important;border-color:var(--pb-primary,#0ea5e9)!important}.pb-profile-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:24px;max-width:760px;padding:clamp(24px,3vw,36px);box-shadow:0 4px 20px #00000008}.pb-profile-section{border-bottom:1px solid #f1f5f9;margin-bottom:24px;padding-bottom:24px}.pb-profile-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.pb-profile-section-title{color:#0f172a;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;font-weight:700;display:flex}.pb-empty-state{text-align:center;background:#fff;border:1.5px dashed #cbd5e1;border-radius:20px;padding:60px 20px}.pb-empty-icon{margin-bottom:16px;font-size:54px}.pb-empty-title{color:#1e293b;margin:0 0 6px;font-size:18px;font-weight:800}.pb-empty-desc{color:#64748b;max-width:320px;margin:0 auto 20px;font-size:14px}@media (width<=1024px){.pb-portal-sidebar{width:min(85vw,300px);transform:translate(-100%);box-shadow:4px 0 24px #00000026}.pb-portal-sidebar.open{transform:translate(0)}.pb-sidebar-close-btn{display:block}.pb-portal-main{width:100%;max-width:100vw;margin-left:0;padding:0}.pb-mobile-topbar{display:flex}.pb-portal-overlay.open{display:block}.pb-portal-view{padding:clamp(14px,3vw,24px) clamp(12px,3vw,20px)}.pb-content{padding:6px 0 24px}.pb-stepper{padding:16px 10px 10px}.pb-step-line{width:clamp(20px,4vw,44px);margin:0 4px}}@media (width<=600px){.pb-app-card{flex-direction:column;align-items:flex-start;padding:16px}.pb-app-right{border-top:1px solid #f1f5f9;justify-content:space-between;width:100%;margin-top:8px;padding-top:12px}.pb-view-header{flex-direction:column;align-items:flex-start;gap:12px}.pb-view-header button{justify-content:center;width:100%}.pb-pets-grid{grid-template-columns:1fr}.pb-filters-bar{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.pb-filter-search{min-width:100%;max-width:100%}.pb-filter-group{flex-direction:column;align-items:stretch;gap:6px}.pb-filter-reset-btn{justify-content:center;margin-left:0}}.redly-footer{color:#94a3b8;-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:auto;padding:20px 16px;font-size:12px;transition:all .2s;display:flex}.redly-footer-text{font-weight:500}.redly-footer-brand{color:#64748b;letter-spacing:-.2px;opacity:.85;align-items:center;gap:6px;font-weight:700;transition:all .2s;display:inline-flex}.redly-footer-brand:hover{color:#0ea5e9;opacity:1}.redly-footer-logo{object-fit:cover;border-radius:4px;width:17px;height:17px;display:block;box-shadow:0 1px 3px #0000001f}.redly-footer-name{font-size:12px}@media (width<=480px){.redly-footer{gap:6px;padding:16px 12px;font-size:11.5px}.redly-footer-name{font-size:11.5px}.redly-footer-logo{width:15px;height:15px}}
