html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;padding:0}*{box-sizing:border-box}@media screen and (max-width: 767px){input,textarea,select{font-size:16px!important}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0891B2;--primary-dark: #0E7490;--secondary: #FB923C;--accent: #F97316;--background: #F9FAFB;--surface: #FFFFFF;--border: #E5E7EB;--text-primary: #111827;--text-secondary: #6B7280;--text-muted: #9CA3AF;--success: #10B981;--warning: #F59E0B;--error: #EF4444;--info: #3B82F6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--bottom-nav-height: 70px;--header-height: 60px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);height:var(--header-height)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);max-width:1200px;margin:0 auto}.logo{font-size:1.25rem;font-weight:700;color:var(--primary)}.header-logo{height:45px;width:auto;border-radius:50%;box-shadow:0 2px 4px #0000001a}.location-btn{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;cursor:pointer;transition:all .2s}.location-btn:hover{background:var(--border)}.location-name{font-weight:600}.app-main{flex:1;padding-bottom:var(--bottom-nav-height);overflow-x:hidden}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:var(--spacing-sm) 0;box-shadow:0 -2px 10px #0000000d;height:var(--bottom-nav-height)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-sm);transition:all .2s;font-size:.75rem}.nav-btn.active{color:var(--primary)}.nav-icon{font-size:1.5rem}.nav-label{font-weight:500}.page{padding:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.page-header{margin-bottom:var(--spacing-xl)}.page-header h2{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm)}.subtitle{color:var(--text-secondary);font-size:1rem}.back-btn{background:none;border:none;color:var(--primary);font-size:1rem;cursor:pointer;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);border:1px solid var(--border)}.card h3{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-md)}.card.highlight{border:2px solid var(--secondary);background:linear-gradient(to bottom,var(--surface),#F0FDF4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn.secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border)}.btn.secondary:hover{background:var(--border)}.btn.large{padding:1rem 1.5rem;font-size:1.125rem;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.welcome-section{margin-bottom:var(--spacing-xl)}.welcome-section h2{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.stat-card.primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.stat-label{font-size:.875rem;opacity:.9}.upcoming-appointment{background:linear-gradient(to bottom right,#EFF6FF,var(--surface));border:2px solid var(--info)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.badge{background:var(--info);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.upcoming{background:var(--info)}.appointment-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.detail-row{display:grid;grid-template-columns:2rem auto 1fr;gap:var(--spacing-sm);align-items:center}.detail-row .icon{font-size:1.25rem}.detail-row .label{font-weight:600;color:var(--text-secondary)}.detail-row .value{text-align:right;font-weight:500}.package-progress{margin-top:var(--spacing-md)}.progress-bar{height:8px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .3s ease}.progress-text{font-size:.875rem;color:var(--text-secondary)}.package-purchased{font-size:.875rem;color:var(--text-muted);margin-top:var(--spacing-sm)}.quick-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.action-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.action-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-btn.primary:hover{background:var(--primary-dark)}.btn-icon{font-size:1.5rem}.condition-card{cursor:pointer}.condition-description{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-md)}.protocol-info{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.info-item .icon{font-size:1.125rem}.protocol-recommendations{background:var(--background);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.recommendation-item{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);line-height:1.5}.recommendation-item:last-child{margin-bottom:0}.recommendation-item strong{color:var(--text-primary);font-weight:600}.condition-overview{margin-bottom:var(--spacing-xl)}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.overview-item{text-align:center}.overview-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.overview-value{font-size:2rem;font-weight:700;color:var(--primary)}.tags-section,.protocols-section{margin-bottom:var(--spacing-2xl)}.section-subtitle{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.protocol-options{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.protocol-option-card{border:2px solid var(--border);transition:all .2s}.protocol-option-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.protocol-option-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.protocol-option-header h3{flex:1;margin:0}.source-badge{background:var(--accent);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.75rem;font-weight:700;text-transform:uppercase}.protocol-frequencies{background:var(--background);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.freq-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.freq-values{font-family:Courier New,monospace;font-size:1rem;color:var(--primary);font-weight:600}.protocol-schedule{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.schedule-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.schedule-item .icon{font-size:1.125rem}.booking-context{background:linear-gradient(to bottom right,#EFF6FF,var(--surface));border:2px solid var(--info);margin-bottom:var(--spacing-xl)}.booking-protocol-info{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-md)}.protocol-separator{color:var(--text-muted)}.protocol-source{font-weight:600;color:var(--text-primary)}.protocol-frequencies-info{background:var(--background);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem}.protocol-frequencies-info strong{color:var(--text-secondary)}.search-section{margin-bottom:var(--spacing-xl)}.search-box{position:relative;margin-bottom:var(--spacing-lg)}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) 3rem;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--text-muted)}.clear-btn{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:var(--text-muted);color:#fff;border:none;border-radius:50%;width:1.5rem;height:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem}.category-filters{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-sm);-webkit-overflow-scrolling:touch}.category-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;white-space:nowrap;cursor:pointer;transition:all .2s;font-weight:500}.category-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.results-header{margin-bottom:var(--spacing-lg);color:var(--text-secondary);font-size:.875rem}.protocols-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.protocol-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;transition:all .2s}.protocol-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.protocol-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.protocol-name{font-size:1.125rem;font-weight:600;flex:1}.protocol-category{background:var(--background);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;white-space:nowrap;margin-left:var(--spacing-md)}.protocol-details{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.protocol-details .detail{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary)}.protocol-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.tag{background:var(--background);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem}.protocol-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--border);font-size:.875rem;color:var(--text-secondary)}.arrow{color:var(--primary);font-size:1.25rem;font-weight:700}.frequency-card{cursor:default}.frequency-card:hover{transform:none;border-color:var(--border)}.frequency-list{margin:var(--spacing-md) 0}.frequency-list-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.frequency-chips{display:flex;flex-wrap:wrap;gap:.5rem}.frequency-chip{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.saved-notice{padding:.75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:var(--radius-md);text-align:center;font-weight:600;margin-top:.75rem;font-size:.85rem}.no-results{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.no-results-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.protocol-hero{text-align:center;margin-bottom:var(--spacing-xl)}.protocol-category-badge{display:inline-block;background:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md)}.protocol-title{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-sm)}.protocol-subtitle{color:var(--text-secondary);font-size:1.125rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.summary-item{display:flex;gap:var(--spacing-md);align-items:center}.summary-icon{font-size:2rem}.summary-content{flex:1}.summary-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.summary-label{font-size:.875rem;color:var(--text-secondary)}.protocol-notes{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.protocol-tags-section{margin-bottom:var(--spacing-lg)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tag.large{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.technical-info{padding-top:var(--spacing-lg);border-top:1px solid var(--border)}.tech-detail{display:flex;gap:var(--spacing-md);align-items:baseline}.tech-label{font-weight:600;color:var(--text-secondary)}.tech-value{font-family:Courier New,monospace;color:var(--text-primary)}.suggested-package{border:2px solid var(--secondary);background:linear-gradient(to bottom,var(--surface),#F0FDF4)}.package-suggestion{display:flex;flex-direction:column;gap:var(--spacing-md)}.package-header{display:flex;justify-content:space-between;align-items:flex-start}.package-name-section{flex:1}.package-name{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-xs)}.package-badge{display:inline-block;background:var(--accent);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.package-price{font-size:2rem;font-weight:700;color:var(--primary)}.package-sessions{font-weight:600;color:var(--text-secondary)}.package-description{color:var(--text-secondary);line-height:1.6}.package-match{background:var(--success);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:500}.action-buttons{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-protocol-info{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md)}.booking-protocol-info .protocol-category{background:var(--primary);color:#fff}.booking-protocol-info .protocol-name{font-weight:600}.booking-protocol-info .protocol-duration{color:var(--text-secondary)}.booking-section{margin-bottom:var(--spacing-xl)}.booking-section h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg)}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-md)}.date-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center;cursor:pointer;transition:all .2s}.date-card:hover{border-color:var(--primary);transform:translateY(-2px)}.date-card.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.date-day{font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-xs)}.date-date{font-size:1.125rem;font-weight:700;margin-bottom:var(--spacing-xs)}.date-slots{font-size:.75rem;opacity:.8}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-md)}.time-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center;cursor:pointer;transition:all .2s;font-weight:600}.time-card:hover{border-color:var(--primary);transform:translateY(-2px)}.time-card.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.booking-summary{background:linear-gradient(to bottom right,#EFF6FF,var(--surface));border:2px solid var(--info)}.summary-details{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-row{display:flex;justify-content:space-between;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border)}.summary-row .label{font-weight:600;color:var(--text-secondary)}.summary-row .value{font-weight:500}.confirmation-card{text-align:center;padding:var(--spacing-2xl)}.success-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.confirmation-details{background:var(--background);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin:var(--spacing-xl) 0;text-align:left}.confirmation-message{color:var(--text-secondary);margin:var(--spacing-xl) 0;line-height:1.6}.location-context{display:flex;align-items:center;gap:var(--spacing-md);background:linear-gradient(135deg,#EFF6FF,var(--surface));border:2px solid var(--info)}.context-icon{font-size:2rem}.context-name{font-weight:600;margin-bottom:var(--spacing-xs)}.context-address{color:var(--text-secondary);font-size:.875rem}.packages-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.package-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:2px solid var(--border);position:relative;transition:all .2s}.package-card.featured{border-color:var(--secondary);transform:scale(1.02)}.package-card .package-badge{position:absolute;top:-12px;right:var(--spacing-lg);background:var(--accent);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:.75rem;font-weight:700;text-transform:uppercase;box-shadow:var(--shadow-md)}.package-body{margin:var(--spacing-xl) 0}.package-sessions{text-align:center;margin-bottom:var(--spacing-md)}.sessions-count{font-size:3rem;font-weight:700;color:var(--primary);display:block}.sessions-label{display:block;color:var(--text-secondary);font-size:1rem}.package-per-session{text-align:center;color:var(--success);font-weight:600;margin-bottom:var(--spacing-lg)}.info-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.info-list li{color:var(--text-secondary);line-height:1.6}.contact-card{text-align:center}.contact-options{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.contact-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:var(--primary);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:all .2s}.contact-btn:hover{background:var(--primary-dark);transform:translateY(-2px)}.single-session-card{background:linear-gradient(to bottom right,#FEF3C7,var(--surface));border:2px solid var(--accent)}.single-session-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin:var(--spacing-lg) 0}.session-option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border)}.session-duration{font-size:.875rem;color:var(--text-secondary);font-weight:500}.session-price{font-size:1.5rem;font-weight:700;color:var(--primary)}.profile-header{display:flex;align-items:center;gap:var(--spacing-lg)}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.profile-info h3{font-size:1.25rem;margin-bottom:var(--spacing-xs)}.profile-info p{color:var(--text-secondary);font-size:.875rem}.location-badge{display:inline-block;background:var(--success);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;margin-bottom:var(--spacing-md)}.help-text{color:var(--text-muted);font-size:.875rem;margin-top:var(--spacing-md)}.waiver-section .waiver-status{margin-bottom:var(--spacing-lg)}.waiver-complete,.waiver-incomplete{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--background)}.waiver-complete{border-left:4px solid var(--success)}.waiver-incomplete{border-left:4px solid var(--warning)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-sm)}.status-badge.success{background:var(--success);color:#fff}.status-badge.pending{background:var(--warning);color:#fff}.waiver-date,.waiver-help{color:var(--text-secondary);font-size:.875rem;margin:0}.waiver-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}@media (min-width: 640px){.waiver-actions{flex-direction:row}.waiver-actions .btn{flex:1}}.settings-list{display:flex;flex-direction:column}.setting-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:all .2s;text-align:left}.setting-item:hover:not(:disabled){background:var(--background);padding-left:var(--spacing-sm)}.setting-item:disabled{opacity:.5;cursor:not-allowed}.setting-icon{font-size:1.5rem}.setting-label{flex:1;font-weight:500}.setting-arrow{color:var(--text-muted)}.prototype-notice{background:#fef3c7;border:2px solid var(--accent)}.prototype-notice ul{margin-top:var(--spacing-md);padding-left:var(--spacing-xl);color:var(--text-secondary);line-height:1.8}.session-frequencies{margin-top:var(--spacing-lg)}.frequency-help{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--spacing-lg)}.condition-select-group{margin-bottom:var(--spacing-xl);position:relative}.condition-select-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.condition-input-wrapper{position:relative}.condition-input{width:100%;padding:var(--spacing-md);font-size:.95rem;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);transition:all .2s ease}.condition-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b21a}.condition-input::placeholder{color:var(--text-muted)}.clear-input-btn{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;font-size:1.25rem;line-height:1;transition:color .2s}.clear-input-btn:hover{color:var(--text-primary)}.condition-suggestions{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:.25rem;z-index:100}.suggestion-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--background)}.suggestion-badge{display:inline-block;padding:.125rem .4rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.suggestion-badge.protocol-badge{background:var(--primary);color:#fff}.suggestion-badge.condition-badge{background:#6366f1;color:#fff}.suggestion-name{font-size:.875rem;color:var(--text-primary)}.no-suggestions{padding:var(--spacing-md);text-align:center;color:var(--text-secondary);font-size:.875rem}.condition-select{width:100%;padding:var(--spacing-md);font-size:1rem;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);transition:all .2s ease;cursor:pointer}.condition-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b21a}.frequency-inputs{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.frequency-input-group{position:relative}.frequency-input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.frequency-input{width:100%;padding:var(--spacing-md);padding-right:3rem;font-size:1.125rem;font-weight:600;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);transition:all .2s ease}.frequency-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b21a}.frequency-input::placeholder{color:var(--text-muted);font-weight:400}.frequency-input-group .unit{position:absolute;right:var(--spacing-md);top:2.25rem;font-size:.875rem;font-weight:600;color:var(--text-muted);pointer-events:none}.auto-save-note{margin-top:var(--spacing-lg);font-size:.875rem;color:var(--success);text-align:center}.channels-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.channel-row{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--background)}.channel-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.channel-inputs{display:flex;flex-direction:column;gap:var(--spacing-md)}.channel-input-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.channel-input-group{display:flex;flex-direction:column}.channel-input-group.full-width{width:100%}.channel-input-group.half-width{flex:1}.channel-input-group label{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem}.channel-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);transition:all .2s ease}.channel-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0891b21a}.channel-input::placeholder{color:var(--text-muted);font-weight:400;font-size:.875rem}.save-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-left:auto}.session-date-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer}.session-date-input:focus{outline:none;border-color:var(--primary)}.save-session-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.save-session-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.cancel-edit-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.cancel-edit-btn:hover{background:var(--surface);border-color:var(--text-muted)}.editing-notice{padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.saved-sessions{margin-bottom:var(--spacing-lg)}.sessions-scroll{display:flex;gap:var(--spacing-md);overflow-x:auto;padding-bottom:var(--spacing-md);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.sessions-scroll::-webkit-scrollbar{height:6px}.sessions-scroll::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.sessions-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sessions-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.session-card{min-width:240px;max-width:240px;padding:var(--spacing-sm);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:all .2s ease;scroll-snap-align:start}.session-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.session-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.session-condition{font-weight:600;font-size:.85rem;color:var(--text-primary);flex:1;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.session-date{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.session-preview{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:.25rem;max-height:120px;overflow-y:auto}.session-preview::-webkit-scrollbar{width:3px}.session-preview::-webkit-scrollbar-track{background:transparent}.session-preview::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.preview-channel{display:flex;align-items:center;gap:.375rem;font-size:.7rem}.preview-freq{font-weight:600;color:var(--primary);min-width:50px;font-size:.7rem}.preview-duty{font-weight:500;color:var(--text-secondary);padding:.125rem .25rem;background:var(--background);border-radius:var(--radius-sm);font-size:.65rem}.preview-duration{font-weight:500;color:var(--text-muted);padding:.125rem .25rem;background:var(--background);border-radius:var(--radius-sm);font-size:.65rem}.badge.info{background-color:var(--info)}@media (min-width: 768px){:root{--bottom-nav-height: 0px}.logo{font-size:1.5rem}.page{padding:var(--spacing-2xl)}.page-header h2{font-size:2.25rem}.bottom-nav{display:none}.app-main{padding-bottom:0}.stats-grid{grid-template-columns:repeat(4,1fr)}.quick-actions{grid-template-columns:repeat(3,1fr)}.summary-grid,.overview-grid,.protocol-schedule{grid-template-columns:repeat(4,1fr)}.action-buttons{flex-direction:row}.packages-grid{grid-template-columns:repeat(3,1fr)}.frequency-inputs{grid-template-columns:repeat(2,1fr)}.date-grid{grid-template-columns:repeat(7,1fr)}.time-grid{grid-template-columns:repeat(6,1fr)}}.booking-type-cards{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.booking-type-option:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media (min-width: 768px){.booking-type-cards{grid-template-columns:repeat(2,1fr)}}.booking-embed-container{padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.booking-embed-container iframe{display:block;width:100%;border:none;border-radius:var(--radius-md)}@media (max-width: 768px){.booking-embed-container iframe{min-height:700px}}@media (min-width: 768px) and (max-width: 1024px){.booking-embed-container iframe{min-height:750px}}@media (min-width: 1024px){.booking-embed-container iframe{min-height:800px}}@media (min-width: 1024px){.page{padding:var(--spacing-2xl) var(--spacing-xl)}.protocols-list{grid-template-columns:repeat(2,1fr);display:grid}}
