@charset "UTF-8";:root{--color-primary: #0A4D68;--color-primary-light: #088395;--color-primary-dark: #05283B;--color-secondary: #F97316;--color-secondary-light: #FB923C;--color-secondary-dark: #EA580C;--color-accent: #0EA5E9;--color-bg: #FFFFFF;--color-bg-alt: #F8FAFC;--color-bg-dark: #0F172A;--color-text: #1E293B;--color-text-light: #64748B;--color-text-muted: #94A3B8;--color-text-on-dark: #F1F5F9;--color-text-on-primary: #FFFFFF;--color-success: #10B981;--color-success-light: #D1FAE5;--color-success-dark: #065F46;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-warning-dark: #92400E;--color-error: #DC2626;--color-error-light: #FEE2E2;--color-error-dark: #991B1B;--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-info-dark: #1E40AF;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-dark: #CBD5E1;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--max-width-sm: 400px;--max-width-md: 600px;--max-width-lg: 800px;--max-width-xl: 1000px;--max-width-2xl: 1200px;--nav-height: 64px;--z-base: 1;--z-dropdown: 10;--z-sticky: 50;--z-fixed: 100;--z-modal-backdrop: 200;--z-modal: 300;--z-popover: 400;--z-tooltip: 500}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-muted{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-white{background-color:var(--color-bg)}.bg-alt{background-color:var(--color-bg-alt)}.bg-dark{background-color:var(--color-bg-dark)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:focus{outline:none;box-shadow:0 0 0 3px #0a4d684d}.btn-primary{background-color:var(--color-secondary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-secondary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border-dark)}.btn-outline:hover:not(:disabled){background-color:var(--color-bg-alt);border-color:var(--color-text-light)}.btn-white{background-color:#fff;color:var(--color-primary)}.btn-white:hover:not(:disabled){background-color:var(--color-bg-alt);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.btn-full{width:100%}.btn svg,.btn .icon{width:1.25em;height:1.25em}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-hover{transition:transform var(--transition-slow),box-shadow var(--transition-slow)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-light);margin-top:var(--space-1)}.card-body{color:var(--color-text)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card-alt{background-color:var(--color-bg-alt)}.card-featured{border-color:var(--color-secondary);border-width:2px}.card-success{border-color:var(--color-success);background-color:var(--color-success-light)}.card-warning{border-color:var(--color-warning);background-color:var(--color-warning-light)}.card-error{border-color:var(--color-error);background-color:var(--color-error-light)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-2)}.form-label-required:after{content:" *";color:var(--color-error)}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:48px}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0a4d6826}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{background-color:var(--color-bg-alt);cursor:not-allowed;opacity:.7}.form-input-error{border-color:var(--color-error)}.form-input-error:focus{box-shadow:0 0 0 3px #dc262626}textarea.form-input{min-height:100px;resize:vertical}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748B'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:1.25rem;padding-right:var(--space-10)}.form-help{font-size:var(--text-xs);color:var(--color-text-light);margin-top:var(--space-1)}.form-error-text{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-check{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{width:1.25rem;height:1.25rem;margin-top:.125rem;accent-color:var(--color-primary);cursor:pointer}.form-check-label{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-normal)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background-color:var(--color-primary);color:#fff}.badge-secondary{background-color:var(--color-secondary);color:#fff}.badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.badge-info{background-color:var(--color-info-light);color:var(--color-info-dark)}.badge-neutral{background-color:var(--color-bg-alt);color:var(--color-text-light)}.alert{padding:var(--space-4);border-radius:var(--radius-md);border-left:4px solid;display:flex;align-items:flex-start;gap:var(--space-3)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.alert-content{flex:1}.alert-title{font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.spinner{width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:3rem;height:3rem;border-width:4px}.divider{height:1px;background-color:var(--color-border);margin:var(--space-6) 0}.divider-vertical{width:1px;height:100%;background-color:var(--color-border)}.link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.link:hover{color:var(--color-primary-light);text-decoration:underline}.link-muted{color:var(--color-text-light)}.link-muted:hover{color:var(--color-text)}.icon{display:inline-flex;align-items:center;justify-content:center}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.5rem;height:1.5rem}.icon-lg{width:2rem;height:2rem}.icon-xl{width:3rem;height:3rem}.icon-primary{color:var(--color-primary)}.icon-secondary{color:var(--color-secondary)}.icon-success{color:var(--color-success)}.icon-warning{color:var(--color-warning)}.icon-error{color:var(--color-error)}.icon-muted{color:var(--color-text-light)}.icon-circle{border-radius:var(--radius-full);padding:var(--space-3)}.icon-circle-primary{background-color:#0a4d681a;color:var(--color-primary)}.icon-circle-success{background-color:var(--color-success-light);color:var(--color-success)}.icon-circle-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.icon-circle-error{background-color:var(--color-error-light);color:var(--color-error)}.container{width:100%;max-width:var(--max-width-2xl);margin:0 auto;padding:0 var(--space-6)}.container-sm{max-width:var(--max-width-sm)}.container-md{max-width:var(--max-width-md)}.container-lg{max-width:var(--max-width-lg)}.container-xl{max-width:var(--max-width-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:0}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.w-auto{width:auto}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.container{padding:0 var(--space-4)}.hide-mobile{display:none!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media(min-width:769px){.hide-desktop{display:none!important}}.header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-fixed);box-shadow:var(--shadow-sm)}.header-container{max-width:var(--max-width-2xl);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6)}.header-logo{font-size:var(--text-2xl);font-weight:var(--font-bold);text-decoration:none;display:flex;gap:0}.logo-sailor{color:var(--color-primary)}.logo-skills{color:var(--color-secondary)}.header-logo:hover .logo-sailor{color:var(--color-primary-light)}.header-nav{display:none;gap:var(--space-8);align-items:center}@media(min-width:768px){.header-nav{display:flex}}.header-nav-link{color:var(--color-text);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-base);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast)}.header-nav-link:hover{color:var(--color-primary);background:#0a4d680d}.header-nav-link.active{color:var(--color-primary);font-weight:var(--font-semibold);background:#0a4d6814}.header-mobile-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--color-text);border-radius:var(--radius-md);transition:background var(--transition-fast)}.header-mobile-toggle:hover{background:var(--color-bg-alt)}@media(min-width:768px){.header-mobile-toggle{display:none}}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:var(--color-bg);z-index:var(--z-modal);transform:translate(100%);transition:transform var(--transition-slow);display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000026}.mobile-menu-overlay.open .mobile-menu{transform:translate(0)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.mobile-menu-logo{font-size:var(--text-xl);font-weight:var(--font-bold);text-decoration:none;display:flex}.mobile-menu-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--color-text);border-radius:var(--radius-md);transition:background var(--transition-fast)}.mobile-menu-close:hover{background:var(--color-bg-alt)}.mobile-menu-nav{flex:1;padding:var(--space-4) 0;display:flex;flex-direction:column}.mobile-menu-link{display:block;padding:var(--space-4) var(--space-6);color:var(--color-text);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-lg);transition:background var(--transition-fast),color var(--transition-fast)}.mobile-menu-link:hover{background:var(--color-bg-alt);color:var(--color-primary)}.mobile-menu-link.active{color:var(--color-primary);background:#0a4d6814;font-weight:var(--font-semibold)}@media(min-width:768px){.mobile-menu-overlay{display:none}}@media(max-width:480px){.header-container{padding:var(--space-3) var(--space-4)}.header-logo{font-size:var(--text-xl)}}.footer{background:var(--color-bg-dark);padding:var(--space-6) 0;margin-top:auto}.footer-container{max-width:var(--max-width-2xl);margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.footer-logo{font-size:var(--text-xl);font-weight:var(--font-bold);text-decoration:none;display:flex}.footer-logo-sailor{color:var(--color-text-on-dark)}.footer-logo-skills{color:var(--color-secondary)}.footer-logo:hover .footer-logo-sailor{color:#fff}.footer-links{display:flex;align-items:center;gap:var(--space-4)}.footer-link{color:var(--color-text-light);text-decoration:none;font-size:var(--text-sm);transition:color var(--transition-fast)}.footer-link:hover{color:#fff}.footer-separator{color:var(--color-text-muted)}.footer-copyright{color:var(--color-text-light);font-size:var(--text-sm);margin:0}@media(max-width:768px){.footer-container{flex-direction:column;text-align:center;gap:var(--space-4);padding:0 var(--space-4)}.footer-logo{font-size:var(--text-lg)}}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{border-radius:.3rem;background-color:#2a87d0;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--in-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__year-text--selected:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--in-range:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:transparent}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.page-header{background:var(--color-primary);color:#fff;padding:var(--space-10) 0}.page-header-container{max-width:var(--max-width-2xl);margin:0 auto;padding:0 var(--space-6);text-align:center}.page-header-title{font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0;color:#fff;line-height:var(--leading-tight)}.page-header-subtitle{font-size:var(--text-lg);font-weight:var(--font-normal);margin:0;opacity:.9;line-height:var(--leading-normal)}@media(max-width:768px){.page-header{padding:var(--space-6) 0}.page-header-container{padding:0 var(--space-4)}.page-header-title{font-size:var(--text-2xl)}.page-header-subtitle{font-size:var(--text-base)}}@media(max-width:480px){.page-header-title{font-size:var(--text-xl)}.page-header-subtitle{font-size:var(--text-sm)}}.service-card:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0a4d6833}.service-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.service-card-icon{width:48px;height:48px;background:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.service-card-duration{background:var(--color-primary);color:#fff;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm)}.service-card-title{font-size:var(--text-xl);color:var(--color-text);margin:0 0 var(--space-1) 0;font-weight:var(--font-bold);line-height:var(--leading-tight)}.service-card-tagline{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0 0 var(--space-3) 0}.service-card-description{color:var(--color-text-light);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 var(--space-4) 0}.service-card-footer{margin-top:auto}.service-card-price{font-size:var(--text-2xl);color:var(--color-primary);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.service-card-participants{color:var(--color-text-light);font-size:var(--text-sm);margin:0 0 var(--space-2) 0}.service-card-location{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);margin-top:var(--space-2)}.service-card-location-remote{background:var(--color-info-light);color:var(--color-info-dark);border:1px solid var(--color-info)}.service-card-location-in_person{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.service-card-location-hybrid{background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}@media(max-width:768px){.service-card{padding:var(--space-5)}.service-card-icon{width:40px;height:40px}.service-card-icon i{width:20px!important;height:20px!important}.service-card-title{font-size:var(--text-lg)}.service-card-price{font-size:var(--text-xl)}}@media(max-width:480px){.service-card{padding:var(--space-4)}.service-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.service-card-title{font-size:var(--text-base)}.service-card-duration{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}}.booking-container{max-width:var(--max-width-xl);margin:0 auto;padding:var(--space-8);font-family:var(--font-family)}.booking-header{text-align:center;margin-bottom:var(--space-12)}.booking-header h1{font-size:var(--text-4xl);color:var(--color-text);margin-bottom:var(--space-2);font-weight:var(--font-bold)}.subtitle{color:var(--color-text-light);font-size:var(--text-lg)}.service-selection{margin-bottom:var(--space-12)}.service-selection h2{color:var(--color-text);font-size:var(--text-2xl);margin-bottom:var(--space-6);font-weight:var(--font-bold)}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.service-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all var(--transition-slow);position:relative;box-shadow:var(--shadow-sm)}.service-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-card.selected{border-color:var(--color-secondary);background:var(--color-bg-alt);box-shadow:0 0 0 2px var(--color-secondary)}.service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.service-card h3{font-size:var(--text-xl);color:var(--color-text);margin:0;font-weight:var(--font-bold)}.service-duration{background:var(--color-primary);color:var(--color-text-on-primary);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm)}.service-description{color:var(--color-text-light);font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.service-price{font-size:var(--text-2xl);color:var(--color-primary);font-weight:var(--font-bold);margin-top:var(--space-4)}.service-participants{color:var(--color-text-light);font-size:var(--text-sm);margin-top:var(--space-2)}.service-location{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-2);border-radius:var(--radius-sm)}.service-location svg{width:16px;height:16px;flex-shrink:0}.service-location-remote{background:var(--color-info-light);color:var(--color-info-dark);border:1px solid var(--color-info)}.service-location-in_person{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.service-location-hybrid{background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.datetime-selection{margin-bottom:var(--space-12)}.datetime-selection h2{color:var(--color-text);font-size:var(--text-2xl);margin-bottom:var(--space-6);font-weight:var(--font-bold)}.datetime-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8)}.date-picker-container label,.time-slots-container label{display:block;color:var(--color-text);font-weight:var(--font-medium);margin-bottom:var(--space-3);font-size:var(--text-lg)}.date-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-family)}.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0a4d681a}.react-datepicker-wrapper{width:100%}.react-datepicker__day--selected{background-color:var(--color-primary)!important}.react-datepicker__day--disabled{color:var(--color-text-muted)!important;cursor:not-allowed!important}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.time-slot{padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);text-align:center;color:var(--color-text);font-family:var(--font-family)}.time-slot:hover:not(.unavailable){border-color:var(--color-primary);background:var(--color-bg-alt)}.time-slot.selected{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.time-slot.unavailable{background:var(--color-bg-alt);color:var(--color-text-muted);cursor:not-allowed;border-color:var(--color-border)}.no-slots{color:var(--color-text-light);font-style:italic;padding:var(--space-4);text-align:center;grid-column:1 / -1}.contact-form{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.contact-form h2{color:var(--color-text);font-size:var(--text-2xl);margin-bottom:var(--space-6);font-weight:var(--font-bold)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{color:var(--color-text);font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-family)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0a4d681a}.booking-summary{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6)}.booking-summary h3{color:var(--color-text);font-size:var(--text-xl);margin-bottom:var(--space-4);font-weight:var(--font-bold)}.summary-details{display:flex;flex-direction:column;gap:var(--space-3)}.summary-row{display:flex;justify-content:space-between;color:var(--color-text-light);font-size:var(--text-sm)}.summary-row.total{border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text)}.submit-btn{width:100%;padding:var(--space-4) var(--space-8);background:var(--color-secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.submit-btn:hover:not(:disabled){background:var(--color-secondary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-btn:disabled{background:var(--color-border);color:var(--color-text-light);cursor:not-allowed}.success-message{text-align:center;padding:var(--space-12);background:var(--color-bg);box-shadow:var(--shadow-sm);border:1px solid var(--color-success);border-radius:var(--radius-lg)}.success-message h2{color:var(--color-success);font-size:var(--text-3xl);margin-bottom:var(--space-4)}.success-message p{color:var(--color-text-light);font-size:var(--text-lg);margin-bottom:var(--space-8)}.error-message{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-md)}@media(max-width:768px){.booking-container{padding:var(--space-4)}.booking-header{margin-bottom:var(--space-8)}.booking-header h1{font-size:var(--text-2xl)}.service-selection h2,.datetime-selection h2,.contact-form h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.service-grid{grid-template-columns:1fr;gap:var(--space-4)}.service-card{padding:var(--space-5);min-height:44px}.datetime-grid{grid-template-columns:1fr;gap:var(--space-6)}.time-slots{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.time-slot{padding:var(--space-4) var(--space-2);min-height:48px;font-size:var(--text-sm)}.date-input{font-size:16px;min-height:48px;padding:var(--space-3)}.form-grid{grid-template-columns:1fr;gap:var(--space-4)}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:48px;padding:var(--space-3)}.contact-form{padding:var(--space-6);border-radius:0;margin:0 calc(-1 * var(--space-4));border-left:none;border-right:none}.booking-summary{padding:var(--space-5);margin-bottom:var(--space-5)}.submit-btn{padding:var(--space-4);min-height:52px;font-size:var(--text-base)}}@media(max-width:480px){.booking-container{padding:var(--space-3)}.booking-header h1{font-size:var(--text-xl)}.subtitle{font-size:var(--text-sm)}.service-card{padding:var(--space-4)}.service-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.service-card h3{font-size:var(--text-lg)}.service-duration{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.service-price{font-size:var(--text-xl);margin-top:var(--space-3)}.time-slots{grid-template-columns:repeat(2,1fr)}.time-slot{font-size:var(--text-xs);padding:var(--space-3) var(--space-2)}.summary-row{font-size:var(--text-sm);flex-wrap:wrap}.summary-row.total{font-size:var(--text-base)}}@supports (padding: max(0px)){.booking-container{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.success-container{max-width:var(--max-width-md);margin:0 auto;padding:var(--space-8);min-height:60vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-family)}.success-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-10);width:100%;box-shadow:var(--shadow-md)}.success-header{text-align:center;margin-bottom:var(--space-8)}.success-icon{width:72px;height:72px;background:var(--color-success);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6)}.success-icon svg{width:36px;height:36px;color:#fff}.success-header h1{font-size:var(--text-3xl);color:var(--color-text);margin:0 0 var(--space-3);font-weight:var(--font-bold)}.success-subtitle{color:var(--color-text-light);font-size:var(--text-base);margin:0}.success-subtitle strong{color:var(--color-text)}.confirmation-badge{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;margin-bottom:var(--space-8)}.badge-label{display:block;font-size:var(--text-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.badge-number{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary);letter-spacing:2px;font-family:Courier New,monospace}.booking-details{margin-bottom:var(--space-8)}.booking-details h2{font-size:var(--text-xl);color:var(--color-text);margin:0 0 var(--space-5);font-weight:var(--font-bold);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.details-grid{display:flex;flex-direction:column;gap:var(--space-4)}.detail-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3);background:var(--color-bg-alt);border-radius:var(--radius-sm)}.detail-item.highlight{background:var(--color-bg-alt);border:1px solid var(--color-border)}.detail-icon{width:40px;height:40px;background:var(--color-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-icon svg{width:20px;height:20px;color:#fff}.detail-content{flex:1;min-width:0}.detail-label{display:block;font-size:var(--text-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.detail-value{display:block;font-size:var(--text-base);color:var(--color-text);font-weight:var(--font-medium)}.detail-value.price{font-size:var(--text-xl);color:var(--color-primary);font-weight:var(--font-bold)}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.success-card .btn-primary,.success-card .btn-secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-family);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:var(--radius-md)}.success-card .btn-primary svg,.success-card .btn-secondary svg{width:18px;height:18px}.success-card .btn-primary{background:var(--color-secondary);color:#fff}.success-card .btn-primary:hover{background:var(--color-secondary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.success-card .btn-secondary{background:var(--color-bg);color:var(--color-primary);border:2px solid var(--color-primary)}.success-card .btn-secondary:hover{background:var(--color-primary);color:#fff}.info-box{display:flex;gap:var(--space-4);background:var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-4);margin-bottom:var(--space-6)}.info-icon{flex-shrink:0}.info-icon svg{width:24px;height:24px;color:var(--color-warning)}.info-content strong{display:block;color:var(--color-text);margin-bottom:var(--space-1)}.info-content p{color:var(--color-text-light);font-size:var(--text-sm);margin:0;line-height:var(--leading-normal)}.cancel-section{text-align:center;margin-bottom:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.cancel-link{color:var(--color-text-light);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.cancel-link:hover{color:var(--color-error);text-decoration:underline}.book-another{text-align:center}.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-8);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-family);color:var(--color-primary);background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.btn-outline:hover{border-color:var(--color-primary);background:var(--color-bg-alt)}.loading-state{text-align:center;padding:var(--space-12)}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-6)}.loading-state p{color:var(--color-text-light);font-size:var(--text-base)}.error-state{text-align:center;padding:var(--space-12);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.error-icon{width:64px;height:64px;background:var(--color-error-light);color:var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);font-size:var(--text-3xl);font-weight:var(--font-bold);border-radius:var(--radius-md)}.error-state h2{color:var(--color-text);margin:0 0 var(--space-2)}.error-state p{color:var(--color-text-light);margin:0 0 var(--space-6)}@media(max-width:600px){.success-container{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-6);min-height:auto}.success-card{padding:var(--space-6)}.success-icon{width:60px;height:60px}.success-icon svg{width:30px;height:30px}.success-header{margin-bottom:var(--space-6)}.success-header h1{font-size:var(--text-xl);margin-bottom:var(--space-2)}.success-subtitle{font-size:var(--text-sm)}.confirmation-badge{padding:var(--space-4);margin-bottom:var(--space-6)}.badge-label{font-size:var(--text-xs)}.badge-number{font-size:var(--text-xl);letter-spacing:1.5px}.booking-details{margin-bottom:var(--space-6)}.booking-details h2{font-size:var(--text-lg);margin-bottom:var(--space-4);padding-bottom:var(--space-2)}.details-grid{gap:var(--space-3)}.detail-item{padding:var(--space-2);gap:var(--space-3)}.detail-icon{width:36px;height:36px}.detail-icon svg{width:18px;height:18px}.detail-label{font-size:var(--text-xs)}.detail-value{font-size:var(--text-sm)}.detail-value.price{font-size:var(--text-lg)}.action-buttons{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.success-card .btn-primary,.success-card .btn-secondary{min-height:48px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.info-box{padding:var(--space-3);margin-bottom:var(--space-5);gap:var(--space-3)}.info-icon svg{width:20px;height:20px}.info-content strong{font-size:var(--text-sm)}.info-content p{font-size:var(--text-xs)}.cancel-section{padding-top:var(--space-3);margin-bottom:var(--space-5)}.cancel-link{font-size:var(--text-xs);min-height:44px;display:inline-flex;align-items:center}.btn-outline{min-height:44px;padding:var(--space-2) var(--space-6);font-size:var(--text-sm)}}@media(max-width:400px){.success-card{padding:var(--space-5)}.success-header h1{font-size:var(--text-lg)}.badge-number{font-size:var(--text-xl)}.detail-item{padding:var(--space-2)}}@supports (padding: max(0px)){.success-container{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.reschedule-container{max-width:700px;margin:0 auto;padding:var(--space-8);min-height:60vh;font-family:var(--font-family)}.reschedule-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm)}.reschedule-card h1{font-size:var(--text-2xl);color:var(--color-text);margin:0 0 var(--space-8);font-weight:var(--font-medium);text-align:center}.current-booking{background:var(--color-bg-alt);padding:var(--space-5);margin-bottom:var(--space-8);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm)}.current-booking h2{font-size:var(--text-sm);color:var(--color-text-light);margin:0 0 var(--space-4);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.booking-info{display:flex;flex-direction:column;gap:var(--space-2)}.info-row{display:flex;justify-content:space-between;align-items:center}.info-row .label{color:var(--color-text-light);font-size:var(--text-sm)}.info-row .value{color:var(--color-text);font-weight:var(--font-medium)}.new-datetime{margin-bottom:var(--space-6)}.new-datetime h2{font-size:var(--text-xl);color:var(--color-text);margin:0 0 var(--space-6);font-weight:var(--font-medium)}.datetime-grid{display:grid;gap:var(--space-6)}.date-picker-section label,.time-slots-section label{display:block;color:var(--color-text);font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.reschedule-container .date-input{width:100%;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast);font-family:var(--font-family)}.reschedule-container .date-input:focus{outline:none;border-color:var(--color-primary)}.reschedule-container .react-datepicker-wrapper{width:100%}.reschedule-container .time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2)}.reschedule-container .time-slot{padding:var(--space-3) var(--space-2);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);text-align:center;color:var(--color-text);font-family:var(--font-family)}.reschedule-container .time-slot:hover:not(.unavailable){border-color:var(--color-primary);background:var(--color-bg-alt)}.reschedule-container .time-slot.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.reschedule-container .time-slot.unavailable{background:var(--color-bg-alt);color:var(--color-text-muted);cursor:not-allowed;border-color:var(--color-border)}.reschedule-container .no-slots{color:var(--color-text-light);font-style:italic;padding:var(--space-4);text-align:center;grid-column:1 / -1;background:var(--color-bg-alt);border-radius:var(--radius-md)}.reason-section{margin-top:var(--space-6)}.reason-section label{display:block;color:var(--color-text);font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.reason-section textarea{width:100%;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical;transition:border-color var(--transition-fast)}.reason-section textarea:focus{outline:none;border-color:var(--color-primary)}.reschedule-container .error-message{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-md)}.reschedule-container .action-buttons{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.reschedule-container .btn-primary{flex:1;padding:var(--space-3) var(--space-6);background:var(--color-secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;text-align:center;font-family:var(--font-family)}.reschedule-container .btn-primary:hover:not(:disabled){background:var(--color-secondary-light);transform:translateY(-2px)}.reschedule-container .btn-primary:disabled{background:var(--color-border);cursor:not-allowed}.reschedule-container .btn-outline{flex:1;padding:var(--space-3) var(--space-6);background:transparent;color:var(--color-primary);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;text-align:center;font-family:var(--font-family)}.reschedule-container .btn-outline:hover{border-color:var(--color-primary);background:var(--color-bg-alt)}.policy-note{background:var(--color-warning-light);border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-light);line-height:var(--leading-normal)}.policy-note strong{color:var(--color-text)}.reschedule-container .loading-state{text-align:center;padding:var(--space-16) var(--space-8)}.reschedule-container .spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-6)}.reschedule-container .loading-state p{color:var(--color-text-light);font-size:var(--text-base)}.error-card{text-align:center;padding:var(--space-12) var(--space-8);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.error-card .error-icon{width:64px;height:64px;background:var(--color-error-light);color:var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);font-size:var(--text-3xl);font-weight:var(--font-semibold);border-radius:var(--radius-md)}.error-card h2{color:var(--color-text);margin:0 0 var(--space-2)}.error-card p{color:var(--color-text-light);margin:0 0 var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}.reschedule-container .success-card{text-align:center;padding:var(--space-10);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.reschedule-container .success-icon{width:72px;height:72px;background:var(--color-success);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);border-radius:var(--radius-md)}.reschedule-container .success-icon svg{width:36px;height:36px;color:#fff}.reschedule-container .success-card h1{font-size:var(--text-2xl);color:var(--color-text);margin:0 0 var(--space-2)}.reschedule-container .success-card>p{color:var(--color-text-light);margin:0 0 var(--space-6)}.new-booking-details{background:linear-gradient(135deg,var(--color-bg-alt) 0%,var(--color-info-light) 100%);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6);text-align:left}.new-booking-details .detail-row{display:flex;justify-content:space-between;padding:var(--space-2) 0}.new-booking-details .detail-row:not(:last-child){border-bottom:1px solid var(--color-border)}.new-booking-details .detail-row .label{color:var(--color-text-light)}.new-booking-details .detail-row .value{color:var(--color-primary);font-weight:var(--font-semibold)}.confirmation-email{color:var(--color-text-light);font-size:var(--text-sm);margin-bottom:var(--space-6)}.confirmation-email strong{color:var(--color-text)}@media(max-width:600px){.reschedule-container{padding:var(--space-4);min-height:auto}.reschedule-card{padding:var(--space-5)}.reschedule-card h1{font-size:var(--text-xl);margin-bottom:var(--space-6)}.current-booking{padding:var(--space-4);margin-bottom:var(--space-6)}.current-booking h2{font-size:var(--text-xs);margin-bottom:var(--space-3)}.new-datetime h2{font-size:var(--text-lg);margin-bottom:var(--space-4)}.reschedule-container .date-input{font-size:16px;min-height:48px;padding:var(--space-3)}.reschedule-container .time-slots{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.reschedule-container .time-slot{min-height:44px;padding:var(--space-3) var(--space-1);font-size:var(--text-xs);display:flex;align-items:center;justify-content:center}.reason-section textarea{font-size:16px;min-height:80px}.reschedule-container .action-buttons{flex-direction:column;gap:var(--space-3)}.reschedule-container .btn-primary,.reschedule-container .btn-outline{min-height:48px;font-size:var(--text-base)}.info-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.policy-note{font-size:var(--text-xs);padding:var(--space-3)}.reschedule-container .success-card,.error-card{padding:var(--space-8) var(--space-6)}.reschedule-container .success-card h1{font-size:var(--text-xl)}.new-booking-details{padding:var(--space-4)}.new-booking-details .detail-row{font-size:var(--text-sm)}}@media(max-width:400px){.reschedule-container .time-slots{grid-template-columns:repeat(2,1fr)}.reschedule-container .time-slot{font-size:var(--text-sm)}}@supports (padding: max(0px)){.reschedule-container{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.cancel-container{max-width:550px;margin:0 auto;padding:var(--space-8);min-height:60vh;font-family:var(--font-family)}.cancel-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm)}.cancel-header{text-align:center;margin-bottom:var(--space-8)}.warning-icon{width:64px;height:64px;background:var(--color-warning-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.warning-icon svg{width:32px;height:32px;color:var(--color-warning)}.cancel-header h1{font-size:var(--text-xl);color:var(--color-text);margin:0;font-weight:var(--font-medium)}.booking-to-cancel{background:var(--color-bg-alt);padding:var(--space-5);margin-bottom:var(--space-6);border-radius:var(--radius-md)}.cancel-container .booking-info{display:flex;flex-direction:column;gap:var(--space-3)}.cancel-container .info-row{display:flex;justify-content:space-between;align-items:center}.cancel-container .info-row .label{color:var(--color-text-light);font-size:var(--text-sm)}.cancel-container .info-row .value{color:var(--color-text);font-weight:var(--font-medium)}.cancel-warning{text-align:center;color:var(--color-text-light);margin-bottom:var(--space-6);line-height:var(--leading-normal)}.cancel-container .action-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.btn-danger{width:100%;padding:var(--space-3) var(--space-6);background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);transform:translateY(-2px)}.btn-danger:disabled{background:var(--color-border);cursor:not-allowed}.cancel-container .btn-secondary{width:100%;padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;text-align:center;font-family:var(--font-family)}.cancel-container .btn-secondary:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.cancel-container .btn-outline{width:100%;padding:var(--space-3) var(--space-6);background:transparent;color:var(--color-primary);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;text-align:center;font-family:var(--font-family)}.cancel-container .btn-outline:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-alt)}.cancel-container .btn-outline:disabled{color:var(--color-text-muted);cursor:not-allowed}.cancel-container .reason-section{margin-bottom:var(--space-4)}.cancel-container .reason-section label{display:block;color:var(--color-text);font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.cancel-container .reason-section textarea{width:100%;padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical;transition:border-color var(--transition-fast)}.cancel-container .reason-section textarea:focus{outline:none;border-color:var(--color-primary)}.cancel-container .error-message{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-md)}.alternative-note{background:var(--color-bg-alt);padding:var(--space-4);text-align:center;font-size:var(--text-sm);border-radius:var(--radius-md)}.alternative-note strong{display:block;color:var(--color-text);margin-bottom:var(--space-1)}.alternative-note p{color:var(--color-text-light);margin:0}.alternative-note a{color:var(--color-primary);font-weight:var(--font-medium);text-decoration:none}.alternative-note a:hover{text-decoration:underline}.cancel-container .loading-state{text-align:center;padding:var(--space-16) var(--space-8)}.cancel-container .spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-6)}.cancel-container .loading-state p{color:var(--color-text-light);font-size:var(--text-base)}.cancel-container .error-card{text-align:center;padding:var(--space-12) var(--space-8);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.cancel-container .error-icon{width:64px;height:64px;background:var(--color-error-light);color:var(--color-error);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);font-size:var(--text-3xl);font-weight:var(--font-semibold);border-radius:var(--radius-md)}.cancel-container .error-card h2{color:var(--color-text);margin:0 0 var(--space-2)}.cancel-container .error-card p{color:var(--color-text-light);margin:0 0 var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}.cancel-container .btn-primary{display:inline-block;padding:var(--space-3) var(--space-8);background:var(--color-secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:var(--font-family)}.cancel-container .btn-primary:hover{background:var(--color-secondary-light);transform:translateY(-2px)}.cancel-container .success-card{text-align:center;padding:var(--space-10);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.cancel-container .success-icon{width:72px;height:72px;background:var(--color-success);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6)}.cancel-container .success-icon svg{width:36px;height:36px;color:#fff}.cancel-container .success-card h1{font-size:var(--text-2xl);color:var(--color-text);margin:0 0 var(--space-2)}.cancel-container .success-card>p{color:var(--color-text-light);margin:0 0 var(--space-4)}.cancel-container .confirmation-email{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)!important}@media(max-width:600px){.cancel-container{padding:var(--space-4);min-height:auto}.cancel-card{padding:var(--space-5)}.cancel-header{margin-bottom:var(--space-6)}.warning-icon{width:56px;height:56px}.warning-icon svg{width:28px;height:28px}.cancel-header h1{font-size:var(--text-lg)}.booking-to-cancel{padding:var(--space-4);margin-bottom:var(--space-5)}.cancel-container .booking-info{gap:var(--space-2)}.cancel-container .info-row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.cancel-container .info-row .label{font-size:var(--text-xs)}.cancel-container .info-row .value{font-size:var(--text-sm)}.cancel-warning{font-size:var(--text-sm);margin-bottom:var(--space-5)}.cancel-container .action-buttons{gap:var(--space-2)}.btn-danger,.cancel-container .btn-secondary,.cancel-container .btn-outline,.cancel-container .btn-primary{min-height:48px;font-size:var(--text-sm);padding:var(--space-3) var(--space-5)}.cancel-container .reason-section textarea{font-size:16px;min-height:80px}.alternative-note{padding:var(--space-3);font-size:var(--text-xs)}.cancel-container .success-card,.cancel-container .error-card{padding:var(--space-8) var(--space-6)}.cancel-container .success-icon,.cancel-container .error-icon{width:60px;height:60px;margin-bottom:var(--space-5)}.cancel-container .success-icon svg{width:30px;height:30px}.cancel-container .success-card h1,.cancel-container .error-card h2{font-size:var(--text-xl)}.cancel-container .confirmation-email{font-size:var(--text-xs)}}@supports (padding: max(0px)){.cancel-container{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.connect-page{min-height:100vh;background:var(--color-bg-alt)}.connect-hero{position:relative;height:280px;overflow:hidden}.connect-hero .hero-image{position:relative;width:100%;height:100%}.connect-hero .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.connect-hero .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(to bottom,#0000004d,#00000080);color:#fff;text-align:center;padding:var(--space-8)}.connect-hero h1{font-family:var(--font-family);font-size:var(--text-4xl);font-weight:var(--font-normal);letter-spacing:.05em;margin:0 0 var(--space-2) 0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.connect-hero p{font-size:var(--text-lg);opacity:.9;margin:0}.connect-content{max-width:var(--max-width-lg);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.error-state{text-align:center;padding:var(--space-12);color:var(--color-error)}.error-state button{margin-top:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-medium);transition:background var(--transition-fast)}.error-state button:hover{background:var(--color-primary-dark)}.suggestions-section{text-align:center}.suggestions-intro{font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-8)}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.suggestion-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);cursor:pointer;transition:all var(--transition-fast);text-align:center}.suggestion-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.suggestion-date{font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--color-primary);margin-bottom:var(--space-1)}.suggestion-time{font-size:var(--text-2xl);font-weight:var(--font-normal);color:var(--color-text);margin-bottom:var(--space-2)}.suggestion-durations{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.suggestion-location{font-size:var(--text-xs);color:var(--color-text-muted);opacity:.8}.see-all-times{background:none;border:none;color:var(--color-primary);font-size:var(--text-base);cursor:pointer;text-decoration:underline;padding:var(--space-2);transition:color var(--transition-fast)}.see-all-times:hover{color:var(--color-primary-dark)}.selection-section{max-width:500px;margin:0 auto}.back-button{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;padding:0;margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-1);transition:color var(--transition-fast)}.back-button:hover{color:var(--color-primary)}.selected-time{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.selected-time h2{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--color-text);margin:0 0 var(--space-1) 0}.selected-time-value{font-size:var(--text-3xl);font-weight:var(--font-normal);color:var(--color-primary);margin:0}.option-group{margin-bottom:var(--space-6)}.option-group>label{display:block;font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-3)}.duration-options,.location-options{display:flex;gap:var(--space-3);flex-wrap:wrap}.duration-option,.location-option{flex:1;min-width:100px;padding:var(--space-4);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:center}.duration-option:hover,.location-option:hover{border-color:var(--color-primary)}.duration-option.selected,.location-option.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.duration-label{display:block;font-weight:var(--font-semibold);font-size:var(--text-lg)}.duration-name{display:block;font-size:var(--text-xs);opacity:.8;margin-top:var(--space-1)}.location-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.location-option svg{width:24px;height:24px}.connect-form{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.connect-form .form-group{margin-bottom:var(--space-5)}.connect-form .form-group label{display:block;font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-2)}.connect-form .form-group .optional{font-weight:var(--font-normal);color:var(--color-text-muted);font-size:var(--text-sm)}.connect-form .form-group input,.connect-form .form-group textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast);background:var(--color-bg)}.connect-form .form-group input:focus,.connect-form .form-group textarea:focus{outline:none;border-color:var(--color-primary)}.connect-form .form-group input::placeholder,.connect-form .form-group textarea::placeholder{color:var(--color-text-muted)}.form-error{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-md)}.submit-button{width:100%;padding:var(--space-4);background:var(--color-secondary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.submit-button:hover:not(:disabled){background:var(--color-secondary-light);transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.all-times-section{max-width:600px;margin:0 auto}.all-times-section h2{font-size:var(--text-2xl);font-weight:var(--font-medium);margin-bottom:var(--space-6);text-align:center}.days-list{display:flex;flex-direction:column;gap:var(--space-6)}.day-group{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border)}.day-header{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.day-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.day-date{font-size:var(--text-sm);color:var(--color-text-muted)}.time-slots{display:flex;flex-wrap:wrap;gap:var(--space-2)}.time-slot-button{padding:var(--space-2) var(--space-4);background:var(--color-bg-alt);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.time-slot-button:hover{border-color:var(--color-primary);background:var(--color-bg);transform:translateY(-1px)}.no-times-message{text-align:center;color:var(--color-text-muted);padding:var(--space-8)}@media(max-width:600px){.connect-hero h1{font-size:var(--text-2xl)}.connect-hero{height:220px}.connect-content{padding:var(--space-6) var(--space-4) var(--space-12)}.suggestions-grid{grid-template-columns:1fr 1fr}.suggestion-card{padding:var(--space-4) var(--space-3)}.suggestion-time{font-size:var(--text-xl)}.duration-options,.location-options{flex-direction:column}.duration-option,.location-option{min-width:unset;min-height:48px}.connect-form .form-group input,.connect-form .form-group textarea{font-size:16px;min-height:48px}.submit-button{min-height:52px;font-size:var(--text-base)}}@supports (padding: max(0px)){.connect-content{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-12),env(safe-area-inset-bottom))}}.connect-success-page{min-height:100vh;background:var(--color-bg-alt);padding:var(--space-8) var(--space-4);display:flex;align-items:flex-start;justify-content:center}.connect-success-page .success-card{width:100%;max-width:480px;background:var(--color-bg);padding:var(--space-10) var(--space-8);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg)}.connect-success-page .loading-state,.connect-success-page .error-state{text-align:center;padding:var(--space-16) var(--space-8)}.connect-success-page .loading-state .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.connect-success-page .error-state h2{color:var(--color-error);margin-bottom:var(--space-2)}.host-section{text-align:center;margin-bottom:var(--space-8)}.host-photo{width:100px;height:100px;margin:0 auto var(--space-6);border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--color-primary)}.host-photo img{width:100%;height:100%;object-fit:cover}.host-section h1{font-family:var(--font-family);font-size:var(--text-2xl);font-weight:var(--font-normal);color:var(--color-primary);margin:0 0 var(--space-3) 0}.confirmation-text{font-size:var(--text-lg);color:var(--color-text);margin:0}.connect-success-page .booking-details{background:var(--color-bg-alt);padding:var(--space-6);margin-bottom:var(--space-6);border-radius:var(--radius-md)}.detail-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3) 0}.detail-row:not(:last-child){border-bottom:1px solid var(--color-border)}.connect-success-page .detail-icon{flex-shrink:0;width:24px;height:24px;color:var(--color-primary)}.connect-success-page .detail-icon svg{width:100%;height:100%}.connect-success-page .detail-content{flex:1}.connect-success-page .detail-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.connect-success-page .detail-value{display:block;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text)}.connect-success-page .detail-value.topic{font-weight:var(--font-normal);font-style:italic}.detail-time{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.next-steps{text-align:center;padding:var(--space-4) 0;margin-bottom:var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.next-steps p{margin:0}.connect-success-page .action-buttons{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.connect-success-page .btn-primary,.connect-success-page .btn-secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-medium);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md)}.connect-success-page .btn-primary{background:var(--color-secondary);color:#fff;border:none}.connect-success-page .btn-primary:hover{background:var(--color-secondary-light);transform:translateY(-2px)}.connect-success-page .btn-secondary{background:var(--color-bg);color:var(--color-primary);border:2px solid var(--color-primary)}.connect-success-page .btn-secondary:hover{background:var(--color-bg-alt)}.connect-success-page .btn-primary svg,.connect-success-page .btn-secondary svg{width:18px;height:18px}.connect-success-page .cancel-section{text-align:center;padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.connect-success-page .cancel-link{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.connect-success-page .cancel-link:hover{color:var(--color-error);text-decoration:underline}.connect-success-page .book-another{text-align:center;margin-top:var(--space-6)}.connect-success-page .btn-outline{display:inline-block;padding:var(--space-3) var(--space-6);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);text-decoration:none;transition:all var(--transition-fast)}.connect-success-page .btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:500px){.connect-success-page{padding:var(--space-6) var(--space-4)}.connect-success-page .success-card{padding:var(--space-8) var(--space-6)}.host-section h1{font-size:var(--text-xl)}.host-photo{width:80px;height:80px}.connect-success-page .btn-primary,.connect-success-page .btn-secondary{min-height:48px}.connect-success-page .btn-outline{min-height:44px}.connect-success-page .cancel-link{min-height:44px;display:inline-flex;align-items:center}}@supports (padding: max(0px)){.connect-success-page{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right));padding-bottom:max(var(--space-8),env(safe-area-inset-bottom))}}.app{font-family:var(--font-family);min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-alt)}.app-main{flex:1}
