    /* Light Theme (default) */
    :root,[data-theme="light"]{--cream:#FDF8F3;--white:#FFFCF9;--tan:#E8DED5;--brown:#8B7355;--dark:#5C4D3C;--forest:#2dd4bf;--forest-light:#14b8a6;--rust:#2dd4bf;--rust-dark:#0d9488;--gold:#D4A853;--red:#C45A5A;--red-light:#F5E0E0;--yellow-light:#FDF8E8;--green-light:#E5EDE7;--blue:#5A8AC4;--blue-light:#E0EBF5;--purple:#7B68A6;--purple-light:#E8E0F5;--orange:#E07C3E;--orange-light:#FDF0E6;--shadow:rgba(92,77,60,0.1);--card-border:transparent;--bg-gradient-1:var(--tan);--bg-gradient-2:var(--yellow-light);--bg-opacity:0.4;--font-display:'Fraunces',Georgia,serif;--font-body:'Outfit',sans-serif;--r-sm:8px;--r-md:12px;--r-lg:20px;--r-xl:28px}
    
    /* Dark Theme */
    [data-theme="dark"]{--cream:#0a1628;--white:#132039;--tan:rgba(255,255,255,0.12);--brown:#94a3b8;--dark:#ffffff;--forest:#2dd4bf;--forest-light:#14b8a6;--rust:#2dd4bf;--rust-dark:#0d9488;--gold:#fbbf24;--red:#f87171;--red-light:rgba(248,113,113,0.15);--yellow-light:rgba(251,191,36,0.15);--green-light:rgba(45,212,191,0.15);--blue:#60a5fa;--blue-light:rgba(96,165,250,0.15);--purple:#a78bfa;--purple-light:rgba(167,139,250,0.15);--orange:#fb923c;--orange-light:rgba(251,146,60,0.15);--shadow:rgba(0,0,0,0.3);--card-border:rgba(255,255,255,0.08);--bg-gradient-1:rgba(45,212,191,0.08);--bg-gradient-2:rgba(45,212,191,0.05);--bg-opacity:1}
    
    /* Theme Toggle Button */
    .theme-toggle{width:44px;height:44px;border-radius:var(--r-md);border:2px solid var(--tan);background:var(--white);color:var(--brown);font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{border-color:var(--forest);color:var(--forest);background:var(--green-light)}
    
    /* Page Footer with Theme Toggle */
    .page-footer{text-align:center;padding:40px 20px 30px;margin-top:40px;border-top:1px solid var(--tan)}
    .page-footer-content{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--brown);font-size:.8rem}
    .footer-theme-toggle{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--tan);background:var(--cream);color:var(--brown);font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.footer-theme-toggle:hover{border-color:var(--forest);color:var(--forest);background:var(--green-light)}
    
    /* Mobile Bottom Navigation */
    .bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--tan);padding:6px 0;padding-bottom:calc(6px + env(safe-area-inset-bottom));z-index:998;box-shadow:0 -2px 10px var(--shadow)}
    .bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;max-width:500px;margin:0 auto}
    .bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:none;background:transparent;color:var(--brown);font-size:.6rem;font-weight:500;cursor:pointer;border-radius:var(--r-sm);transition:all .15s;min-width:56px;position:relative}
    .bottom-nav-btn:hover{background:var(--cream)}
    .bottom-nav-btn.active{color:var(--forest)}
    .bottom-nav-btn .nav-icon{font-size:1.4rem;line-height:1}
    .bottom-nav-btn .nav-label{white-space:nowrap}
    .bottom-nav-btn .nav-badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:.5rem;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-weight:600;display:flex;align-items:center;justify-content:center}
    
    /* Mobile header logout button - only visible on mobile when logged in */
    .mobile-logout-btn{display:none;padding:6px 12px;border-radius:var(--r-md);border:none;background:var(--tan);color:var(--brown);font-size:.75rem;font-weight:500;cursor:pointer;flex-shrink:0}.mobile-logout-btn:hover{background:var(--brown);color:#fff}
    
    *{margin:0;padding:0;box-sizing:border-box}
    body{font-family:var(--font-body);background:var(--cream);color:var(--dark);min-height:100vh;line-height:1.5;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden}
    body::before{content:'';position:fixed;inset:0;background-image:radial-gradient(circle at 20% 80%,var(--bg-gradient-1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--bg-gradient-2) 0%,transparent 40%);opacity:var(--bg-opacity);pointer-events:none;z-index:-1}
    .notification{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:var(--r-md);color:#fff;font-weight:500;z-index:1000;transform:translateX(400px);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:320px}.notification.show{transform:translateX(0)}.notification.success{background:linear-gradient(135deg,var(--forest),var(--forest-light))}.notification.error{background:linear-gradient(135deg,var(--rust-dark),var(--rust))}.notification.warning{background:linear-gradient(135deg,var(--gold),#e6b84d)}
    .container{max-width:1200px;margin:0 auto;padding:20px}
    .header{background:var(--white);border-radius:var(--r-xl);padding:20px 28px;margin-bottom:24px;box-shadow:0 4px 24px var(--shadow);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border:1px solid var(--card-border)}
    .logo{display:flex;align-items:center;gap:16px}.logo-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--forest),var(--forest-light));border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden}.logo-text h1{font-family:var(--font-display);font-size:1.6rem;font-weight:700}.logo-text p{font-size:.9rem;color:var(--brown)}
    .nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-btn{padding:10px 20px;border-radius:var(--r-md);border:none;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--tan);color:var(--dark);text-decoration:none}.nav-btn:hover{background:var(--brown);color:#fff}.nav-btn.active{background:var(--forest);color:#fff}
    .user-info{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--green-light);border-radius:var(--r-md)}.user-info span{font-size:.85rem;color:var(--forest);font-weight:500}
    .card{background:var(--white);border-radius:var(--r-xl);padding:24px;box-shadow:0 4px 24px var(--shadow);animation:fadeIn .4s;border:1px solid var(--card-border)}.card-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:10px}
    .main-grid{display:grid;grid-template-columns:1fr 400px;gap:24px}.calendar-card{position:sticky;top:20px;align-self:start}.right-column{display:flex;flex-direction:column;gap:16px}.two-col{display:grid;grid-template-columns:1fr 2fr;gap:24px}
    .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:40px;height:40px;border-radius:var(--r-sm);border:2px solid var(--tan);background:var(--white);color:var(--brown);font-size:1.2rem;cursor:pointer;transition:all .2s}.calendar-nav button:hover{border-color:var(--forest);color:var(--forest);background:var(--green-light)}
    .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--brown);text-transform:uppercase;padding:8px 0}
    .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
    /* CALENDAR DAY - BASE STYLES */
    .calendar-day {
      min-height: 95px;
      border-radius: var(--r-md);
      border: 2px solid var(--tan);
      background: var(--white);
      padding: 8px;
      cursor: pointer;
      transition: all .15s;
      display: flex;
      flex-direction: column;
      user-select: none;
      position: relative;
    }
    
    .calendar-day:hover:not(.past):not(.empty):not(.blocked) {
      border-color: var(--forest);
      transform: scale(1.03);
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }
    
    .calendar-day.empty {
      background: var(--cream);
      border-color: transparent;
      cursor: default;
    }
    
    .calendar-day.past {
      background: var(--tan);
      opacity: .5;
      cursor: not-allowed;
      border-color: transparent;
    }
    
    .calendar-day.blocked {
      background: repeating-linear-gradient(45deg, var(--red-light), var(--red-light) 4px, rgba(248,113,113,0.2) 4px, rgba(248,113,113,0.2) 8px);
      cursor: not-allowed;
      border-color: var(--red);
    }
    
    /* SELECTED DATES - Green */
    .calendar-day.selected {
      background: var(--forest) !important;
      border-color: var(--forest) !important;
      border-width: 3px !important;
    }
    
    .calendar-day.selected .day-number {
      color: #fff !important;
      font-weight: 700 !important;
    }
    
    .calendar-day.selected .day-info {
      color: #fff;
    }
    
    .calendar-day.selected .avail-text {
      color: #fff !important;
    }
    
    .calendar-day.selected .capacity-bar {
      background: rgba(255,255,255,0.3);
    }
    
    .calendar-day.selected .capacity-fill {
      background: var(--white) !important;
    }
    
    .calendar-day.selected .my-booking-tag,
    .calendar-day.selected .my-booking-more,
    .calendar-day.selected .day-badge {
      background: rgba(255,255,255,0.3) !important;
      color: #fff !important;
    }
    
    /* IN RANGE - Light green */
    .calendar-day.in-range {
      background: var(--green-light) !important;
      border-color: var(--forest) !important;
      border-width: 2px !important;
    }
    
    .calendar-day.in-range .day-number {
      color: var(--forest) !important;
      font-weight: 600 !important;
    }
    
    .calendar-day.in-range .my-booking-tag {
      background: var(--forest) !important;
      color: #fff !important;
    }
    
    /* FULL CAPACITY - Red background fill, NO colored border */
    .calendar-day.full:not(.selected):not(.in-range) {
      background: #FFEBEE !important;
      border-color: var(--tan) !important;
    }
    
    .calendar-day.full:not(.selected):not(.in-range) .day-number {
      color: #C62828;
      font-weight: 700;
    }
    
    .calendar-day.full:not(.selected):not(.in-range) .avail-text {
      color: #C62828 !important;
      font-weight: 700;
    }
    
    /* LIMITED CAPACITY - Yellow/tan background fill, NO colored border */
    .calendar-day.limited:not(.selected):not(.in-range) {
      background: #FFF9C4 !important;
      border-color: var(--tan) !important;
    }
    
    .calendar-day.limited:not(.selected):not(.in-range) .day-number {
      color: #F57C00;
      font-weight: 600;
    }
    
    .calendar-day.limited:not(.selected):not(.in-range) .avail-text {
      color: #F57C00 !important;
      font-weight: 600;
    }
    
    /* PENDING BOOKINGS - Keep subtle, NO colored border */
    .calendar-day.has-pending:not(.selected):not(.in-range) {
      border-color: var(--tan) !important;
    }
    
    /* TRANSITION DAYS (Pet Sitting) - Orange tint */
    .calendar-day.transition:not(.selected):not(.in-range) {
      background: #FFF3E0;
      border-color: var(--tan) !important;
    }
    [data-theme="dark"] .calendar-day.blocked{background:repeating-linear-gradient(45deg,rgba(248,113,113,0.3),rgba(248,113,113,0.3) 4px,rgba(248,113,113,0.15) 4px,rgba(248,113,113,0.15) 8px);border-color:var(--red)}
    [data-theme="dark"] .calendar-day.past{background:var(--cream);opacity:.4}
    .day-number{font-weight:700;font-size:1.1rem;color:var(--brown)}.day-info{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;font-size:.7rem}
    .day-header{display:flex;justify-content:space-between;align-items:flex-start}.day-badges{display:flex;gap:2px}.day-badge{font-size:.5rem;padding:2px 4px;border-radius:3px;font-weight:600}.day-badge.daycare{background:var(--yellow-light);color:var(--orange)}.day-badge.training{background:var(--blue-light);color:var(--blue)}.day-badge.grooming{background:#FCE4EC;color:#E91E63}.day-badge.pending{background:var(--orange-light);color:var(--orange)}
    .capacity-bar{height:6px;background:var(--cream);border-radius:3px;overflow:hidden;margin-top:4px}.capacity-fill{height:100%;border-radius:3px;transition:width .3s}.capacity-fill.high{background:var(--forest)}.capacity-fill.medium{background:var(--gold)}.capacity-fill.low{background:var(--orange)}.capacity-fill.none{background:var(--red)}
    .avail-text{font-weight:600;display:flex;align-items:center;gap:4px}.avail-text.available{color:var(--forest)}.avail-text.limited{color:var(--gold)}.avail-text.full{color:var(--red)}
    .calendar-day.has-my-booking{background:linear-gradient(135deg,var(--blue-light) 0%,#fff 100%);border-color:var(--blue)}
    .my-bookings{display:flex;flex-wrap:wrap;gap:2px;margin-top:auto}.my-booking-tag{font-size:.5rem;padding:2px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;max-width:100%}.my-booking-tag.approved{background:var(--forest);color:#fff}.my-booking-tag.completed{background:var(--blue);color:#fff}.my-booking-tag.pending{background:var(--gold);color:#fff}.my-booking-tag.standby{background:var(--orange);color:#fff}.my-booking-tag.boardtrain{background:#7B68EE;color:#fff}.my-booking-more{font-size:.5rem;padding:2px 4px;background:var(--tan);border-radius:3px;color:var(--brown);font-weight:600}
    .calendar-day.has-boardtrain{background:linear-gradient(135deg,#E8E0F7 0%,#fff 100%);border-color:#7B68EE}
    .day-number{font-weight:600;font-size:.95rem}.day-info{font-size:.6rem;color:var(--brown);margin-top:auto;line-height:1.3}.day-info .boarding-info{color:var(--forest)}.day-info .training-info{color:var(--blue)}.day-info .pending-note{color:var(--orange);font-weight:500}
    .calendar-legend{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;align-items:center}.legend-item{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--brown)}.legend-dot{width:12px;height:12px;border-radius:3px}.legend-separator{color:var(--tan);font-size:.8rem}
    .calendar-hint{text-align:center;margin-top:12px;font-size:.85rem;color:var(--brown)}
    .selected-dates{padding:14px;background:linear-gradient(135deg,var(--forest),var(--forest-light));border-radius:var(--r-md);color:#fff;margin-bottom:16px}.selected-dates.empty{background:var(--tan);color:var(--brown)}.selected-dates-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:4px}.selected-dates-value{font-weight:600;font-size:1rem}
    .daycare-pills-container{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.daycare-day-pill{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:rgba(255,255,255,0.2);border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.daycare-day-pill:hover{background:rgba(255,255,255,0.35)}
    .form-group{margin-bottom:14px}.form-label{display:block;font-size:.85rem;font-weight:500;margin-bottom:6px}.form-input,.form-select{width:100%;padding:12px 16px;border:2px solid var(--tan);border-radius:var(--r-md);font-family:var(--font-body);font-size:16px;transition:border-color .2s;background:var(--white);color:var(--dark)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--forest)}.form-input::placeholder{color:var(--brown);opacity:.6}textarea.form-input{resize:vertical;min-height:70px}
    
    /* Body scroll lock when modal is open */
    body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%;touch-action:none}
    @media(max-width:600px){.modal-overlay{align-items:flex-start;padding:15px;padding-top:max(15px,env(safe-area-inset-top));padding-bottom:max(15px,env(safe-area-inset-bottom))}.modal{max-height:88vh;max-height:88dvh;margin:0 auto;border-radius:var(--r-lg)}}
    .submit-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--rust),var(--rust-dark));color:#fff;border:none;border-radius:var(--r-md);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(196,120,90,.3)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,120,90,.4)}.submit-btn:disabled{background:var(--tan);color:var(--brown);cursor:not-allowed;box-shadow:none}
    .form-footer{text-align:center;margin-top:12px;font-size:.85rem;color:var(--brown)}.form-footer a{color:var(--forest);font-weight:500;cursor:pointer}
    .service-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.service-option{flex:1 1 auto;min-width:80px;padding:12px 8px;border:2px solid var(--tan);border-radius:var(--r-md);text-align:center;cursor:pointer;transition:all .2s;background:var(--white);position:relative}.service-option:hover{border-color:var(--forest-light);background:var(--green-light)}.service-option.active{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 4px 12px rgba(45,90,61,0.3)}.service-option.active::after{content:'✓';position:absolute;top:4px;right:6px;font-size:.7rem;font-weight:700}.service-icon{font-size:1.4rem;margin-bottom:2px}.service-name{font-size:.75rem;font-weight:600}
    /* Pet selector clear selected state */
    .form-select{padding:12px;border:2px solid var(--tan);border-radius:var(--r-md);font-size:.95rem;background:var(--white);width:100%}.form-select:focus{border-color:var(--forest);outline:none}
    .pet-checkbox-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--tan);border-radius:var(--r-md);cursor:pointer;transition:all .2s;background:var(--white)}.pet-checkbox-item:hover{border-color:var(--forest-light);background:var(--green-light)}.pet-checkbox-item.selected{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 4px 12px rgba(45,90,61,0.3)}.pet-checkbox-item .pet-check{width:22px;height:22px;border:2px solid var(--tan);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--white);flex-shrink:0;font-size:.9rem}.pet-checkbox-item.selected .pet-check{background:var(--white);border-color:var(--white);color:var(--forest)}.pet-checkbox-item.only-pet{border-color:var(--forest);background:var(--green-light)}.pet-checkbox-item.only-pet .pet-check{border-color:var(--forest);background:var(--forest);color:#fff}
    .daycare-duration-selector{display:flex;gap:10px}.daycare-duration-option{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px;border:2px solid var(--tan);border-radius:var(--r-md);cursor:pointer;transition:all .2s;background:var(--white)}.daycare-duration-option:hover{border-color:var(--gold)}.daycare-duration-option.active{border-color:var(--gold);background:var(--yellow-light)}.daycare-duration-option input{display:none}.duration-icon{font-size:1.3rem}.duration-name{font-size:.8rem;font-weight:600;margin-top:4px}.duration-price{font-size:.75rem;color:var(--forest);font-weight:600;margin-top:2px}
    .time-slots-container{margin-bottom:16px;padding:14px;background:var(--cream);border-radius:var(--r-md)}.time-slots-title{font-size:.85rem;font-weight:600;margin-bottom:10px;color:var(--dark)}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.time-slot{padding:8px 4px;border:2px solid var(--tan);border-radius:var(--r-sm);text-align:center;cursor:pointer;transition:all .2s;background:var(--white);font-size:.75rem}.time-slot:hover:not(.taken):not(.selected){border-color:var(--forest-light);background:var(--green-light)}.time-slot.selected{border-color:var(--forest);background:var(--forest);color:#fff}.time-slot.taken{background:var(--red-light);color:var(--red);cursor:not-allowed;opacity:.6}.time-slot.pending-slot{background:var(--orange-light);border-color:var(--orange)}
    .location-selector{margin-bottom:16px}.location-options{display:flex;gap:8px}.location-option{flex:1;padding:12px;border:2px solid var(--tan);border-radius:var(--r-md);text-align:center;cursor:pointer;transition:all .2s;background:var(--white)}.location-option:hover{border-color:var(--forest-light)}.location-option.active{border-color:var(--forest);background:var(--green-light)}.location-option-icon{font-size:1.2rem;margin-bottom:2px}.location-option-text{font-size:.8rem;font-weight:500}
    .dropoff-section{margin-bottom:16px;padding:14px;background:var(--blue-light);border-radius:var(--r-md)}.dropoff-title{font-size:.85rem;font-weight:600;margin-bottom:10px;color:var(--blue)}.dropoff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dropoff-slot{padding:10px 6px;border:2px solid var(--tan);border-radius:var(--r-sm);text-align:center;cursor:pointer;transition:all .2s;background:var(--white);font-size:.75rem}.dropoff-slot:hover:not(.selected){border-color:var(--blue);background:var(--blue-light)}.dropoff-slot.selected{border-color:var(--blue);background:var(--blue);color:#fff}
    .pickup-section{margin-bottom:16px;padding:14px;background:var(--green-light);border-radius:var(--r-md)}.pickup-title{font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--forest);display:flex;align-items:center;gap:8px}.pickup-required-badge{font-size:.65rem;background:var(--orange);color:#fff;padding:2px 6px;border-radius:10px}.pickup-note{font-size:.75rem;color:var(--brown);margin-bottom:10px}.pickup-note.required{color:var(--orange);font-weight:500}.pickup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pickup-slot{padding:10px 6px;border:2px solid var(--tan);border-radius:var(--r-sm);text-align:center;cursor:pointer;transition:all .2s;background:var(--white);font-size:.75rem}.pickup-slot:hover:not(.selected){border-color:var(--forest);background:var(--green-light)}.pickup-slot.selected{border-color:var(--forest);background:var(--forest);color:#fff}
    .pickup-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pickup-modal-slot{padding:14px 10px;border:2px solid var(--tan);border-radius:var(--r-md);text-align:center;cursor:pointer;transition:all .2s;background:var(--white);font-size:.9rem;font-weight:500}.pickup-modal-slot:hover:not(.selected){border-color:var(--forest);background:var(--green-light)}.pickup-modal-slot.selected{border-color:var(--forest);background:var(--forest);color:#fff}
    .info-banner{padding:10px 14px;border-radius:var(--r-md);margin-bottom:14px;font-size:.8rem;display:flex;align-items:flex-start;gap:8px}.info-banner.standby{background:var(--orange-light);border:1px solid var(--orange);color:var(--dark)}
    .pet-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--cream);border-radius:var(--r-md);margin-bottom:8px}.pet-info{display:flex;align-items:center;gap:12px}.pet-avatar{width:40px;height:40px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden}.pet-avatar img{width:100%;height:100%;object-fit:cover}.pet-name{font-weight:600}.pet-breed{font-size:.8rem;color:var(--brown)}.pet-actions button{padding:6px 12px;border:none;border-radius:var(--r-sm);font-size:.8rem;cursor:pointer;margin-left:8px}.btn-edit{background:var(--blue-light);color:var(--blue)}.btn-delete{background:var(--red-light);color:var(--red)}
    .pet-item-expanded{background:var(--white);border-radius:var(--r-lg);padding:16px;margin-bottom:16px;box-shadow:0 2px 8px var(--shadow)}.pet-item-expanded .pet-item{background:transparent;padding:0;margin-bottom:12px}
    .pet-photo-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pet-photo-preview{width:80px;height:80px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:40px;overflow:hidden;border:3px solid var(--tan)}.pet-photo-preview img{width:100%;height:100%;object-fit:cover}.pet-photo-buttons{display:flex;gap:8px;flex-wrap:wrap}.photo-btn{padding:8px 14px;background:var(--blue-light);color:var(--blue);border:none;border-radius:var(--r-md);font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.photo-btn:hover{background:var(--blue);color:#fff}.photo-btn-remove{background:var(--red-light);color:var(--red)}.photo-btn-remove:hover{background:var(--red);color:#fff}
    .pet-type-select{display:flex;gap:10px;margin-top:6px}.pet-type-btn{flex:1;padding:12px;border:2px solid var(--tan);border-radius:var(--r-md);background:var(--white);font-size:1rem;cursor:pointer;transition:all .2s}.pet-type-btn:hover{border-color:var(--forest)}.pet-type-btn.selected{border-color:var(--forest);background:var(--forest);color:#fff}
    .add-pet-btn{width:100%;padding:12px;background:var(--green-light);border:2px dashed var(--forest-light);border-radius:var(--r-md);color:var(--forest);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.add-pet-btn:hover{background:var(--forest-light);color:#fff;border-color:var(--forest-light)}
    
    /* Pet Wizard Styles */
    .pet-wizard-progress{display:flex;justify-content:center;gap:8px;padding:16px 0;margin-bottom:8px;border-bottom:1px solid var(--tan)}
    .wizard-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.4;transition:all .3s;flex:1;max-width:80px}
    .wizard-step.active,.wizard-step.completed{opacity:1}
    .wizard-step .step-num{width:32px;height:32px;border-radius:50%;background:var(--tan);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--brown);transition:all .3s}
    .wizard-step.active .step-num{background:var(--forest);color:#fff;transform:scale(1.1)}
    .wizard-step.completed .step-num{background:var(--green-light);color:var(--forest)}
    .wizard-step .step-label{font-size:.7rem;font-weight:500;color:var(--brown)}
    .wizard-panel{animation:wizardFadeIn .3s ease}
    @keyframes wizardFadeIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
    .wizard-nav{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--tan);margin-top:16px}
    .wizard-btn{padding:14px 28px;border:none;border-radius:var(--r-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font-body)}
    .wizard-back{background:var(--cream);color:var(--brown)}.wizard-back:hover{background:var(--tan)}
    .wizard-next,.wizard-save{background:var(--forest);color:#fff;margin-left:auto}.wizard-next:hover,.wizard-save:hover{background:var(--forest-dark);transform:translateY(-1px)}
    .form-input-lg{padding:14px 16px!important;font-size:1.1rem!important}
    
    .toggle-section-btn{width:100%;padding:12px 16px;background:var(--cream);border:1px dashed var(--tan);border-radius:var(--r-md);color:var(--brown);cursor:pointer;font-size:.9rem;transition:all .2s;text-align:left;font-family:var(--font-body)}
    .toggle-section-btn:hover{background:var(--tan);border-style:solid}
    .collapsible-section{display:none;padding-top:12px;animation:slideDown .3s ease}
    .collapsible-section.open{display:block}
    @keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
    
    .quick-select-row{display:flex;flex-wrap:wrap;gap:20px;margin:12px 0}
    .quick-select-group{flex:1;min-width:150px}
    .quick-btns{display:flex;gap:6px;margin-top:6px}
    .quick-btn{padding:10px 16px;border:2px solid var(--tan);border-radius:var(--r-md);background:var(--white);cursor:pointer;font-size:.85rem;transition:all .15s;font-family:var(--font-body)}
    .quick-btn:hover{border-color:var(--forest-light);background:var(--green-light)}
    .quick-btn.selected{border-color:var(--forest);background:var(--forest);color:#fff;font-weight:600}
    
    .feeding-grid{display:flex;flex-direction:column;gap:12px}
    .feeding-meal{background:var(--cream);border-radius:var(--r-md);padding:12px}
    .meal-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
    .meal-icon{font-size:1.3rem}
    .meal-label{font-weight:600;font-size:.9rem}
    .meal-btns{display:flex;gap:6px;flex-wrap:wrap}
    .meal-btn{padding:8px 12px;border:2px solid var(--tan);border-radius:var(--r-sm);background:var(--white);cursor:pointer;font-size:.85rem;min-width:36px;transition:all .15s;font-family:var(--font-body)}
    .meal-btn:hover{border-color:var(--forest-light);background:var(--green-light)}
    .meal-btn.selected{border-color:var(--forest);background:var(--forest);color:#fff;font-weight:600}
    
    .good-with-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
    .good-with-btn{padding:10px 16px;border:2px solid var(--tan);border-radius:var(--r-md);background:var(--white);cursor:pointer;font-size:.85rem;transition:all .15s;font-family:var(--font-body)}
    .good-with-btn:hover{border-color:var(--forest-light)}
    .good-with-btn.selected{border-color:var(--forest);background:var(--green-light);font-weight:600}
    
    @media(max-width:600px){
      .wizard-step .step-label{font-size:.6rem}
      .wizard-step .step-num{width:28px;height:28px;font-size:.8rem}
      .quick-select-row{flex-direction:column;gap:12px}
      .wizard-btn{padding:12px 20px;font-size:.9rem}
    }
    
    /* Edit Mode - Show all sections at once instead of wizard */
    .pet-form-edit-mode .pet-wizard-progress{display:none}
    .pet-form-edit-mode .wizard-panel{display:block!important;animation:none;border-bottom:1px solid var(--tan);padding-bottom:16px;margin-bottom:16px}
    .pet-form-edit-mode .wizard-panel:last-of-type{border-bottom:none}
    .pet-form-edit-mode .wizard-nav{display:none}
    .pet-form-edit-mode .section-title{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:8px 0}
    .pet-form-edit-mode .section-title::after{content:'▼';font-size:.7rem;color:var(--brown);transition:transform .2s}
    .pet-form-edit-mode .section-title.collapsed::after{transform:rotate(-90deg)}
    .pet-form-edit-mode .section-content.collapsed{display:none}
    .edit-mode-actions{display:none;gap:12px;padding:16px 0;border-top:1px solid var(--tan);margin-top:16px}
    .pet-form-edit-mode .edit-mode-actions{display:flex}
    .edit-mode-actions button{flex:1;padding:14px;border:none;border-radius:var(--r-md);font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font-body)}
    .edit-mode-actions .btn-cancel{background:var(--cream);color:var(--brown)}
    .edit-mode-actions .btn-save{background:var(--forest);color:#fff}
    
    /* Account View Redesign */
    .account-header{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--forest),var(--forest-light));border-radius:var(--r-xl);padding:20px;margin-bottom:20px;color:#fff;flex-wrap:wrap}
    .account-avatar{width:60px;height:60px;background:rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px}
    .account-info{flex:1;min-width:150px}
    .account-name{font-family:var(--font-display);font-size:1.3rem;font-weight:600}
    .account-email{font-size:.85rem;opacity:.85}
    .account-stats{display:flex;gap:20px}
    .account-stat{text-align:center}
    .account-stat span{display:block;font-size:1.4rem;font-weight:700}
    .account-stat label{font-size:.7rem;opacity:.8;text-transform:uppercase}
    .account-grid{display:grid;grid-template-columns:1fr 320px;gap:20px}
    .account-pets-card{min-height:200px}
    .card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
    .card-header-row .card-title{margin-bottom:0}
    .add-pet-btn-small{padding:6px 14px;background:var(--forest);color:#fff;border:none;border-radius:var(--r-sm);font-size:.8rem;font-weight:500;cursor:pointer}
    .add-pet-btn-small:hover{background:var(--forest-light)}
    .profile-header-row{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:12px}
    .profile-header-row .card-title{margin-bottom:0}
    .profile-toggle{font-size:.8rem;color:var(--brown);transition:transform .2s}
    .profile-toggle.collapsed{transform:rotate(-90deg)}
    .profile-section.collapsed{display:none}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .save-profile-btn{width:100%;margin-bottom:12px}
    .profile-actions{display:flex;gap:8px}
    .profile-action-btn{flex:1;padding:8px;background:var(--tan);border:none;border-radius:var(--r-sm);color:var(--brown);font-size:.8rem;font-weight:500;cursor:pointer}
    .profile-action-btn:hover{background:var(--brown);color:#fff}
    .account-sidebar{display:flex;flex-direction:column;gap:16px}
    
    /* Enhanced Pet Cards */
    .pet-card-enhanced{background:var(--white);border-radius:var(--r-lg);padding:16px;margin-bottom:12px;box-shadow:0 2px 8px var(--shadow);border-left:4px solid var(--forest)}
    .pet-card-collapsed .pet-card-expanded{display:none}
    .pet-card-toggle{background:var(--tan);border:none;padding:6px 12px;border-radius:var(--r-sm);font-size:.75rem;cursor:pointer;color:var(--brown);display:flex;align-items:center;gap:4px;margin-top:8px}
    .pet-card-toggle:hover{background:var(--cream)}
    .pet-card-status-badges{display:flex;gap:4px;margin-top:4px}
    .pet-card-status-badges .badge{font-size:.65rem;padding:2px 6px;border-radius:8px}
    .pet-card-status-badges .badge.ok{background:var(--forest);color:#fff}
    .pet-card-status-badges .badge.warning{background:var(--orange);color:#fff}
    .pet-card-status-badges .badge.missing{background:var(--tan);color:var(--brown)}
    .pet-card-quick-info{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:.8rem;color:var(--brown)}
    .collapsible-section{border:1px solid var(--tan);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden}
    .collapsible-header{background:var(--cream);padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.9rem}
    .collapsible-header:hover{background:var(--tan)}
    .collapsible-header .toggle-icon{transition:transform .2s}
    .collapsible-section.open .collapsible-header .toggle-icon{transform:rotate(180deg)}
    .collapsible-content{padding:16px;display:none}
    .collapsible-section.open .collapsible-content{display:block}
    .pet-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
    .pet-card-avatar{width:50px;height:50px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}
    .pet-card-avatar img{width:100%;height:100%;object-fit:cover}
    .pet-card-name{font-weight:600;font-size:1.05rem}
    .pet-card-meta{font-size:.8rem;color:var(--brown)}
    .pet-card-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
    .pet-card-details{font-size:.8rem;color:var(--dark);margin-top:10px;padding-top:10px;border-top:1px solid var(--tan)}
    .pet-card-detail{display:flex;gap:8px;margin-bottom:4px}
    .pet-card-detail label{color:var(--brown);min-width:60px}
    .pet-card-actions{display:flex;gap:8px;margin-top:12px}
    .pet-card-actions button{flex:1;padding:8px;border:none;border-radius:var(--r-sm);font-size:.8rem;font-weight:500;cursor:pointer}
    .pet-card-notes{background:var(--blue-light);border-radius:var(--r-sm);padding:10px;margin-top:10px;font-size:.8rem}
    .pet-card-notes-title{font-weight:600;color:var(--blue);margin-bottom:4px;font-size:.75rem}
    
    /* Enhanced Pet Card - Bookings & Vaccinations */
    .pet-card-visits{font-size:.7rem;color:var(--forest);font-weight:500;margin-top:2px}
    .pet-card-bookings{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
    .pet-card-booking{padding:10px;border-radius:var(--r-sm);font-size:.8rem}
    .pet-card-booking.next{background:var(--green-light);border-left:3px solid var(--forest)}
    .pet-card-booking.last{background:var(--cream);border-left:3px solid var(--tan)}
    .pet-card-booking-label{font-size:.7rem;color:var(--brown);font-weight:600;margin-bottom:2px}
    .pet-card-booking-info{font-weight:500;color:var(--dark)}
    .pet-card-detail.health-alert{color:var(--rust);background:var(--red-light);padding:6px 8px;border-radius:var(--r-sm);margin-top:4px}
    .pet-card-vacc-summary{margin-top:12px;padding-top:12px;border-top:1px solid var(--tan)}
    .pet-card-vacc-title{font-size:.75rem;font-weight:600;color:var(--dark);margin-bottom:6px}
    .pet-card-vacc-list{display:flex;flex-wrap:wrap;gap:6px}
    .vacc-chip{font-size:.7rem;padding:4px 8px;border-radius:12px;font-weight:500}
    .vacc-chip.ok{background:var(--green-light);color:var(--forest)}
    .vacc-chip.expiring{background:var(--yellow-light);color:var(--orange)}
    .vacc-chip.expired{background:var(--red-light);color:var(--red)}
    
    @media(max-width:500px){
      .pet-card-bookings{grid-template-columns:1fr}
    }
    
    @media(max-width:900px){
      .account-grid{grid-template-columns:1fr}
      .account-sidebar{order:-1}
    }
    @media(max-width:600px){
      .account-header{padding:16px}
      .account-avatar{width:48px;height:48px;font-size:22px}
      .account-name{font-size:1.1rem}
      .account-stats{gap:14px}
      .account-stat span{font-size:1.1rem}
      .form-row{grid-template-columns:1fr}
    }
    .booking-card{padding:16px;border-radius:var(--r-md);margin-bottom:12px;border-left:4px solid}.booking-card.pending{background:var(--yellow-light);border-color:var(--gold)}.booking-card.approved{background:var(--green-light);border-color:var(--forest)}.booking-card.standby{background:var(--orange-light);border-color:var(--orange)}.booking-card.rejected,.booking-card.cancelled{background:var(--red-light);border-color:var(--red)}.booking-card.completed{background:var(--blue-light);border-color:var(--blue)}
    .completion-notes{margin-top:10px;padding:10px;background:rgba(255,255,255,0.5);border-radius:var(--r-sm);font-size:.85rem;border-left:3px solid var(--blue)}
    .booking-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.booking-dog-name{font-weight:600;font-size:1.1rem}.booking-status{font-size:.7rem;padding:3px 8px;border-radius:16px;font-weight:600;text-transform:uppercase}.booking-status.pending{background:var(--gold);color:#fff}.booking-status.approved{background:var(--forest);color:#fff}.booking-status.standby{background:var(--orange);color:#fff}.booking-status.rejected,.booking-status.cancelled{background:var(--red);color:#fff}.booking-status.completed{background:var(--blue);color:#fff}
    .booking-service-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:500;margin-bottom:6px}.booking-service-badge.boarding{background:var(--green-light);color:var(--forest)}.booking-service-badge.training{background:var(--blue-light);color:var(--blue)}.booking-service-badge.puppy-training{background:var(--purple-light);color:var(--purple)}.booking-service-badge.boardtrain{background:#F3F0FF;color:#7B68EE}
    .bt-progress-customer{background:linear-gradient(135deg,#F3F0FF,#E8E0F7);border:2px solid #7B68EE;border-radius:var(--r-md);padding:12px;margin:8px 0;cursor:pointer}.bt-progress-customer:hover{box-shadow:0 2px 8px rgba(123,104,238,0.3)}.bt-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bt-progress-bar{height:8px;background:rgba(255,255,255,0.8);border-radius:4px;overflow:hidden}.bt-progress-fill{height:100%;background:linear-gradient(90deg,#7B68EE,#9B87F5);border-radius:4px;transition:width .3s}
    .bt-progress-modal-content{max-height:70vh;overflow-y:auto}.bt-update-card{background:var(--cream);border-radius:var(--r-md);padding:14px;margin-bottom:12px;border-left:4px solid #7B68EE}.bt-update-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bt-update-week{font-weight:700;color:#7B68EE}.bt-update-date{font-size:.75rem;color:var(--brown)}.bt-update-rating{font-size:1.2rem;letter-spacing:2px;margin-bottom:8px}.bt-update-notes{font-size:.85rem;color:var(--dark);font-style:italic;margin-top:10px;padding-top:10px;border-top:1px solid var(--tan)}.bt-skill-badge{display:inline-block;font-size:.65rem;padding:3px 8px;border-radius:12px;margin:2px}.bt-skill-badge.mastered{background:var(--forest);color:#fff}.bt-skill-badge.practicing{background:var(--gold);color:#fff}.bt-skill-badge.learning{background:var(--blue-light);color:var(--blue)}
    .booking-dates{font-size:.9rem;color:var(--brown);margin-bottom:6px}.booking-dropoff{font-size:.8rem;color:var(--blue);margin-bottom:6px;padding:4px 8px;background:var(--blue-light);border-radius:4px;display:inline-block}.booking-pickup{font-size:.8rem;color:var(--forest);margin-bottom:6px;padding:6px 10px;background:var(--green-light);border-radius:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-pickup.urgent{animation:pulse-urgent 1.5s infinite}.booking-pickup .btn-set-pickup{padding:4px 10px;background:var(--forest);color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;margin-left:auto}.booking-pickup.urgent .btn-set-pickup{background:var(--red)}.booking-pickup.warning .btn-set-pickup{background:var(--gold)}@keyframes pulse-urgent{0%,100%{opacity:1}50%{opacity:0.7}}.booking-notes{font-size:.8rem;color:var(--brown);font-style:italic}.booking-actions{margin-top:10px}.booking-actions button{padding:6px 14px;border:none;border-radius:var(--r-sm);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer}.btn-cancel{background:var(--brown);color:#fff}
    .booking-pricing{margin:10px 0;background:var(--white);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--tan)}.pricing-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:8px}.pricing-header:hover{background:var(--cream)}.pricing-header span:first-child{font-size:.85rem;color:var(--brown)}.price-total{font-weight:700;color:var(--forest);flex:1;text-align:right}.expand-icon{font-size:.7rem;color:var(--brown);transition:transform .2s}.booking-pricing.expanded .expand-icon{transform:rotate(180deg)}.pricing-details{display:none;padding:0 12px 10px;border-top:1px solid var(--tan)}.booking-pricing.expanded .pricing-details{display:block}.price-item{display:flex;justify-content:space-between;font-size:.8rem;color:var(--brown);padding:4px 0}.price-item.tax{border-top:1px dashed var(--tan);padding-top:6px;margin-top:4px}
    .standby-position{font-size:.8rem;color:var(--orange);background:var(--orange-light);padding:6px 10px;border-radius:var(--r-sm);margin-bottom:8px;font-weight:500}
    .checkin-status-customer{font-size:.8rem;padding:8px 12px;border-radius:var(--r-sm);margin-bottom:8px;font-weight:500}
    .checkin-status-customer.checked-in{color:var(--forest);background:var(--green-light);border-left:3px solid var(--forest)}
    .checkin-status-customer.checked-out{color:var(--blue);background:var(--blue-light);border-left:3px solid var(--blue)}
    .cancel-pending{font-size:.8rem;color:var(--orange);background:var(--orange-light);padding:6px 10px;border-radius:var(--r-sm);margin-top:8px;font-weight:500}
    .booking-card.cancel-requested{border-color:var(--orange)!important;background:var(--orange-light)!important}
    .booking-status.cancel-pending{background:var(--orange)!important}
    .upcoming-bookings-card{margin-top:0}.upcoming-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.upcoming-header .card-title{margin-bottom:0}.see-all-btn{background:none;border:none;color:var(--forest);font-weight:600;cursor:pointer;font-size:.85rem;padding:4px 8px;border-radius:var(--r-sm)}.see-all-btn:hover{background:var(--green-light)}
    .profile-section{padding:4px 0}.profile-divider{height:1px;background:var(--tan);margin:16px 0}
    .date-group{margin-bottom:16px}.date-group:last-child{margin-bottom:0}.date-group-header{font-size:.75rem;font-weight:600;color:var(--brown);text-transform:uppercase;letter-spacing:.5px;padding:6px 0;border-bottom:1px solid var(--tan);margin-bottom:8px;display:flex;align-items:center;gap:8px}.date-group-header .date-icon{font-size:.9rem}.date-group-today{color:var(--forest)}.date-group-tomorrow{color:var(--blue)}
    .booking-compact{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
    .booking-compact.svc-boarding{border-left:4px solid #4CAF50}.booking-compact.svc-daycare{border-left:4px solid #FF9800}.booking-compact.svc-training{border-left:4px solid #2196F3}.booking-compact.svc-boardtrain{border-left:4px solid #7B68EE}.booking-compact.svc-grooming{border-left:4px solid #E91E63}.booking-compact.svc-dental{border-left:4px solid #00BCD4}.booking-compact.svc-dogwalking{border-left:4px solid #8BC34A}.booking-compact.svc-petsitting{border-left:4px solid #9C27B0}
    .booking-compact-topbar{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;background:var(--cream);border-bottom:1px solid var(--tan)}
    .booking-compact-icon{width:36px;height:36px;min-width:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
    .booking-compact.svc-boarding .booking-compact-icon{background:#4CAF50}.booking-compact.svc-daycare .booking-compact-icon{background:#FF9800}.booking-compact.svc-training .booking-compact-icon{background:#2196F3}.booking-compact.svc-boardtrain .booking-compact-icon{background:#7B68EE}.booking-compact.svc-grooming .booking-compact-icon{background:#E91E63}.booking-compact.svc-dental .booking-compact-icon{background:#00BCD4}.booking-compact.svc-dogwalking .booking-compact-icon{background:#8BC34A}.booking-compact.svc-petsitting .booking-compact-icon{background:#9C27B0}
    .booking-compact-price{font-weight:700;font-size:1rem;color:var(--charcoal);margin-left:auto}
    .btn-calendar-compact{width:34px;height:34px;min-width:34px;border-radius:8px;background:var(--blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
    .booking-compact-status{padding:5px 10px;border-radius:12px;font-size:.65rem;font-weight:700;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
    .booking-compact-status.approved{background:#dcfce7;color:#166534}.booking-compact-status.pending{background:#fef3c7;color:#92400e}.booking-compact-status.standby{background:#dbeafe;color:#1e40af}.booking-compact-status.checked-in{background:#10B981;color:#fff}.booking-compact-status.cancel-pending{background:#fee2e2;color:#dc2626}.booking-compact-status.awaiting-deposit{background:#fef3c7;color:#d97706}
    .booking-compact-body{padding:10px 12px}
    .booking-compact-pet{font-weight:700;font-size:.95rem;color:var(--charcoal)}
    .booking-compact-svc{font-size:.82rem;font-weight:600;margin:2px 0}
    .booking-compact.svc-boarding .booking-compact-svc{color:#2E7D32}.booking-compact.svc-daycare .booking-compact-svc{color:#E65100}.booking-compact.svc-training .booking-compact-svc{color:#1565C0}.booking-compact.svc-boardtrain .booking-compact-svc{color:#5E35B1}.booking-compact.svc-grooming .booking-compact-svc{color:#AD1457}.booking-compact.svc-dental .booking-compact-svc{color:#00838F}.booking-compact.svc-dogwalking .booking-compact-svc{color:#558B2F}.booking-compact.svc-petsitting .booking-compact-svc{color:#7B1FA2}
    .booking-compact-details{font-size:.78rem;color:var(--brown);line-height:1.4}
    .booking-compact-footer{display:flex;gap:8px;padding:8px 12px;background:#f8f8f8;border-top:1px solid var(--tan)}
    .booking-compact-btn{flex:1;padding:8px 10px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:4px}
    .booking-compact-btn.details{background:#14b8a6 !important;color:#ffffff !important}
    .booking-compact-btn.cancel{background:#ffffff !important;color:#dc2626 !important;border:1px solid #dc2626 !important}
    .booking-compact-info,.booking-compact-right{display:none}
    .booking-compact.cancel-requested{opacity:0.7}
    [data-theme="dark"] .booking-compact{background:var(--white);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
    [data-theme="dark"] .booking-compact-topbar{background:rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.1)}
    [data-theme="dark"] .booking-compact-body{background:var(--white)}
    [data-theme="dark"] .booking-compact-footer{background:rgba(255,255,255,0.03);border-top:1px solid rgba(255,255,255,0.1)}
    [data-theme="dark"] .booking-compact-price{color:#fff !important}
    [data-theme="dark"] .booking-compact-pet{color:#fff !important}
    [data-theme="dark"] .booking-compact-details{color:#94a3b8}
    [data-theme="dark"] .booking-compact-btn.cancel{background:transparent !important;color:#f87171 !important;border-color:#f87171 !important}
    [data-theme="dark"] .booking-compact-btn.details{background:#14b8a6 !important;color:#ffffff !important}
    [data-theme="dark"] .upcoming-header .card-title{color:#ffffff !important}
    [data-theme="dark"] .date-group-header{color:#94a3b8 !important;border-bottom-color:rgba(255,255,255,0.1) !important}
    .addons-grid{display:flex;flex-direction:column;gap:8px}.addon-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--cream);border-radius:var(--r-md);cursor:pointer;border:2px solid transparent;transition:all .2s}.addon-option:hover{border-color:var(--tan)}.addon-option.selected{border-color:var(--forest);background:var(--green-light)}.addon-option input{display:none}.addon-check{width:20px;height:20px;border:2px solid var(--tan);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:transparent}.addon-option.selected .addon-check{background:var(--forest);border-color:var(--forest);color:#fff}.addon-info{flex:1}.addon-name{font-weight:500;font-size:.9rem}.addon-price{font-size:.75rem;color:var(--forest)}
    .training-goal-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--cream);border:2px solid var(--tan);border-radius:20px;cursor:pointer;font-size:.85rem;transition:all .2s}.training-goal-chip:hover{border-color:var(--forest)}.training-goal-chip.selected{background:var(--green-light);border-color:var(--forest);color:var(--forest)}.training-goal-chip.selected::before{content:'✓';font-size:.7rem}.training-goal-chip.from-pet{border-style:dashed}.training-goal-chip.custom{background:#F3F0FF;border-color:#7B68EE;border-style:solid}.training-goal-chip.custom.selected{background:#E8E0F7;border-color:#7B68EE}
    .price-estimate{background:var(--cream);border-radius:var(--r-md);padding:14px;margin:16px 0}.price-estimate-header{font-weight:600;font-size:.9rem;margin-bottom:10px;color:var(--forest)}.price-estimate-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.85rem}.price-total{display:flex;justify-content:space-between;font-weight:600;font-size:1rem;border-top:1px solid var(--tan);margin-top:8px;padding-top:8px}.price-deposit{font-size:.8rem;color:var(--brown);margin-top:6px;padding:8px;background:var(--yellow-light);border-radius:var(--r-sm)}
    .booking-billing{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--cream);border-radius:var(--r-sm);margin-top:8px;font-size:.8rem}.billing-badge{padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600}.billing-badge.unpaid{background:var(--red);color:#fff}.billing-badge.partial{background:var(--orange);color:#fff}.billing-badge.paid{background:var(--forest);color:#fff}
    .auth-container{max-width:420px;margin:40px auto}.auth-toggle{text-align:center;margin-top:16px}.auth-toggle a{color:var(--forest);font-weight:500;cursor:pointer}.forgot-password{text-align:center;margin-top:12px;font-size:.85rem}.forgot-password a{color:var(--blue);cursor:pointer}.forgot-password a:hover{text-decoration:underline}
    .modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s;overflow:hidden}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--white);border-radius:var(--r-xl);padding:28px;max-width:450px;width:calc(100% - 30px);max-height:92vh;max-height:92dvh;overflow-y:auto;transform:scale(.9);transition:transform .3s;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-overlay.show .modal{transform:scale(1)}.modal-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-actions button{flex:1;padding:12px;border:none;border-radius:var(--r-md);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer}.btn-primary{background:var(--forest);color:#fff}.btn-secondary{background:var(--tan);color:var(--dark)}
    /* Mobile inline calendar */
    #mobile-calendar-section{display:none;margin:16px 0;padding:16px;background:var(--cream);border-radius:var(--r-lg);border:2px solid var(--tan)}
    .mobile-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
    .mobile-cal-title{font-weight:600;font-size:1rem;color:var(--dark)}
    .mobile-cal-nav{display:flex;gap:6px}
    .mobile-cal-nav button{background:var(--white);border:1px solid var(--tan);padding:6px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:1rem}
    .mobile-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:.65rem;color:var(--brown);margin-bottom:6px;font-weight:600}
    .mobile-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
    .mobile-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:.8rem;cursor:pointer;border:2px solid transparent;background:var(--white);transition:all .15s;min-height:38px;position:relative;overflow:hidden}
    .mobile-cal-day:hover:not(.empty):not(.past):not(.blocked){border-color:var(--forest);background:var(--green-light)}
    .mobile-cal-day.empty{background:transparent;cursor:default}
    .mobile-cal-day.past{opacity:.35;cursor:not-allowed}
    .mobile-cal-day.blocked{background:var(--red-light);cursor:not-allowed}
    .mobile-cal-day.selected{background:var(--forest);color:#fff;border-color:var(--forest)}
    .mobile-cal-day.in-range{background:var(--green-light);border-color:var(--forest-light)}
    .mobile-cal-day.in-range .day-num{color:var(--forest)}
    .mobile-cal-day.in-range .day-avail{color:var(--forest)}
    .mobile-cal-day.limited{background:var(--yellow-light)}
    .mobile-cal-day.full{background:var(--red-light);opacity:.6}
    .mobile-cal-day .day-num{font-weight:600;line-height:1;display:block}
    .mobile-cal-day .day-avail{font-size:.5rem;color:var(--brown);line-height:1;display:block;margin-top:2px}
    .mobile-cal-day.selected .day-avail{color:rgba(255,255,255,.8)}
    .mobile-cal-day.has-booking{background:var(--blue-light);border-color:var(--blue)}
    .mobile-cal-day.has-booking.selected{background:var(--forest)}
    .my-booking-icons{font-size:.5rem;line-height:1;position:absolute;bottom:1px;left:50%;transform:translateX(-50%);display:flex;gap:1px;letter-spacing:-1px}
    .mobile-cal-day.selected .my-booking-icons{opacity:.8}
    .mobile-cal-selected{margin-top:10px;padding:10px 12px;background:var(--white);border-radius:var(--r-sm);text-align:center;font-size:.9rem;border:1px solid var(--tan)}
    .mobile-cal-legend{display:flex;gap:10px;justify-content:center;margin-top:10px;font-size:.65rem;color:var(--brown);flex-wrap:wrap}
    .mobile-cal-legend-item{display:flex;align-items:center;gap:3px}
    .mobile-cal-legend-dot{width:8px;height:8px;border-radius:50%}
    /* Booking steps styling */
    .booking-step{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--tan)}
    .booking-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
    .booking-step-label{font-size:.85rem;font-weight:600;color:var(--brown);margin-bottom:10px;display:flex;align-items:center;gap:8px}
    .booking-step-label .step-num{background:var(--forest);color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}
    .booking-step-label.completed .step-num{background:var(--forest)}
    .booking-step-label.completed::after{content:'✓';color:var(--forest);margin-left:auto;font-weight:700}
    .promo-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:1100}.promo-modal{background:var(--white);border-radius:var(--r-xl);padding:32px;max-width:400px;width:90%;text-align:center;animation:promoSlide .4s ease}.promo-modal-icon{font-size:4rem;margin-bottom:12px}.promo-modal-title{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--forest);margin-bottom:16px}.promo-modal-content{font-size:1rem;color:var(--brown);margin-bottom:24px;line-height:1.5}.promo-item{background:var(--cream);border-radius:var(--r-md);padding:12px 16px;margin-bottom:10px;text-align:left;border-left:4px solid var(--forest)}.promo-item-pet{font-weight:600;font-size:1rem}.promo-item-details{font-size:.85rem;color:var(--brown)}.promo-modal-btn{background:var(--forest);color:#fff;border:none;padding:14px 40px;border-radius:var(--r-md);font-size:1rem;font-weight:600;cursor:pointer}@keyframes promoSlide{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
    .modal-large{max-width:600px}.modal-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--tan)}.modal-section:last-of-type{border-bottom:none}.section-title{font-size:.95rem;font-weight:600;color:var(--forest);margin-bottom:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .issues-category{margin-bottom:12px}.issues-category h5{font-size:.8rem;color:var(--brown);margin-bottom:8px}.issues-grid{display:flex;flex-wrap:wrap;gap:6px}.issue-tag{padding:6px 12px;border-radius:20px;font-size:.75rem;border:2px solid var(--tan);background:var(--white);cursor:pointer;transition:all .2s;user-select:none}.issue-tag:hover{border-color:var(--forest);background:var(--green-light)}.issue-tag.selected{background:var(--forest);color:#fff;border-color:var(--forest)}
    .admin-notes-display{background:var(--blue-light);padding:12px;border-radius:var(--r-md);font-size:.85rem}.admin-note-item{padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.1)}.admin-note-item:last-child{border-bottom:none}.admin-note-date{font-size:.7rem;color:var(--blue)}
    .view{display:none}.view.active{display:block}
    .loading{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:1.2rem;color:var(--brown)}.spinner{width:24px;height:24px;border:3px solid var(--tan);border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
    .sitting-update-badge{display:inline-block;background:#9C27B0;color:white;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;animation:pulse-update 1.5s infinite}.sitting-update-new{background:linear-gradient(135deg,#9C27B0,#E91E63);box-shadow:0 2px 8px rgba(156,39,176,.4)}@keyframes pulse-update{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(156,39,176,.4)}50%{transform:scale(1.02);box-shadow:0 0 20px 5px rgba(156,39,176,.3)}}
    .empty-state{text-align:center;padding:40px;color:var(--brown)}.empty-state-icon{font-size:3rem;margin-bottom:16px}.scrollable{max-height:500px;overflow-y:auto}.address-section{margin-top:16px;padding-top:16px;border-top:2px solid var(--tan)}
    
    /* Filter buttons */
    .filter-btn{padding:8px 16px;border:2px solid var(--tan);background:var(--white);border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--forest);background:var(--green-light)}.filter-btn.active{background:var(--forest);color:#fff;border-color:var(--forest)}
    
    /* Customer Invoice Styles */
    .customer-invoice{background:var(--white);border-radius:var(--r-md);padding:16px;margin-bottom:12px;border-left:4px solid var(--tan);box-shadow:var(--shadow);max-width:100%;overflow:hidden;box-sizing:border-box}
    #my-invoices-list{max-width:100%;overflow-x:hidden}
    #view-billing{max-width:100%;overflow-x:hidden}
    #view-billing .card{max-width:100%;overflow:hidden;box-sizing:border-box}
    .customer-invoice.unpaid{border-color:var(--red)}.customer-invoice.partial{border-color:var(--orange)}.customer-invoice.paid{border-color:var(--forest)}
    .invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
    .invoice-info{flex:1}.invoice-number{font-weight:600;font-size:.95rem;color:var(--dark)}.invoice-pet{font-size:.85rem;color:var(--brown);margin:4px 0}.invoice-date{font-size:.75rem;color:var(--brown)}
    .invoice-amounts{text-align:right}.invoice-total{font-size:1.2rem;font-weight:700;color:var(--dark)}.invoice-balance{font-size:.8rem;color:var(--red);margin:4px 0}
    .invoice-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}
    .invoice-badge.paid{background:var(--forest);color:#fff}.invoice-badge.partial{background:var(--orange);color:#fff}.invoice-badge.unpaid{background:var(--red);color:#fff}
    .invoice-details{background:var(--cream);padding:12px;border-radius:var(--r-sm);margin-top:12px}
    .invoice-line{display:flex;justify-content:space-between;padding:4px 0;font-size:.85rem;border-bottom:1px solid var(--tan)}.invoice-line:last-child{border-bottom:none}
    .invoice-line.tax{color:var(--brown);font-size:.8rem}.invoice-line.total{font-weight:700;border-top:2px solid var(--tan);margin-top:4px;padding-top:8px}.invoice-line.paid{color:var(--forest)}
    .pay-invoice-btn{width:100%;margin-top:12px;padding:12px;background:var(--forest);color:#fff;border:none;border-radius:var(--r-md);font-weight:600;cursor:pointer;font-size:.9rem;box-sizing:border-box}.pay-invoice-btn:hover{background:var(--forest-dark)}
    .invoice-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;max-width:100%}
    .btn-view-invoice{flex:1;padding:10px;background:var(--tan);color:var(--brown);border:none;border-radius:var(--r-md);font-weight:500;cursor:pointer;font-size:.85rem;min-width:0;white-space:nowrap;box-sizing:border-box}
    .btn-view-invoice:hover{background:var(--brown);color:#fff}
    .invoice-actions .pay-invoice-btn{flex:1;margin-top:0;min-width:0;box-sizing:border-box}
    
    /* Billing responsive */
    @media(max-width:480px){
      .customer-invoice{padding:12px}
      .invoice-header{flex-direction:column;gap:10px}
      .invoice-amounts{text-align:left;display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}
      .invoice-total{font-size:1rem}
      .invoice-balance{font-size:.75rem}
      .invoice-badge{font-size:.65rem;padding:3px 8px}
      .invoice-details{padding:10px;overflow-x:auto}
      .invoice-line{font-size:.8rem;gap:8px;flex-wrap:nowrap;min-width:0}
      .invoice-line span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
      .invoice-line span:last-child{text-align:right;white-space:nowrap;flex-shrink:0}
      .invoice-actions{flex-direction:column;gap:8px;width:100%}
      .invoice-actions button{width:100%;flex:none;box-sizing:border-box;max-width:100%}
      .btn-view-invoice{padding:10px;font-size:.8rem}
      .invoice-actions .pay-invoice-btn{padding:10px;font-size:.8rem}
      #view-billing .card{overflow-x:hidden}
      #billing-summary{padding:12px}
      #billing-summary>div{flex-direction:column;align-items:flex-start;gap:12px}
      #billing-summary>div>div:first-child{width:100%}
      #pay-now-section{width:100%}
      #pay-now-section button{width:100%}
      #total-balance{font-size:1.3rem}
      .invoice-filters{gap:6px}
      .invoice-filters .filter-btn{padding:6px 10px;font-size:.75rem}
    }
    
    /* ===== RESPONSIVE BREAKPOINTS ===== */
    
    /* Large monitors (1600px+) */
    @media(min-width:1600px){
      .container{max-width:1400px}
      .main-grid{grid-template-columns:1fr 450px}
      .calendar-day{min-height:110px;padding:10px}
      .day-number{font-size:1.2rem}
      .avail-text{font-size:.8rem}
      .my-booking-tag{font-size:.55rem;padding:3px 5px}
      .day-badge{font-size:.55rem;padding:3px 5px}
    }
    
    /* Laptop (1024px - 1599px) - default styles work here */
    
    /* Tablet landscape (768px - 1023px) */
    @media(max-width:1023px){
      .main-grid,.two-col{grid-template-columns:1fr}
      .main-grid{display:flex;flex-direction:column}
      .main-grid .right-column{display:contents}
      .main-grid .upcoming-bookings-card{order:1}
      .main-grid .booking-request-card{order:2}
      .main-grid .calendar-card{display:none} /* Hide the separate calendar card */
      /* Show inline mobile calendar, hide desktop hint */
      #mobile-calendar-section{display:block!important}
      #desktop-calendar-hint{display:none!important}
      .container{padding:16px}
      .header{padding:16px 20px}
      .logo-icon{width:50px;height:50px;font-size:28px}
      .logo-text h1{font-size:1.4rem}
    }
    /* Desktop - hide mobile calendar, show hint */
    @media(min-width:1024px){
      #mobile-calendar-section{display:none!important}
      #desktop-calendar-hint{display:block!important}
    }
    
    /* Tablet portrait (600px - 767px) */
    @media(max-width:767px){
      .container{padding-bottom:160px}
      .header{padding:12px 16px;gap:10px}
      .logo{flex:1;min-width:0}
      .logo-icon{width:40px;height:40px;font-size:22px;flex-shrink:0}
      .logo-text h1{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      .logo-text p{display:none}
      .nav{display:none}
      .mobile-logout-btn.show{display:block}
      .bottom-nav{display:block}
      .page-footer{display:none}
      .calendar-grid{gap:4px}
      .calendar-day{min-height:65px;padding:5px;border-radius:var(--r-sm)}
      .day-number{font-size:.85rem}
      .avail-text{font-size:.55rem}
      .capacity-bar{height:4px;margin-top:2px}
      .my-booking-tag{font-size:.45rem;padding:2px 3px}
      .my-bookings{gap:1px}
      .day-badge{font-size:.4rem;padding:1px 3px}
      .day-header{margin-bottom:2px}
      .weekday{font-size:.6rem;padding:6px 0}
      .time-slots-grid{grid-template-columns:repeat(3,1fr)}
      .dropoff-grid{grid-template-columns:repeat(2,1fr)}
      .pickup-grid{grid-template-columns:repeat(2,1fr)}
      .service-option{padding:10px 6px}.service-icon{font-size:1.2rem}.service-name{font-size:.7rem}
      .card{padding:16px;border-radius:var(--r-lg)}
      .card-title{font-size:1.1rem}
      .calendar-title{font-size:1.2rem}
      .calendar-legend{gap:8px;justify-content:center}.legend-item{font-size:.65rem}
      #booking-form .submit-btn{margin-bottom:80px}
      /* Billing mobile improvements */
      .customer-invoice{padding:14px}
      .invoice-header{flex-direction:column;gap:10px}
      .invoice-amounts{text-align:left;display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}
      .invoice-line span:first-child{word-break:break-word}
      .invoice-actions{flex-direction:column;gap:8px}
      .invoice-actions button{width:100%}
      #billing-summary>div{flex-direction:column;align-items:stretch;gap:12px}
    }
    
    /* Mobile (max 599px - iPhone 15 is 393px) */
    @media(max-width:599px){
      .container{padding:8px;padding-bottom:160px}
      .header{padding:12px 14px;border-radius:var(--r-lg);margin-bottom:12px}
      .logo-icon{width:40px;height:40px;font-size:22px}
      .logo-text h1{font-size:1.1rem}
      .logo-text p{font-size:.75rem}
      .nav-btn{padding:8px 12px;font-size:.75rem}
      .user-info{padding:6px 10px}.user-info span{font-size:.75rem}
      .card{padding:10px;border-radius:var(--r-md);margin-bottom:12px}
      .card-title{font-size:.95rem;margin-bottom:12px}
      .calendar-header{margin-bottom:10px}
      .calendar-title{font-size:1rem}
      .calendar-nav button{width:32px;height:32px;font-size:.9rem}
      .calendar-weekdays{gap:2px;margin-bottom:4px}
      .weekday{font-size:.55rem;padding:4px 0}
      .calendar-grid{gap:2px}
      .calendar-day{min-height:48px;padding:3px;border-width:1px;border-radius:4px}
      .calendar-day:hover:not(.past):not(.empty):not(.blocked){transform:none;box-shadow:none}
      .day-header{margin-bottom:1px}
      .day-number{font-size:.7rem}
      .day-badges{position:absolute;top:2px;right:2px}
      .day-badge{font-size:.35rem;padding:1px 2px;border-radius:2px}
      .day-info{gap:1px}
      .avail-text{font-size:.45rem}
      .capacity-bar{height:2px;margin-top:1px}
      .my-bookings{gap:1px;margin-top:1px}
      .my-booking-tag{font-size:.35rem;padding:1px 2px;border-radius:2px}
      .my-booking-more{font-size:.35rem;padding:1px 2px}
      .calendar-legend{gap:6px;margin-top:10px;justify-content:center}.legend-item{font-size:.55rem}.legend-dot{width:8px;height:8px}.legend-separator{display:none}
      .calendar-hint{font-size:.7rem;margin-top:6px}
      .selected-dates{padding:10px}.selected-dates-label{font-size:.65rem}.selected-dates-value{font-size:.85rem}
      .service-selector{gap:4px}
      .service-option{padding:8px 4px;border-radius:var(--r-sm)}.service-icon{font-size:1rem}.service-name{font-size:.6rem}
      .time-slots-container{padding:10px}
      .time-slots-title{font-size:.75rem;margin-bottom:6px}
      .time-slots-grid{grid-template-columns:repeat(2,1fr);gap:4px}
      .time-slot{padding:6px 2px;font-size:.65rem}
      .dropoff-section{padding:10px}
      .dropoff-title{font-size:.75rem}
      .dropoff-grid{grid-template-columns:repeat(2,1fr);gap:4px}
      .dropoff-slot{padding:6px 2px;font-size:.65rem}
      .pickup-section{padding:10px}
      .pickup-title{font-size:.75rem}
      .pickup-grid{grid-template-columns:repeat(2,1fr);gap:4px}
      .pickup-slot{padding:6px 2px;font-size:.65rem}
      .pickup-note{font-size:.65rem}
      .location-options{flex-direction:column;gap:6px}
      .location-option{padding:10px}
      .form-group{margin-bottom:10px}
      .form-label{font-size:.75rem}
      .form-input,.form-select{padding:10px 12px;font-size:.85rem}
      .submit-btn{padding:12px;font-size:.9rem}
      #booking-form .submit-btn{margin-bottom:80px}
      .info-banner{padding:8px 10px;font-size:.7rem}
      .booking-card{padding:10px}
      .booking-dog-name{font-size:.95rem}
      .booking-status{font-size:.55rem;padding:2px 5px}
      .booking-service-badge{font-size:.6rem}
      .booking-dates{font-size:.75rem}
      .modal{padding:16px;max-width:95%;border-radius:var(--r-lg)}
      .modal-title{font-size:1.1rem}
      .modal-large{max-width:95%}
      .form-row{grid-template-columns:1fr}
      .issues-grid{gap:4px}
      .issue-tag{padding:4px 8px;font-size:.65rem}
      .pet-item{padding:8px 10px;flex-wrap:wrap;gap:6px}
      .pet-avatar{width:32px;height:32px;font-size:16px}
      .pet-name{font-size:.85rem}
      .pet-breed{font-size:.7rem}
      .pet-actions button{padding:4px 8px;font-size:.7rem}
      .scrollable{max-height:300px}
      /* Billing improvements for small screens */
      .customer-invoice{padding:10px}
      .invoice-header{flex-direction:column;gap:8px}
      .invoice-amounts{width:100%;justify-content:flex-start}
      .invoice-total{font-size:.95rem}
      .invoice-badge{font-size:.6rem;padding:2px 6px}
      .invoice-balance{font-size:.7rem}
      .invoice-details{padding:8px}
      .invoice-line{font-size:.75rem}
      .invoice-actions{flex-direction:column;gap:6px}
      .invoice-actions button{width:100%;padding:10px;font-size:.8rem}
      #billing-summary{padding:10px}
      #total-balance{font-size:1.2rem}
      .invoice-filters{margin-bottom:12px}
      .invoice-filters .filter-btn{padding:6px 10px;font-size:.7rem}
    }
    
    /* Extra small mobile (max 380px) */
    @media(max-width:380px){
      .container{padding:6px;padding-bottom:160px}
      .header{padding:10px 12px}
      .logo-icon{width:36px;height:36px;font-size:20px}
      .logo-text h1{font-size:1rem}
      .logo-text p{display:none}
      .nav{gap:4px}
      .nav-btn{padding:6px 8px;font-size:.7rem}
      .card{padding:8px}
      .calendar-day{min-height:42px;padding:2px}
      .day-number{font-size:.6rem}
      .avail-text{font-size:.4rem}
      .capacity-bar{display:none}
      .my-booking-tag{font-size:.3rem;padding:1px}
      .day-badge{font-size:.3rem;padding:1px}
      .service-option{padding:6px 2px}.service-icon{font-size:.9rem}.service-name{font-size:.55rem}
      .time-slot{padding:5px 2px;font-size:.6rem}
      #booking-form .submit-btn{margin-bottom:80px}
    }
    
    /* Mobile Landscape */
    @media(max-height:450px) and (orientation:landscape){
      .container{padding:8px}
      .header{padding:8px 16px;margin-bottom:8px;flex-direction:row;flex-wrap:nowrap}
      .logo-icon{width:32px;height:32px;font-size:18px}
      .logo-text h1{font-size:.95rem}
      .logo-text p{display:none}
      .nav{gap:6px}
      .nav-btn{padding:5px 10px;font-size:.7rem}
      .user-info{padding:4px 8px}.user-info span{font-size:.7rem}
      .main-grid{grid-template-columns:1.2fr 1fr;gap:10px}
      .card{padding:10px;margin-bottom:8px;border-radius:var(--r-md)}
      .card-title{font-size:.9rem;margin-bottom:8px}
      .calendar-header{margin-bottom:6px}
      .calendar-title{font-size:1rem}
      .calendar-nav button{width:28px;height:28px;font-size:.85rem}
      .calendar-weekdays{gap:2px;margin-bottom:3px}
      .weekday{font-size:.5rem;padding:2px 0}
      .calendar-grid{gap:2px}
      .calendar-day{min-height:38px;padding:2px}
      .day-number{font-size:.6rem}
      .day-header{margin-bottom:0}
      .day-badges{position:absolute;top:1px;right:1px}
      .day-badge{font-size:.3rem;padding:1px}
      .day-info{gap:1px}
      .avail-text{font-size:.4rem}
      .capacity-bar{height:2px;margin-top:1px}
      .my-bookings{gap:1px}
      .my-booking-tag{font-size:.3rem;padding:1px 2px}
      .calendar-legend{display:none}
      .calendar-hint{display:none}
      .selected-dates{padding:8px}.selected-dates-label{font-size:.6rem}.selected-dates-value{font-size:.8rem}
      .service-selector{gap:4px}
      .service-option{padding:6px 3px}.service-icon{font-size:.9rem}.service-name{font-size:.55rem}
      .time-slots-container{padding:8px}
      .time-slots-title{font-size:.7rem;margin-bottom:4px}
      .time-slots-grid{grid-template-columns:repeat(4,1fr);gap:2px}
      .time-slot{padding:4px 2px;font-size:.6rem}
      .dropoff-section{padding:8px}
      .dropoff-grid{grid-template-columns:repeat(3,1fr);gap:2px}
      .dropoff-slot{padding:4px 2px;font-size:.6rem}
      .form-group{margin-bottom:8px}
      .form-label{font-size:.7rem;margin-bottom:3px}
      .form-input,.form-select{padding:6px 8px;font-size:.8rem}
      .submit-btn{padding:8px;font-size:.85rem}
      .scrollable{max-height:150px}
      .modal{max-height:86vh;max-height:86dvh;padding:12px;margin:0 8px}
      .modal-title{font-size:1rem;margin-bottom:10px}
      .booking-card{padding:8px}
      .pet-item{padding:8px}
    }
    
    /* Vaccinations */
    .vaccination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
    .vax-grid-required{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .vax-grid-optional{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
    @media(max-width:500px){.vax-grid-required,.vax-grid-optional{grid-template-columns:1fr 1fr}}
    .vaccination-item{background:var(--white);border:1px solid var(--tan);border-radius:var(--r-md);padding:8px;transition:all .2s}
    .vaccination-item.valid{border-color:var(--forest);background:var(--green-light)}
    .vaccination-item.expiring{border-color:var(--orange);background:var(--orange-light)}
    .vaccination-item.expired,.vaccination-item.missing{border-color:var(--red);background:var(--red-light)}
    .vaccination-item.optional-empty{border-color:var(--tan);background:var(--cream)}
    .vax-section-label{font-size:.85rem;font-weight:600;color:var(--forest);margin-bottom:8px}
    .vax-header{display:flex;align-items:center;gap:5px;margin-bottom:5px}
    .vax-status-icon{font-size:.85rem}
    .vax-name{font-size:.8rem;font-weight:500}
    .vax-body{display:flex;flex-direction:column;gap:3px}
    .vax-date{padding:5px;border:1px solid var(--tan);border-radius:4px;font-size:.75rem;width:100%}
    .vax-expiry{font-size:.65rem;color:var(--brown)}
    .vax-expiry.expired{color:var(--red)}
    .vax-expiry.expiring{color:var(--orange)}
    .vax-note{font-size:.7rem;color:var(--brown);margin-top:8px;font-style:italic}
    .vax-badge{font-size:.55rem;padding:2px 4px;border-radius:4px;font-weight:600;margin-left:3px}
    .vax-badge.valid{background:var(--green-light);color:var(--forest)}
    .vax-badge.expiring{background:var(--orange-light);color:var(--orange)}
    .vax-badge.expired{background:var(--red-light);color:var(--red)}
    
    /* Waivers */
    .waiver-text-box{max-height:200px;overflow-y:auto;border:1px solid var(--tan);border-radius:var(--r-md);padding:12px;margin-bottom:12px;font-size:.8rem;line-height:1.5;background:var(--cream)}
    .waiver-text-box h2{font-size:.95rem;margin-bottom:8px}
    .waiver-text-box h3{font-size:.85rem;margin:12px 0 5px;color:var(--forest)}
    .waiver-text-box p{margin-bottom:6px}
    .waiver-agree{display:flex;align-items:flex-start;gap:8px;padding:10px;background:var(--yellow-light);border-radius:var(--r-md);margin-bottom:10px}
    .waiver-agree input{margin-top:3px}
    .waiver-agree span{font-size:.85rem}
    .waiver-signed-status{padding:10px;background:var(--green-light);border-radius:var(--r-md);text-align:center}
    .waiver-signed-status .icon{font-size:1.5rem}
    .waiver-signed-status .text{font-weight:500;color:var(--forest)}
    .waiver-signed-status .details{font-size:.8rem;color:var(--brown)}
    
    /* PDF Waiver Signing */
    .pdf-waiver-container{border:2px solid var(--tan);border-radius:var(--r-md);overflow:hidden;background:var(--cream)}
    .pdf-viewer-wrapper{height:300px;overflow-y:auto;background:#525659;position:relative}
    .pdf-viewer-wrapper canvas{display:block;margin:0 auto}
    .pdf-page-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;background:var(--white);border-top:1px solid var(--tan)}
    .pdf-page-nav button{padding:6px 12px;border:1px solid var(--tan);background:var(--white);border-radius:var(--r-sm);cursor:pointer;font-size:.85rem}
    .pdf-page-nav button:hover:not(:disabled){background:var(--forest);color:#fff;border-color:var(--forest)}
    .pdf-page-nav button:disabled{opacity:.5;cursor:not-allowed}
    .pdf-page-info{font-size:.85rem;color:var(--dark);min-width:80px;text-align:center}
    .signature-section{padding:20px;background:var(--white);border-top:3px solid var(--forest)}
    .signature-section h4{font-size:1.1rem;color:var(--dark);margin-bottom:8px;display:flex;align-items:center;gap:8px}
    .signature-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
    @media(max-width:500px){.signature-fields{grid-template-columns:1fr}}
    .signature-field label{display:block;font-size:.85rem;font-weight:600;color:var(--brown);margin-bottom:6px}
    .signature-field input{width:100%;padding:14px 12px;border:2px solid var(--tan);border-radius:var(--r-md);font-size:1rem;background:var(--white)}
    .signature-field input:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px rgba(45,212,191,.15)}
    .signature-pad-wrapper{margin-bottom:16px}
    .signature-pad-label{font-size:.85rem;font-weight:600;color:var(--brown);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
    .signature-pad-label button{font-size:.8rem;padding:6px 14px;background:var(--cream);border:1px solid var(--tan);border-radius:var(--r-sm);cursor:pointer}
    .signature-pad-label button:hover{background:var(--red-light);border-color:var(--red);color:var(--red)}
    .signature-pad{width:100%;height:120px;border:2px dashed var(--tan);border-radius:var(--r-md);background:#fff;cursor:crosshair;touch-action:none;display:block}
    .signature-pad.signing{border-color:var(--forest);border-style:solid}
    .signature-pad.has-signature{border-style:solid;border-color:var(--forest)}
    .signature-hint{font-size:.8rem;color:var(--brown);text-align:center;margin-top:8px}
    .waiver-submit-btn{width:100%;padding:14px;background:var(--forest);color:#fff;border:none;border-radius:var(--r-md);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}
    .waiver-submit-btn:hover:not(:disabled){background:var(--forest-dark);transform:translateY(-1px)}
    .waiver-submit-btn:disabled{opacity:.6;cursor:not-allowed}
    .waiver-submit-btn.loading{pointer-events:none}
    .signed-pdf-download{margin-top:12px;padding:12px;background:var(--green-light);border-radius:var(--r-md);text-align:center}
    .signed-pdf-download a{display:inline-flex;align-items:center;gap:8px;color:var(--forest);font-weight:600;text-decoration:none}
    .signed-pdf-download a:hover{text-decoration:underline}
    
    /* Extension request */
    .extension-form{background:var(--cream);border-radius:var(--r-md);padding:12px;margin-top:10px}
    .extension-form h4{font-size:.9rem;margin-bottom:8px}
    .extension-pending{background:var(--purple-light);padding:10px;border-radius:var(--r-md);margin-top:8px;font-size:.85rem}
    .modification-type-btns{display:flex;gap:8px;margin-bottom:8px}
    .mod-type-btn{flex:1;padding:10px;border:2px solid var(--tan);border-radius:var(--r-md);background:var(--white);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:all .2s}
    .mod-type-btn.active{border-color:var(--forest);background:var(--green-light);color:var(--forest);font-weight:600}
    .mod-type-btn:hover:not(.active){background:var(--cream)}
    
    /* Autocomplete dropdown */
    .autocomplete-dropdown{position:absolute;left:0;right:0;top:100%;background:var(--white);border:2px solid var(--tan);border-top:none;border-radius:0 0 var(--r-md) var(--r-md);max-height:200px;overflow-y:auto;z-index:1000;display:none;box-shadow:0 4px 12px rgba(0,0,0,.1)}
    .autocomplete-dropdown.show{display:block}
    .autocomplete-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--cream);font-size:.85rem}
    .autocomplete-item:last-child{border-bottom:none}
    .autocomplete-item:hover,.autocomplete-item.selected{background:var(--green-light)}
    .autocomplete-item .item-name{font-weight:600;color:var(--dark)}
    .autocomplete-item .item-address{font-size:.75rem;color:var(--brown);margin-top:2px}
    .form-group{position:relative}
    
    /* Google Places autocomplete dropdown - must be on top of everything */
    .pac-container{z-index:999999 !important;font-family:var(--font-body) !important}
    .pac-item{padding:8px 12px !important;cursor:pointer !important}
    .pac-item:hover{background:var(--green-light) !important}

    /* My Bookings Table View */
    .bookings-search-bar{margin-bottom:16px}
    .bookings-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .bookings-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-md);overflow:hidden}
    .bookings-table thead{background:var(--forest);color:#fff}
    .bookings-table th{padding:12px 8px;text-align:left;font-size:.85rem;font-weight:600;white-space:nowrap}
    .bookings-table tbody tr.booking-table-row{border-bottom:1px solid var(--tan);transition:background .2s}
    .bookings-table tbody tr.booking-table-row:hover{background:var(--cream)}
    .bookings-table tbody tr.booking-table-row.approved{border-left:3px solid var(--forest)}
    .bookings-table tbody tr.booking-table-row.pending{border-left:3px solid var(--gold)}
    .bookings-table tbody tr.booking-table-row.completed{border-left:3px solid var(--blue)}
    .bookings-table tbody tr.booking-table-row.cancelled{border-left:3px solid var(--red);opacity:.6}
    .bookings-table td{padding:12px 8px;font-size:.85rem;vertical-align:middle}
    .booking-date{font-weight:500}
    .booking-pet{color:var(--forest);font-weight:600}
    .booking-service{white-space:nowrap}
    .booking-dropoff,.booking-pickup{font-size:.8rem;color:var(--brown)}
    .booking-status-cell{text-align:center}
    .status-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}
    .status-badge.approved{background:var(--green-light);color:var(--forest)}
    .status-badge.pending{background:var(--yellow-light);color:var(--gold)}
    .status-badge.completed{background:var(--blue-light);color:var(--blue)}
    .status-badge.cancelled,.status-badge.rejected{background:var(--red-light);color:var(--red)}
    .status-badge.standby{background:var(--purple-light);color:var(--purple)}
    .booking-actions-cell{text-align:right;white-space:nowrap}
    .btn-icon{padding:6px 10px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;font-size:.9rem;margin-right:4px}
    .btn-icon:hover{background:var(--blue-dark)}
    .btn-expand{padding:6px 12px;background:var(--cream);border:1px solid var(--tan);border-radius:var(--r-sm);cursor:pointer;font-size:.8rem}
    .btn-expand:hover{background:var(--tan)}
    
    /* Expanded row */
    .booking-expanded-row{background:var(--cream);border-bottom:2px solid var(--tan)}
    .booking-expanded-content{padding:16px}
    .expanded-details{display:flex;flex-direction:column;gap:10px}
    .detail-row{display:flex;align-items:center;gap:8px;font-size:.85rem}
    .detail-icon{font-size:1rem;min-width:24px}
    .detail-section{margin-top:12px;padding:12px;background:var(--white);border-radius:var(--r-md)}
    .detail-section-title{font-weight:600;font-size:.9rem;margin-bottom:8px;color:var(--forest)}
    .detail-note{font-style:italic;color:var(--brown);padding:8px;background:var(--cream);border-radius:var(--r-sm)}
    .price-breakdown{display:flex;flex-direction:column;gap:4px;margin-top:8px}
    .price-line{display:flex;justify-content:space-between;font-size:.85rem}
    .detail-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--tan)}
    .detail-actions .btn-primary{padding:10px 16px;background:var(--forest);color:#fff;border:none;border-radius:var(--r-md);cursor:pointer;font-size:.85rem}
    .detail-actions .btn-primary:hover{background:var(--forest-dark)}
    .detail-actions .btn-cancel{padding:10px 16px;background:var(--red-light);color:var(--red);border:1px solid var(--red);border-radius:var(--r-md);cursor:pointer;font-size:.85rem}
    .detail-actions .btn-cancel:hover{background:var(--red);color:#fff}
    
    /* Mobile responsive */
    @media(max-width:900px){
      .bookings-table thead{display:none}
      .bookings-table,.bookings-table tbody,.bookings-table tr,.bookings-table td{display:block;width:100%}
      .bookings-table tbody tr.booking-table-row{margin-bottom:12px;border:2px solid var(--tan);border-radius:var(--r-md);background:var(--white)}
      .bookings-table tbody tr.booking-table-row.approved{border-left:4px solid var(--forest)}
      .bookings-table tbody tr.booking-table-row.pending{border-left:4px solid var(--gold)}
      .bookings-table tbody tr.booking-table-row.completed{border-left:4px solid var(--blue)}
      .bookings-table td{padding:8px 12px;border:none}
      .bookings-table td:before{content:attr(data-label);font-weight:600;display:inline-block;width:100px;color:var(--brown);font-size:.75rem}
      .booking-date:before{content:'Date: '}
      .booking-pet:before{content:'Pet: '}
      .booking-service:before{content:'Service: '}
      .booking-dropoff:before{content:'Drop-off: '}
      .booking-pickup:before{content:'Pickup: '}
      .booking-status-cell:before{content:'Status: '}
      .booking-actions-cell{text-align:left;padding-top:12px;border-top:1px solid var(--tan)}
      .booking-actions-cell:before{display:none}
      .booking-expanded-row td{padding:0}
    }

    /* Calendar button in upcoming bookings */
    .btn-calendar-compact{padding:8px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;font-size:.9rem;margin:0 8px;transition:all .2s}
    .btn-calendar-compact:hover{background:var(--blue-dark);transform:scale(1.1)}

/* BOOKING STATUS DISPLAYS - Colored backgrounds for all services */
.calendar-day.booking-start,
.calendar-day.booking-end {
  background: #FFF3E0 !important;
  border-color: #FF9800 !important;
  border-width: 3px !important;
}

.calendar-day.booking-active {
  background: #FFEBEE !important;
  border-color: #E53935 !important;
  border-width: 3px !important;
}

.calendar-day.booking-daycare {
  background: #FFF9C4 !important;
  border-color: #FFA726 !important;
  border-width: 3px !important;
}

.calendar-day.booking-training {
  background: #E3F2FD !important;
  border-color: #42A5F5 !important;
  border-width: 3px !important;
}

.calendar-day.booking-walk {
  background: #E8F5E9 !important;
  border-color: #66BB6A !important;
  border-width: 3px !important;
}

.calendar-day.booking-grooming {
  background: #FCE4EC !important;
  border-color: #EC407A !important;
  border-width: 3px !important;
}

.booking-status-display {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   IFRAME EMBED MODE
   Applied when html.iframe-mode is set (detected via JS)
   Keeps normal responsive breakpoints but cleans up for iframe:
   - Hides bottom nav and footer (not needed in embed)
   - Tightens container padding
   - Removes body background effects
   ============================================================ */

/* Hide book.html's OWN mobile bottom nav + footer in iframe - not needed. Scoped to #bottom-nav
   (book.html's <nav id="bottom-nav">) so it does NOT also hide the grooming wizard's
   <div class="bottom-nav"> (same class) — that shared match was hiding the wizard's Next button in
   the embed widget. 2026-07-13. */
html.iframe-mode #bottom-nav {
  display: none !important;
}
html.iframe-mode .page-footer {
  display: none !important;
}

/* Tighten container */
html.iframe-mode .container {
  padding: 10px;
  padding-bottom: 10px !important;
  max-width: 100%;
}

/* Remove body background effects in iframe */
html.iframe-mode body::before {
  display: none;
}

/* No extra padding-bottom needed since no bottom nav */
html.iframe-mode body {
  padding-bottom: 0 !important;
}
