.auth-container{align-items:center;background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-800) 100%);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-container-wide{align-items:stretch;display:flex;justify-content:center;padding:0}.auth-side-panel{display:none;flex:1 1;max-width:380px;overflow-y:auto;padding:3rem 2rem}.auth-marketing-panel{background:#ffffff14;border-right:1px solid #ffffff1a}.auth-instructions-panel{background:#ffffff0d;border-left:1px solid #ffffff1a}.auth-panel-content{position:-webkit-sticky;position:sticky;top:3rem}.auth-panel-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.auth-panel-subtitle{color:var(--primary-200);font-size:.95rem;line-height:1.5;margin:0 0 2rem}.auth-center-panel{align-items:center;display:flex;flex:0 0 auto;justify-content:center;max-width:480px;padding:2rem 1rem;width:100%}.auth-benefits-list{display:flex;flex-direction:column;gap:1.5rem}.auth-benefit-item{align-items:flex-start;display:flex;gap:1rem}.auth-benefit-icon{align-items:center;background:#ffffff26;border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.auth-benefit-text h3{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .25rem}.auth-benefit-text p{color:var(--primary-200);font-size:.875rem;line-height:1.4;margin:0}.auth-steps-list{display:flex;flex-direction:column;gap:1.25rem}.auth-step-item{align-items:flex-start;background:#ffffff14;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:background .2s ease}.auth-step-item:hover{background:#ffffff1f}.auth-step-highlight{background:#34d39926;border:1px solid #34d3994d}.auth-step-highlight:hover{background:#34d39933}.auth-step-number{align-items:center;background:var(--primary-500);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.auth-step-highlight .auth-step-number{background:#10b981}.auth-step-text h3{color:#fff;font-size:.95rem;font-weight:600;margin:0 0 .25rem}.auth-step-text p{color:var(--primary-200);font-size:.825rem;line-height:1.4;margin:0}.auth-stripe-info{background:#6366f126;border:1px solid #6366f14d;border-radius:12px;margin-top:2rem;padding:1.25rem}.auth-stripe-badge{align-items:center;color:#fff;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.auth-stripe-badge svg{color:#10b981}.auth-stripe-note{color:var(--primary-200);font-size:.8rem;line-height:1.5;margin:0}@media (min-width:1200px){.auth-side-panel{display:block}.auth-center-panel{min-height:100vh;padding:3rem 2rem}}@media (min-width:1400px){.auth-side-panel{max-width:420px;padding:3rem}}.auth-wrapper{max-width:420px;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-logo{margin-bottom:1.5rem}.auth-logo-image{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000026;height:80px;margin-bottom:1rem;object-fit:contain;padding:8px;width:80px}.auth-logo-text{color:#fff;font-size:2rem;font-weight:800;letter-spacing:-.025em;margin:0}.auth-logo-subtitle{color:var(--primary-100);font-size:.875rem;font-weight:500;margin:.25rem 0 0}.auth-title{color:#fff;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.auth-subtitle{color:var(--primary-100);font-size:1rem;margin:0}.auth-card{background:#fff;border:0;box-shadow:var(--shadow-lg);margin-bottom:1.5rem}.auth-submit-button{margin-top:.5rem;width:100%}.auth-links{border-top:1px solid var(--gray-200);margin-top:1rem;padding-top:1rem;text-align:center}.auth-link{color:var(--primary-600);font-weight:500;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--primary-700);text-decoration:underline}.auth-footer{text-align:center}.auth-footer p{color:var(--primary-100);margin:0}.auth-footer .auth-link{color:#fff;font-weight:600}.auth-footer .auth-link:hover{color:var(--primary-100)}.google-signin-button{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-700);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.google-signin-button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);box-shadow:0 1px 3px #0000001a}.google-signin-button:disabled{cursor:not-allowed;opacity:.6}.auth-divider{align-items:center;display:flex;margin:1.5rem 0}.auth-divider:after,.auth-divider:before{background:var(--gray-200);content:"";flex:1 1;height:1px}.auth-divider-text{color:var(--gray-500);font-size:.875rem;padding:0 1rem}.checkbox-group{margin:1rem 0}.checkbox-label{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem}.checkbox{cursor:pointer;height:18px;margin-top:2px;width:18px}.checkbox-text{color:var(--gray-600);font-size:.875rem;line-height:1.4}.checkbox-text a{color:var(--primary-600);text-decoration:none}.checkbox-text a:hover{text-decoration:underline}@media (max-width:480px){.auth-container{padding:.5rem}.auth-logo-text{font-size:1.75rem}.auth-title{font-size:1.5rem}.auth-card{padding:1.25rem}}.error-container,.loading-container{background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-800) 100%);min-height:100vh}.error-container{color:#fff}.error-container h2{font-size:2rem}.error-container p{color:var(--primary-100);font-size:1.125rem}.dashboard{margin:0 auto;max-width:1200px}.dashboard-error,.dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.dashboard-loading p{color:var(--gray-600);margin-top:1rem}.dashboard-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-title{color:var(--gray-900);font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.dashboard-subtitle{color:var(--gray-600);font-size:1rem;margin:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{padding:1.5rem}.stat-content{gap:1rem}.stat-content,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:12px;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-icon-blue{background-color:var(--primary-100);color:var(--primary-600)}.stat-icon-green{background-color:var(--green-100);color:var(--green-600)}.stat-icon-purple{background-color:#f3e8ff;color:#7c3aed}.stat-icon-orange{background-color:var(--yellow-100);color:var(--yellow-600)}.stat-details{flex:1 1}.stat-number{color:var(--gray-900);font-size:2rem;font-weight:700;line-height:1;margin:0 0 .25rem}.stat-label{color:var(--gray-600);font-size:.875rem;font-weight:500;margin:0 0 .25rem}.stat-meta{color:var(--gray-500);font-size:.75rem;margin:0}.dashboard-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-title{font-size:1.25rem;margin:0}.section-link{color:var(--primary-600);font-size:.875rem;font-weight:500;text-decoration:none}.section-link:hover{color:var(--primary-700);text-decoration:underline}.empty-state{padding:3rem 1rem}.empty-state p{margin:0 0 1.5rem}.booking-item{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1rem 0}.booking-item:last-child{border-bottom:none}.booking-info{flex:1 1}.booking-activity,.booking-child{font-size:.875rem;margin:0 0 .25rem}.booking-child{color:var(--gray-600)}.booking-date{margin:0}.booking-status{margin:0 1rem}.status-icon{flex-shrink:0}.status-icon.status-pending{color:var(--yellow-500)}.status-icon.status-confirmed{color:var(--green-500)}.status-icon.status-default{color:var(--gray-400)}.status-text{font-size:.75rem;font-weight:500;text-transform:capitalize}.status-text.status-pending{color:var(--yellow-600)}.status-text.status-confirmed{color:var(--green-600)}.booking-amount{font-size:.875rem;font-weight:600}.quick-actions{display:flex;flex-direction:column;gap:1rem}.quick-action{align-items:center;border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-700);display:flex;gap:1rem;padding:1rem;text-decoration:none;transition:all .15s ease-in-out}.quick-action:hover{background-color:var(--primary-50);border-color:var(--primary-300);color:var(--gray-900)}.quick-action-icon{align-items:center;background-color:var(--gray-100);border-radius:8px;color:var(--gray-600);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.quick-action:hover .quick-action-icon{background-color:var(--primary-100);color:var(--primary-600)}.quick-action h4{color:inherit;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.quick-action p{color:var(--gray-500);font-size:.75rem;margin:0}@media (max-width:1024px){.dashboard-sections{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.stat-content{gap:.75rem}.stat-icon{height:40px;width:40px}.stat-number{font-size:1.5rem}.booking-item{align-items:flex-start;flex-direction:column;gap:.75rem}.booking-status{margin:0}}.activities-page{margin:0 auto;max-width:1200px}.activities-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.activities-loading p{color:var(--gray-600);margin-top:1rem}.activities-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.activities-title{color:var(--gray-900);font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.activities-subtitle{color:var(--gray-600);font-size:1rem;margin:0}.activities-filters{margin-bottom:2rem}.search-input{padding-left:40px}.activities-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.activity-card{position:relative;transition:transform .15s ease-in-out,box-shadow .15s ease-in-out}.activity-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.activity-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase}.status-badge.active{background-color:var(--green-100);color:var(--green-700)}.status-badge.inactive{background-color:var(--gray-100);color:var(--gray-600)}.activity-actions{display:flex;gap:.25rem}.action-button{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-600);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease-in-out;width:32px}.action-button:hover{background-color:var(--gray-50);border-color:var(--gray-400);color:var(--gray-900)}.action-button.action-danger:hover{background-color:var(--red-50);border-color:var(--red-300);color:var(--red-600)}.activity-title{color:var(--gray-900);font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.activity-category{color:var(--primary-600);font-size:.875rem;font-weight:500;margin:0 0 .75rem;text-transform:capitalize}.activity-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;color:var(--gray-600);display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0 0 1rem;overflow:hidden}.activity-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{align-items:center;color:var(--gray-600);font-size:.875rem;gap:.5rem}.detail-item svg{color:var(--gray-400);flex-shrink:0}.activity-stats{align-items:center;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;padding-top:1rem}.stat{color:var(--gray-500);font-size:.75rem}.section-title{font-size:1rem;margin:0 0 1rem}.form-actions{gap:1rem;margin-top:2rem}@media (max-width:1024px){.activities-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.activities-header,.filters-content{align-items:stretch;flex-direction:column;gap:1rem}.search-filter{max-width:none}.status-filters{justify-content:space-between}.filter-button{flex:1 1;text-align:center}.activities-grid,.form-grid{grid-template-columns:1fr}.form-section.full-width{grid-column:span 1}.form-actions{flex-direction:column-reverse}}.bookings-page{margin:0 auto;max-width:1200px}.bookings-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.bookings-loading p{color:var(--gray-600);margin-top:1rem}.bookings-header{margin-bottom:2rem}.bookings-title{color:var(--gray-900);font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.bookings-subtitle{color:var(--gray-600);font-size:1rem;margin:0}.bookings-filters{margin-bottom:2rem}.filters-content{align-items:center;display:flex;gap:1rem;justify-content:space-between}.search-filter{flex:1 1;max-width:400px}.search-input-wrapper{position:relative}.search-icon{color:var(--gray-400);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input .input{padding-left:40px}.status-filters{display:flex;gap:.5rem}.filter-button{background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .15s ease-in-out;white-space:nowrap}.filter-button:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.filter-button.active{background-color:var(--primary-600);border-color:var(--primary-600);color:#fff}.filter-button.active:hover{background-color:var(--primary-700);border-color:var(--primary-700)}.empty-state-card{padding:3rem 1rem}.empty-state{text-align:center}.empty-icon{color:var(--gray-400);margin-bottom:1rem}.empty-state h3{color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:var(--gray-600);margin:0}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{transition:transform .15s ease-in-out,box-shadow .15s ease-in-out}.booking-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.booking-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-status-info{display:flex;flex-direction:column;gap:.5rem}.booking-status{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.booking-status.status-pending{color:var(--yellow-600)}.booking-status.status-confirmed{color:var(--green-600)}.booking-status.status-cancelled{color:var(--red-600)}.booking-status.status-default{color:var(--gray-600)}.booking-date{color:var(--gray-500);font-size:.75rem}.booking-amount{color:var(--gray-900);font-size:1.125rem;font-weight:700}.booking-content{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-main-info{flex:1 1}.booking-activity{color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0 0 .75rem}.booking-child-info{align-items:center;color:var(--gray-600);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.75rem}.booking-child-info svg{color:var(--gray-400);flex-shrink:0}.booking-requirements{background-color:var(--gray-50);border-left:3px solid var(--primary-500);border-radius:6px;margin-top:.75rem;padding:.75rem}.booking-requirements strong{color:var(--gray-700);display:block;font-size:.875rem;margin-bottom:.5rem}.booking-requirements p{color:var(--gray-600);font-size:.875rem;line-height:1.5;margin:0}.booking-payment-info{flex-shrink:0;margin-left:1rem}.payment-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:capitalize}.payment-status.payment-pending{background-color:var(--yellow-100);color:var(--yellow-700)}.payment-status.payment-completed{background-color:var(--green-100);color:var(--green-700)}.payment-status.payment-failed{background-color:var(--red-100);color:var(--red-700)}.payment-status.payment-refunded{background-color:var(--gray-100);color:var(--gray-700)}.booking-actions{border-top:1px solid var(--gray-200);display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}@media (max-width:768px){.filters-content{align-items:stretch;flex-direction:column;gap:1rem}.search-filter{max-width:none}.status-filters{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.booking-header{align-items:flex-start}.booking-content,.booking-header{flex-direction:column;gap:1rem}.booking-payment-info{margin-left:0}.booking-actions{flex-direction:column-reverse}}.profile-page{margin:0 auto;max-width:1200px}.profile-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.profile-loading p{color:var(--gray-600);margin-top:1rem}.profile-header{margin-bottom:2rem}.profile-title{color:var(--gray-900);font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.profile-subtitle{color:var(--gray-600);font-size:1rem;margin:0}.profile-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.profile-main{gap:2rem}.profile-main,.profile-sidebar{display:flex;flex-direction:column}.profile-sidebar{gap:1.5rem}.profile-info-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.profile-avatar{align-items:center;background-color:var(--primary-600);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.profile-basic-info h2{color:var(--gray-900);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.profile-email{color:var(--gray-600);font-size:1rem;margin:0 0 .5rem}.profile-type{background-color:var(--primary-100);border-radius:12px;color:var(--primary-700);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:4px 8px;text-transform:uppercase}.section-title{border-bottom:1px solid var(--gray-200);color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.form-section{margin-bottom:1rem}.form-section.full-width{grid-column:span 2}.form-actions{border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;padding-top:1.5rem}.input-with-icon{position:relative}.input-with-icon .input{padding-left:40px}.input-icon{color:var(--gray-400);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.account-actions{display:flex;flex-direction:column;gap:.75rem}.logout-button{border-color:var(--red-300);color:var(--red-600)}.logout-button:hover{background-color:var(--red-50);border-color:var(--red-400);color:var(--red-700)}.account-details{display:flex;flex-direction:column;gap:1rem}.detail-item{align-items:flex-start;display:flex;gap:.75rem}.detail-icon,.detail-item svg{color:var(--gray-400);flex-shrink:0;margin-top:2px}.detail-item div{flex:1 1}.detail-item label{color:var(--gray-500);display:block;font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:.25rem;text-transform:uppercase}.detail-item span{color:var(--gray-900);font-size:.875rem}@media (max-width:1024px){.profile-content{grid-template-columns:1fr}.profile-sidebar{order:-1}}@media (max-width:768px){.profile-info-header{flex-direction:column;gap:1rem;text-align:center}.profile-avatar{font-size:1.5rem;height:64px;width:64px}.form-grid{grid-template-columns:1fr}.form-section.full-width{grid-column:span 1}.account-details{gap:1.5rem}.detail-item{background-color:var(--gray-50);border-radius:8px;padding:1rem}}.layout{background-color:var(--gray-50);display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--gray-200);bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:280px;z-index:30}.sidebar-open{transform:translateX(0)}.sidebar-overlay{background-color:#00000080;inset:0;position:fixed;z-index:20}.sidebar-content{display:flex;flex-direction:column;height:100%}.sidebar-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.logo{display:flex;flex-direction:column}.logo-text{color:var(--primary-600);font-size:1.125rem;font-weight:700;line-height:1.2}.logo-subtitle{color:var(--gray-500);font-size:.75rem;font-weight:500}.sidebar-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--gray-400);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease-in-out;width:32px}.sidebar-close:hover{background-color:var(--gray-100);color:var(--gray-600)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-list{list-style:none;margin:0;padding:0}.nav-link{align-items:center;border-right:3px solid #0000;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;gap:12px;padding:12px 24px;text-decoration:none;transition:all .15s ease-in-out}.nav-link:hover{background-color:var(--gray-50);color:var(--gray-900)}.nav-link-active{border-right-color:var(--primary-600)}.nav-link-active,.nav-link-active:hover{background-color:var(--primary-50);color:var(--primary-700)}.sidebar-footer{border-top:1px solid var(--gray-200);padding:1rem}.user-info{background-color:var(--gray-50);border-radius:8px;gap:12px;margin-bottom:1rem;padding:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background-color:var(--primary-600);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{flex:1 1;min-width:0}.user-name{color:var(--gray-900);font-size:.875rem;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:var(--gray-500);font-size:.75rem}.logout-button{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .15s ease-in-out;width:100%}.logout-button:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.main-content{display:flex;flex:1 1;flex-direction:column;min-height:100vh}.header{background:#fff;border-bottom:1px solid var(--gray-200);height:64px;justify-content:space-between;padding:0 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:6px;color:var(--gray-600);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease-in-out;width:40px}.sidebar-toggle:hover{background-color:var(--gray-100);color:var(--gray-900)}.page-title{color:var(--gray-900);font-size:1.25rem;font-weight:600}.header-right{align-items:center;display:flex;gap:1rem}.notification-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--gray-600);cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:all .15s ease-in-out;width:40px}.notification-button:hover{background-color:var(--gray-100);color:var(--gray-900)}.notification-badge{align-items:center;background-color:var(--red-500);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:18px;justify-content:center;position:absolute;right:8px;top:8px;width:18px}.header-user{align-items:center;display:flex;gap:8px}.header-user .user-avatar{font-size:.75rem;height:32px;width:32px}.header-user .user-name{color:var(--gray-700);font-size:.875rem;font-weight:500}.page-content{flex:1 1;max-width:100%;overflow-x:hidden;padding:2rem 1.5rem}@media (min-width:1024px){.sidebar{position:static;transform:translateX(0);transition:none}.sidebar-close,.sidebar-overlay{display:none}.main-content{margin-left:0}.sidebar-toggle{display:none}}@media (min-width:768px) and (max-width:1023px){.sidebar{width:240px}.page-content{padding:1.5rem 1rem}}@media (max-width:767px){.header{height:56px;padding:0 1rem}.page-title{font-size:1.125rem}.page-content{padding:1rem}.header-user .user-name{display:none}.notification-button{height:36px;width:36px}.header-user .user-avatar{height:28px;width:28px}}*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;line-height:1.5}.App{min-height:100vh}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#ef4444;--red-600:#dc2626;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--yellow-50:#fffbeb;--yellow-100:#fef3c7;--yellow-500:#f59e0b;--yellow-600:#d97706;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{align-items:center;display:inline-flex;gap:8px}.spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-top:2px solid #2563eb;border:2px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary-600);height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:2rem;text-align:center}.error-container h2{color:#dc2626;color:var(--red-600);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.error-container p{color:#4b5563;color:var(--gray-600);font-size:1rem}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:500;gap:8px;justify-content:center;text-decoration:none;transition:all .15s ease-in-out}.btn:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-500);outline-offset:2px}.btn-small{font-size:.875rem;padding:6px 12px}.btn-medium{font-size:.875rem;padding:8px 16px}.btn-large{font-size:1rem;padding:12px 24px}.btn-primary{background-color:#2563eb;background-color:var(--primary-600);border-color:#2563eb;border-color:var(--primary-600);color:#fff}.btn-primary:hover:not(.btn-disabled){background-color:#1d4ed8;background-color:var(--primary-700);border-color:#1d4ed8;border-color:var(--primary-700)}.btn-secondary{background-color:#4b5563;background-color:var(--gray-600);border-color:#4b5563;border-color:var(--gray-600);color:#fff}.btn-secondary:hover:not(.btn-disabled){background-color:#374151;background-color:var(--gray-700);border-color:#374151;border-color:var(--gray-700)}.btn-outline{background-color:initial;border-color:#2563eb;border-color:var(--primary-600);color:#2563eb;color:var(--primary-600)}.btn-outline:hover:not(.btn-disabled){background-color:#eff6ff;background-color:var(--primary-50)}.btn-danger{background-color:#dc2626;background-color:var(--red-600);border-color:#dc2626;border-color:var(--red-600);color:#fff}.btn-danger:hover:not(.btn-disabled){background-color:var(--red-700);border-color:var(--red-700)}.btn-disabled{cursor:not-allowed;opacity:.6}.input-group{margin-bottom:1rem}.input-label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:500;margin-bottom:4px}.required{color:#ef4444;color:var(--red-500);margin-left:2px}.input,.select,.textarea{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;padding:8px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:#3b82f6;border-color:var(--primary-500);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-100);outline:none}.input-error,.select-error,.textarea-error{border-color:#ef4444;border-color:var(--red-500)}.input-error:focus,.select-error:focus,.textarea-error:focus{border-color:#ef4444;border-color:var(--red-500);box-shadow:0 0 0 3px #fee2e2;box-shadow:0 0 0 3px var(--red-100)}.textarea{min-height:80px;resize:vertical}.input-error-text{color:#dc2626;color:var(--red-600)}.input-error-text,.input-helper-text{display:block;font-size:.75rem;margin-top:4px}.input-helper-text{color:#6b7280;color:var(--gray-500)}.alert{align-items:center;border-radius:6px;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem;padding:12px 16px}.alert-success{background-color:#f0fdf4;background-color:var(--green-50);border:1px solid #dcfce7;border:1px solid var(--green-100);color:#16a34a;color:var(--green-600)}.alert-error{background-color:#fef2f2;background-color:var(--red-50);border:1px solid #fee2e2;border:1px solid var(--red-100);color:#dc2626;color:var(--red-600)}.alert-warning{background-color:#fffbeb;background-color:var(--yellow-50);border:1px solid #fef3c7;border:1px solid var(--yellow-100);color:#d97706;color:var(--yellow-600)}.alert-info{background-color:#eff6ff;background-color:var(--primary-50);border:1px solid #dbeafe;border:1px solid var(--primary-100);color:#2563eb;color:var(--primary-600)}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;margin-left:12px;opacity:.7;padding:0}.alert-close:hover{opacity:1}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.modal-title{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:600}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;color:var(--gray-400);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;width:32px}.modal-close:hover{background-color:#f3f4f6;background-color:var(--gray-100);color:#4b5563;color:var(--gray-600)}.modal-body{padding:0 1.5rem 1.5rem}.text-center{text-align:center}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}.google-account-info{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;padding-bottom:1.5rem}.google-account-badge{align-items:center;background-color:#f9fafb;background-color:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;color:#4b5563;color:var(--gray-600);display:flex;font-size:.875rem;gap:10px;padding:12px 16px}.google-account-badge svg{flex-shrink:0}.google-account-badge strong{color:#111827;color:var(--gray-900);font-weight:600}@media (max-width:768px){.grid-cols-2,.grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}.modal-content{margin:.5rem}.modal-body,.modal-header{padding-left:1rem;padding-right:1rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.initial-loading{display:none}*,:after,:before{box-sizing:border-box}blockquote,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0}ol,ul{list-style:none;padding:0}html{font-size:16px;line-height:1.5}img{display:block;height:auto;max-width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus{outline:2px solid #0000;outline-offset:2px}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}