:root{color-scheme:light dark;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-border: #dde1e6;--color-text: #1a1d21;--color-text-muted: #6b7280;--color-primary: #2f6fed;--color-primary-hover: #2558c2;--color-primary-contrast: #ffffff;--color-danger: #d64545;--color-danger-bg: #fdeceb;--color-success: #1f8a4c;--color-success-bg: #e9f7ef;--color-focus-ring: rgba(47, 111, 237, .35);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2.5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--transition-fast: .15s ease;--bottom-bar-height: 3.75rem}@media(prefers-color-scheme:dark){:root{--color-bg: #14161a;--color-surface: #1d2025;--color-border: #2c3036;--color-text: #edeef0;--color-text-muted: #9aa1ab;--color-primary: #5b8def;--color-primary-hover: #7ea3f2;--color-primary-contrast: #0c1220;--color-danger: #f27171;--color-danger-bg: #3a1f1f;--color-success: #4fce87;--color-success-bg: #16321f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-text-size-adjust:100%}h1,h2,h3{margin:0 0 var(--space-4);line-height:1.25}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card>*+*{margin-top:var(--space-4)}.card+.card{margin-top:var(--space-4)}.card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.card-header h2{margin:0}.card-description{color:var(--color-text-muted)}@media(max-width:599px){.card{padding:var(--space-4)}}form{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}form>div,form>.form-row,form>.message{align-self:stretch}label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-1)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],select,textarea{width:100%;padding:var(--space-3);font-size:var(--text-base);font-family:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,input[type=tel]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.form-row>div{flex:1 1 160px}.field-hint{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2)}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:599px){.form-actions>button,.form-actions>.button-link{flex:1 1 auto}}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:600;font-family:inherit;line-height:1.25;color:var(--color-primary-contrast);background:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}button:hover,.button-link:hover{background:var(--color-primary-hover);text-decoration:none}button:active,.button-link:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.5;transform:none}.btn-secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.btn-danger:hover{background:var(--color-danger-bg)}.btn-danger-solid,.btn-danger-solid:hover{color:#fff;background:var(--color-danger)}.btn-small{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}@media(pointer:coarse){button,.button-link,select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel]{min-height:44px}}.segmented{display:inline-flex;min-width:0;margin:0;padding:2px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.segmented-option{position:relative;margin:0}.segmented-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.segmented-option span{display:block;padding:var(--space-1) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;text-align:center;white-space:nowrap;border-radius:4px}.segmented-option:hover span{color:var(--color-text)}.segmented-option input:checked+span{color:var(--color-text);font-weight:600;background:var(--color-surface);box-shadow:var(--shadow-sm)}.segmented-option.segmented-danger input:checked+span{color:var(--color-danger)}.segmented-option input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:1px}@media(pointer:coarse){.segmented-option span{padding:10px var(--space-3)}}.menu-item{display:flex;justify-content:flex-start;width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text);font-weight:500;background:transparent;border:none}.menu-item:hover{background:var(--color-bg)}.menu-item-danger{color:var(--color-danger)}.menu-item-danger:hover{background:var(--color-danger-bg)}.tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);overflow-x:auto;border-bottom:1px solid var(--color-border);scrollbar-width:none}.tab{flex-shrink:0;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--color-text);text-decoration:none}.tab.active{color:var(--color-primary);font-weight:700;border-bottom-color:var(--color-primary)}.message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm)}.message-success{background:var(--color-success-bg);color:var(--color-success)}.message-error{background:var(--color-danger-bg);color:var(--color-danger)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.list-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.list-item>form{flex:1 1 100%}.list-item-body{display:flex;flex:1 1 12rem;flex-direction:column;min-width:0}.list-item-link{display:flex;flex:1 1 12rem;align-items:center;gap:var(--space-3);min-width:0;margin:calc(-1 * var(--space-3)) 0 calc(-1 * var(--space-3)) calc(-1 * var(--space-4));padding:var(--space-3) 0 var(--space-3) var(--space-4);color:inherit}.list-item-link:hover{text-decoration:none}.list-item-link:hover .list-item-name{color:var(--color-primary)}.list-item-link>app-icon:last-child{margin-left:auto;color:var(--color-text-muted)}.list-item-name{font-weight:600;overflow-wrap:anywhere}.list-item-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.list-item-actions{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center}.list-item-actions button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.empty-state{color:var(--color-text-muted);font-style:italic}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);color:var(--color-text-muted);font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px}.badge-danger{color:var(--color-danger);background:var(--color-danger-bg);border-color:transparent}.badge-success{color:var(--color-success);background:var(--color-success-bg);border-color:transparent}.empty-panel{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.empty-panel p{margin:0;color:var(--color-text-muted)}.auth-page{display:flex;flex-direction:column;justify-content:center;width:100%;max-width:26rem;min-height:100dvh;margin:0 auto;padding:var(--space-5) var(--space-4)}.auth-brand{margin-bottom:var(--space-4);font-weight:700;text-align:center}.auth-page form>button{align-self:stretch}.auth-switch{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:var(--space-2)}.slot{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:var(--color-bg);color:var(--color-primary);border:1px solid var(--color-border)}.slot:hover{background:var(--color-bg);border-color:var(--color-primary)}.slot.selected{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.site{display:flex;flex-direction:column;min-height:100%}.site-main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-6)}.site-footer{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.step-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.step-summary-value{display:flex;flex-direction:column;min-width:0}.step-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.choice-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.choice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);font-weight:500;text-align:left;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border)}.choice:hover{color:var(--color-text);background:var(--color-bg);border-color:var(--color-primary)}.choice-meta{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);white-space:nowrap}.booking-facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4)}.booking-facts dt{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.booking-facts dd{margin:0}.first-letter-upper:first-letter{text-transform:uppercase}
