@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap";html{--lumo-font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lumo-border-radius-m: 10px;--lumo-border-radius-s: 6px;--lumo-border-radius-l: 14px;--app-primary: #2563EB;--app-primary-hover: #1D4ED8;--app-primary-active: #1E40AF;--app-primary-light: rgba(37, 99, 235, .06);--app-primary-medium: rgba(37, 99, 235, .12);--app-primary-rgb: 37, 99, 235;--app-accent: #0284C7;--app-accent-light: rgba(2, 132, 199, .08);--app-success: #16A34A;--app-success-light: rgba(22, 163, 74, .07);--app-warning: #CA8A04;--app-warning-light: rgba(202, 138, 4, .07);--app-error: #DC2626;--app-error-light: rgba(220, 38, 38, .07);--app-info: #0284C7;--app-info-light: rgba(2, 132, 199, .07);--app-bg: #FFFFFF;--app-surface: #FFFFFF;--app-surface-elevated: #FFFFFF;--app-surface-variant: #F1F5F9;--app-border: #CBD5E1;--app-border-light: #E2E8F0;--app-text-primary: #0F172A;--app-text-secondary: #475569;--app-text-tertiary: #94A3B8;--app-text-inverse: #FFFFFF;--app-shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--app-shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--app-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--app-shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .07), 0 4px 6px -4px rgba(15, 23, 42, .05);--app-shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .05);--lumo-primary-color: var(--app-primary);--lumo-primary-color-50pct: rgba(37, 99, 235, .5);--lumo-primary-color-10pct: rgba(37, 99, 235, .1);--lumo-success-color: var(--app-success);--lumo-error-color: var(--app-error);--lumo-body-text-color: var(--app-text-primary);--lumo-secondary-text-color: var(--app-text-secondary);--lumo-tertiary-text-color: var(--app-text-tertiary)}html[theme=dark]{--app-bg: #0F172A;--app-surface: #1E293B;--app-surface-elevated: #334155;--app-surface-variant: #1E293B;--app-border: #334155;--app-border-light: #1E293B;--app-text-primary: #F1F5F9;--app-text-secondary: #94A3B8;--app-text-tertiary: #64748B;--app-primary: #60A5FA;--app-primary-hover: #3B82F6;--app-primary-active: #2563EB;--app-primary-light: rgba(96, 165, 250, .08);--app-primary-medium: rgba(96, 165, 250, .15);--app-primary-rgb: 96, 165, 250;--app-accent: #38BDF8;--app-accent-light: rgba(56, 189, 248, .1);--app-success: #4ADE80;--app-success-light: rgba(74, 222, 128, .1);--app-warning: #FACC15;--app-warning-light: rgba(250, 204, 21, .1);--app-error: #F87171;--app-error-light: rgba(248, 113, 113, .1);--app-info: #38BDF8;--app-info-light: rgba(56, 189, 248, .1);--app-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--app-shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--app-shadow-md: 0 4px 6px rgba(0, 0, 0, .35);--app-shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--app-shadow-xl: 0 20px 25px rgba(0, 0, 0, .45);--lumo-primary-color: var(--app-primary)}html{overflow-x:hidden}body{background:var(--app-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}vaadin-app-layout{--vaadin-app-layout-navbar-background: var(--app-surface)}vaadin-app-layout::part(navbar){border-top:3px solid var(--app-primary);border-bottom:1px solid var(--app-border-light);box-shadow:var(--app-shadow-sm);z-index:10;height:67px;background:var(--app-surface)}html[theme=dark] vaadin-app-layout::part(navbar){background:var(--app-surface);border-bottom-color:var(--app-border);box-shadow:0 1px 3px #0000004d}.app-header{padding:0 clamp(16px,3vw,32px);gap:12px;height:64px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:36px;height:36px;background:var(--app-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-logo-letter{color:#fff;font-weight:800;font-size:1rem;letter-spacing:-.02em}.brand-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text-primary);line-height:1.2}.brand-subtitle{font-size:.625rem;font-weight:600;color:var(--app-text-tertiary);line-height:1.2;letter-spacing:.06em;text-transform:uppercase}.theme-toggle{color:var(--app-text-tertiary)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;flex-shrink:0}.status-badge.pending{background:var(--app-warning-light);color:var(--app-warning)}.status-badge.validated{background:var(--app-success-light);color:var(--app-success)}.status-badge.rejected{background:var(--app-error-light);color:var(--app-error)}.status-badge.cancelled{background:var(--app-border-light);color:var(--app-text-tertiary)}.page-view{padding:0!important;gap:0!important;align-items:stretch!important;overflow-x:hidden!important}.page-hero{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px clamp(24px,5vw,64px) 48px;background:var(--app-surface-variant);border-bottom:1px solid var(--app-border-light);animation:fadeInUp .4s cubic-bezier(.16,1,.3,1)}.page-hero--success{background:linear-gradient(180deg,var(--app-success-light) 0%,var(--app-surface-variant) 100%)}.page-hero--error{background:linear-gradient(180deg,var(--app-warning-light) 0%,var(--app-surface-variant) 100%)}.page-hero--full{flex:1;justify-content:center;border-bottom:none;background:var(--app-bg)}.hero-icon{width:52px;height:52px;margin-bottom:20px}.hero-icon--warning{color:var(--app-warning)}.hero-icon--success{color:var(--app-success)}.hero-icon--info{color:var(--app-primary)}.hero-title{margin:0 0 12px;font-size:clamp(1.625rem,3.5vw,2.25rem);font-weight:800;letter-spacing:-.025em;color:var(--app-text-primary);line-height:1.2}.hero-subtitle{margin:0;font-size:clamp(.875rem,1.8vw,1rem);color:var(--app-text-secondary);line-height:1.65;max-width:520px}.page-section{box-sizing:border-box;padding:40px clamp(24px,5vw,64px) 48px;animation:fadeIn .4s ease .1s both}.section-content{max-width:600px;margin:0 auto;background:var(--app-surface-variant);padding:28px;border-radius:12px;border:1px solid var(--app-border-light)}.section-title{margin:0 0 16px;font-size:1.125rem;font-weight:700;letter-spacing:-.015em;color:var(--app-text-primary)}.step-badge{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--app-primary);background:var(--app-primary-light);border:1px solid var(--app-primary-medium);padding:3px 10px;border-radius:6px;margin-bottom:10px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto}.step-card{display:flex;align-items:flex-start;gap:14px;padding:24px 20px;background:var(--app-surface);border:1px solid var(--app-border-light);border-radius:12px;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.step-card:nth-child(2){animation-delay:.08s}.step-card:nth-child(3){animation-delay:.16s}.step-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--app-primary);color:#fff;font-weight:700;font-size:.8125rem}.step-text{min-width:0}.step-title{display:block;font-weight:700;font-size:.875rem;color:var(--app-text-primary);margin-bottom:4px;line-height:1.3}.step-description{color:var(--app-text-secondary);font-size:.8125rem;line-height:1.5;margin:0}.date-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.date-btn{border-radius:8px!important;padding:10px 16px!important;font-size:.8125rem!important;font-weight:600;border:1.5px solid var(--app-border)!important;background:var(--app-surface)!important;color:var(--app-text-primary)!important;box-shadow:none!important;transition:all .15s ease;cursor:pointer;min-height:auto!important;white-space:nowrap;max-width:100%;text-transform:capitalize}.date-btn:hover{border-color:var(--app-primary)!important;background:var(--app-primary-light)!important;color:var(--app-primary)!important}.date-btn.selected{background:var(--app-primary)!important;border-color:var(--app-primary)!important;color:#fff!important;box-shadow:0 2px 8px -2px rgba(var(--app-primary-rgb),.4)!important}.slots-container{margin-top:32px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.slot-card{padding:14px 18px;border:1.5px solid var(--app-border);border-radius:10px;text-align:center;cursor:pointer;transition:all .15s ease;background:var(--app-surface);animation:fadeInUp .3s ease both}.slot-card:hover{border-color:var(--app-primary);background:var(--app-primary-light);box-shadow:var(--app-shadow-xs)}.slot-card.selected{border-color:var(--app-primary)!important;background:var(--app-primary-light)!important;box-shadow:0 0 0 3px rgba(var(--app-primary-rgb),.1)}.slot-time{font-weight:700;font-size:.875rem;color:var(--app-text-primary)}.slot-card.selected .slot-time{color:var(--app-primary)}.detail-row{padding:12px 0;border-bottom:1px solid var(--app-border-light)}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--app-text-secondary);font-weight:500;font-size:.875rem}.detail-value{font-weight:700;font-size:.875rem}.comment-field{margin-top:28px;max-width:480px}.book-btn{display:block!important;margin-top:24px;max-width:480px;width:100%}vaadin-dialog-overlay::part(overlay){border-radius:14px;box-shadow:var(--app-shadow-xl);border:1px solid var(--app-border);overflow:hidden}vaadin-dialog-overlay::part(content){padding:24px 28px}vaadin-button{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.8125rem;letter-spacing:0;border-radius:8px;transition:all .15s ease}vaadin-button[theme~=primary]{background:var(--app-primary)!important;color:#fff!important;border-radius:8px!important;border:none!important;box-shadow:0 1px 3px rgba(var(--app-primary-rgb),.3)!important;min-height:42px;padding:0 20px}vaadin-button[theme~=primary]:hover{background:var(--app-primary-hover)!important;box-shadow:0 4px 12px -2px rgba(var(--app-primary-rgb),.35)!important;transform:translateY(-1px)}vaadin-button[theme~=primary]:active{background:var(--app-primary-active)!important;transform:translateY(0);box-shadow:0 1px 3px rgba(var(--app-primary-rgb),.3)!important}vaadin-button[theme~=primary][disabled]{background:rgba(var(--app-primary-rgb),.3)!important;box-shadow:none!important}vaadin-button[theme~=primary]::part(label){font-family:Plus Jakarta Sans,sans-serif!important;font-weight:700!important;color:#fff!important}vaadin-button[theme~=tertiary]{background:var(--app-surface)!important;border:1px solid var(--app-border)!important;border-radius:8px!important;box-shadow:none!important;color:var(--app-text-primary)!important;min-height:42px;padding:0 18px}vaadin-button[theme~=tertiary]:hover{background:var(--app-surface-variant)!important;border-color:var(--app-text-tertiary)!important}vaadin-button[theme~=tertiary-inline]{background:transparent!important;border:none!important;box-shadow:none!important;min-height:34px;min-width:34px;padding:5px;border-radius:8px!important}vaadin-button[theme~=tertiary-inline]:hover{background:var(--app-primary-light)!important;border:none!important}vaadin-text-field,vaadin-email-field,vaadin-password-field,vaadin-text-area,vaadin-date-picker,vaadin-time-picker,vaadin-combo-box{--vaadin-input-field-border-radius: 8px}vaadin-text-field::part(input-field),vaadin-email-field::part(input-field),vaadin-password-field::part(input-field),vaadin-combo-box::part(input-field),vaadin-date-picker::part(input-field),vaadin-time-picker::part(input-field){border:1.5px solid var(--app-border);border-radius:8px;min-height:44px;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}vaadin-text-field[focused]::part(input-field),vaadin-email-field[focused]::part(input-field),vaadin-password-field[focused]::part(input-field),vaadin-combo-box[focused]::part(input-field),vaadin-date-picker[focused]::part(input-field),vaadin-time-picker[focused]::part(input-field){border-color:var(--app-primary);box-shadow:0 0 0 3px rgba(var(--app-primary-rgb),.1)}vaadin-text-field::part(label),vaadin-email-field::part(label),vaadin-password-field::part(label),vaadin-text-area::part(label),vaadin-date-picker::part(label),vaadin-time-picker::part(label),vaadin-combo-box::part(label){font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:.8125rem;color:var(--app-text-primary)}vaadin-notification-card{border-radius:10px;box-shadow:var(--app-shadow-lg);font-family:Plus Jakarta Sans,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--app-text-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--app-text-secondary)}@media(min-width:1200px){.page-hero{padding:64px 80px 56px}.page-section{padding:48px 80px 56px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:768px){.page-hero{padding:40px 20px 36px}.page-section{padding:32px 20px 36px}.section-content{padding:20px 16px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.comment-field,.book-btn{max-width:100%}.steps-grid{grid-template-columns:1fr;gap:12px}.step-card{padding:18px 16px}}@media(max-width:480px){.page-hero{padding:32px 16px 28px}.page-section{padding:24px 16px 28px}.section-content{padding:16px 14px}.slot-grid{grid-template-columns:1fr 1fr;gap:8px}.slot-card{padding:12px 10px}.date-btn{font-size:.75rem!important;padding:8px 10px!important}.hero-title{font-size:1.375rem}.steps-grid{gap:10px}.step-card{padding:16px 14px;gap:12px}.step-number{width:30px;height:30px;min-width:30px;font-size:.75rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@font-face{font-family:OpenDyslexic;src:url(./OpenDyslexic-Regular-lDhYFwX0.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OpenDyslexic;src:url(./OpenDyslexic-Bold---3zZrhu.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}.a11y-menu{position:relative}.a11y-trigger{color:var(--app-text-tertiary)!important;cursor:pointer}.a11y-trigger:hover{color:var(--app-primary)!important}.a11y-panel{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;box-shadow:var(--app-shadow-xl);z-index:9999;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:opacity .2s ease,transform .2s ease;overflow:hidden}.a11y-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.a11y-panel-header{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;border-bottom:1px solid var(--app-border-light);color:var(--app-primary)}.a11y-panel-title{font-size:.875rem;font-weight:700;color:var(--app-text-primary)}.a11y-section{padding:12px 16px;border-bottom:1px solid var(--app-border-light);overflow:hidden}.a11y-section-label{display:block;font-size:.625rem;font-weight:700;color:var(--app-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.a11y-font-controls{display:flex;align-items:center;gap:0;background:var(--app-surface-variant);border:1px solid var(--app-border);border-radius:8px;overflow:hidden}.a11y-font-btn{all:unset;display:flex;align-items:center;justify-content:center;width:42px;height:38px;font-size:1.0625rem;font-weight:700;color:var(--app-text-primary);cursor:pointer;transition:background .12s ease;user-select:none;border:none!important;background:transparent!important;border-radius:0!important;min-width:42px!important;padding:0!important;box-shadow:none!important}.a11y-font-btn:hover{background:var(--app-primary-light)!important;color:var(--app-primary)}.a11y-font-value{flex:1;text-align:center;font-size:.8125rem;font-weight:700;color:var(--app-text-primary);border-left:1px solid var(--app-border);border-right:1px solid var(--app-border);line-height:38px}.a11y-toggle-grid{display:flex;flex-direction:column;gap:5px}.a11y-toggle-btn{all:unset;box-sizing:border-box!important;display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px!important;border-radius:8px!important;font-size:.8125rem!important;font-weight:600;color:var(--app-text-primary);cursor:pointer;transition:background .12s ease,color .12s ease;border:1px solid var(--app-border)!important;background:var(--app-surface-variant)!important;box-shadow:none!important;min-height:auto!important}.a11y-toggle-btn vaadin-icon,.a11y-toggle-btn iron-icon{width:15px;height:15px;color:var(--app-text-tertiary);flex-shrink:0}.a11y-toggle-btn:hover{background:var(--app-primary-light)!important;border-color:var(--app-primary-medium)!important}.a11y-toggle-btn.active{background:var(--app-primary)!important;color:#fff;border-color:var(--app-primary)!important}.a11y-toggle-btn.active vaadin-icon,.a11y-toggle-btn.active iron-icon{color:#fff}.a11y-reset-section{padding:10px 16px 12px}.a11y-reset-btn{all:unset;box-sizing:border-box!important;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 0!important;border-radius:8px!important;font-size:.8125rem!important;font-weight:600;color:var(--app-text-secondary);cursor:pointer;transition:background .12s ease;border:1px solid var(--app-border)!important;background:transparent!important;box-shadow:none!important;min-height:auto!important}.a11y-reset-btn:hover{background:var(--app-error-light)!important;color:var(--app-error);border-color:var(--app-error)!important}.a11y-reset-btn vaadin-icon,.a11y-reset-btn iron-icon{width:14px;height:14px}html.a11y-high-contrast{--app-bg: #ffffff !important;--app-surface: #ffffff !important;--app-text-primary: #000000 !important;--app-text-secondary: #1a1a1a !important;--app-text-tertiary: #333333 !important;--app-border: #000000 !important;--app-border-light: #555555 !important}html.a11y-high-contrast *,html.a11y-high-contrast .a11y-panel{border-color:#000!important}html.a11y-inverted{filter:invert(1) hue-rotate(180deg)}html.a11y-inverted img,html.a11y-inverted video{filter:invert(1) hue-rotate(180deg)}html.a11y-dyslexia,html.a11y-dyslexia *{font-family:OpenDyslexic,Comic Sans MS,cursive,sans-serif!important;letter-spacing:.05em!important;word-spacing:.12em!important}html.a11y-underline-links a,html.a11y-underline-links [role=link]{text-decoration:underline!important;text-underline-offset:3px}.a11y-reading-mask{position:fixed;top:0;left:0;width:100%;height:120px;pointer-events:none;z-index:99999;box-shadow:0 -2000px 0 2000px #0000008c,0 120px 0 2000px #0000008c;transition:top .05s linear}@media(max-width:480px){.a11y-panel{width:260px;right:-40px}}
