.auth_wrapper__mbyja{display:flex;justify-content:center;align-items:center;height:90vh}.auth_wrapper__mbyja .auth_container__8VfX3{width:360px;margin:0 auto;text-align:center;padding:2em;box-shadow:0 4px 20px rgba(0,0,0,.1);border-radius:10px;display:flex;flex-direction:column;gap:1.2rem;font-family:Roboto,Helvetica,Arial,sans-serif}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_roomTitle__OS5Nh{font-size:32px;font-weight:900;margin-bottom:.5rem}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_systemTitle___mmcN{font-size:16px;font-weight:500;color:#666}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_loginDescription__oDi_5{margin-bottom:1rem;font-size:16px;color:#333}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_loginButton__xUXmP{padding:.75rem 1rem;font-size:1rem;background-color:#4285f4;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_loginButton__xUXmP:disabled{opacity:.6;cursor:not-allowed}.auth_wrapper__mbyja .auth_container__8VfX3 .auth_policyNotice__4rBZV{font-size:14px;color:#777}.user_icon__dKzml{border-radius:50%;cursor:pointer}.user_iconPlaceholder__a5HM7{width:40px;height:40px;border-radius:50%;background-color:#ccc;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer}.header_header__e0WkZ{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#2c3e50;color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.header_header__e0WkZ .header_title__nk_wq{font-size:1.5rem;font-weight:700}.header_header__e0WkZ .header_nav___X8pH{display:flex;gap:16px}.header_header__e0WkZ .header_navButton__FDN4S{padding:8px 16px;font-size:1rem;color:#f8f9fa;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:4px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.header_header__e0WkZ .header_navButton__FDN4S:hover{background-color:hsla(0,0%,100%,.1)}.header_header__e0WkZ .header_navButton__FDN4S.header_active__U39TW{border-color:#f8f9fa;background-color:hsla(0,0%,100%,.15)}.header_header__e0WkZ .header_user__6eTNd{position:relative}.header_header__e0WkZ .header_user__6eTNd .header_menuContainer__z6F2f{position:absolute;top:calc(100% + 12px);right:0;width:280px;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.15);z-index:100;color:#202124;overflow:hidden;padding-top:8px;padding-bottom:8px}.header_header__e0WkZ .header_user__6eTNd .header_userInfo__vREw1{padding:8px 16px;border-bottom:1px solid #e0e0e0;margin-bottom:8px}.header_header__e0WkZ .header_user__6eTNd .header_userInfo__vREw1 .header_userName__7ct_K{font-size:1rem;font-weight:500;color:#3c4043}.header_header__e0WkZ .header_user__6eTNd .header_userInfo__vREw1 .header_userEmail__b9TRs{font-size:.875rem;color:#5f6368;margin-top:4px}.header_header__e0WkZ .header_user__6eTNd .header_menuActions__b0cmm .header_menuItem__P7mCI{display:flex;align-items:center;gap:16px;width:100%;padding:10px 16px;background:none;border:none;cursor:pointer;text-align:left;font-size:.9rem;color:#333;transition:background-color .2s ease}.header_header__e0WkZ .header_user__6eTNd .header_menuActions__b0cmm .header_menuItem__P7mCI:hover{background-color:#f1f3f4}.monthly_container__ZuPQC .monthly_weekdays__cSWnw{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:#666;margin-bottom:1px}.monthly_container__ZuPQC .monthly_weekdays__cSWnw .monthly_weekday__LxSIH{background:#333;color:#fff;padding:1rem;text-align:center;font-weight:600}.monthly_container__ZuPQC .monthly_daysGrid__2VFCu{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:#666}.monthly_dayCell__Mfz_Q{background:#fafaf5;min-height:120px;padding:.5rem;cursor:pointer;transition:background-color .2s}.monthly_dayCell__Mfz_Q:hover{background:#666}.monthly_dayCell__Mfz_Q.monthly_otherMonth__paXzy{background:#f8f9fa;color:#95a5a6}.monthly_dayCell__Mfz_Q.monthly_today__uc0NM{background:#e3f2fd}.monthly_dayCell__Mfz_Q.monthly_today__uc0NM .monthly_dayNumber__VWn0Q{background:#2196f3;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.monthly_dayNumber__VWn0Q{font-weight:600;margin-bottom:.5rem}.monthly_reservations__aHS1l .monthly_reservationItem__0uUMs{background:#3498db;color:#fff;padding:.25rem .5rem;margin-bottom:.25rem;border-radius:3px;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly_reservations__aHS1l .monthly_moreReservations__nBiFM{color:#7f8c8d;font-size:.75rem;text-align:center;margin-top:.25rem}@media(max-width:768px){.monthly_container__ZuPQC .monthly_weekdays__cSWnw .monthly_weekday__LxSIH{padding:.5rem 0;font-size:.8rem}.monthly_dayCell__Mfz_Q{min-height:80px;padding:.25rem}.monthly_dayNumber__VWn0Q{margin-bottom:.25rem}.monthly_dayCell__Mfz_Q.monthly_today__uc0NM .monthly_dayNumber__VWn0Q{width:22px;height:22px;font-size:.9em}.monthly_reservations__aHS1l .monthly_reservationItem__0uUMs{font-size:0;padding:0;width:6px;height:6px;border-radius:50%;margin:2px auto;overflow:visible}.monthly_reservations__aHS1l .monthly_moreReservations__nBiFM{font-size:.7rem;margin-top:4px}}.weekly_container__zX47T .weekly_weekHeader__luoBZ{display:grid;grid-template-columns:80px repeat(7,1fr);grid-gap:1px;gap:1px;background:#bdc3c7;margin-bottom:1px}.weekly_container__zX47T .weekly_weekHeader__luoBZ .weekly_timeColumn__lHfIE{background:#333}.weekly_container__zX47T .weekly_weekHeader__luoBZ .weekly_dayHeader__qSM1p{background:#333;color:#f8f9fa;padding:1rem;text-align:center}.weekly_container__zX47T .weekly_weekHeader__luoBZ .weekly_dayHeader__qSM1p.weekly_today__vWQPX{background:#4285f4}.weekly_container__zX47T .weekly_weekHeader__luoBZ .weekly_dayHeader__qSM1p .weekly_dayName__Nb4Hz{font-size:14px;margin-bottom:.25rem}.weekly_container__zX47T .weekly_weekHeader__luoBZ .weekly_dayHeader__qSM1p .weekly_dayNumber___9BxK{font-size:16px;font-weight:600}.weekly_container__zX47T .weekly_weekBody__bUE_M .weekly_hourRow__3GJJv{display:grid;grid-template-columns:80px repeat(7,1fr);grid-gap:1px;gap:1px;background:#333;border-bottom:1px solid #333}.weekly_container__zX47T .weekly_weekBody__bUE_M .weekly_hourRow__3GJJv .weekly_timeLabel__6RjV_{background:#ecf0f1;padding:.5rem;text-align:center;font-size:.875rem;color:#7f8c8d}.weekly_container__zX47T .weekly_weekBody__bUE_M .weekly_hourRow__3GJJv .weekly_hourCell__66Cu3{background:#f8f9fa;min-height:60px;padding:.25rem;cursor:pointer;transition:background-color .2s}.weekly_container__zX47T .weekly_weekBody__bUE_M .weekly_hourRow__3GJJv .weekly_hourCell__66Cu3:hover{background:#666}.weekly_container__zX47T .weekly_weekBody__bUE_M .weekly_hourRow__3GJJv .weekly_hourCell__66Cu3 .weekly_reservationBlock__edNkJ{background:#4285f4;color:#f8f9fa;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;margin-bottom:.25rem}.daily_container__FTL1t .daily_dayHeader__wgmw_{text-align:center;padding:1rem;background-color:#333}.daily_container__FTL1t .daily_dayHeader__wgmw_ h2{color:#f8f9fa}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl{display:flex;border-bottom:1px solid #666}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_timeLabel__QxNri{width:80px;padding:1rem .5rem;text-align:center;font-size:.875rem;color:#666;background:#ecf0f1}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF{flex:1 1;min-height:80px;padding:.5rem;cursor:pointer;transition:background-color .2s}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF:hover{background:#f8f9fa}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF .daily_reservationDetail__evfAZ{background:#4285f4;color:#f8f9fa;padding:.75rem;border-radius:6px;margin-bottom:.5rem}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF .daily_reservationDetail__evfAZ .daily_reservationTitle__SlpUG{font-weight:600;margin-bottom:.25rem}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF .daily_reservationDetail__evfAZ .daily_reservationCustomer__T8818{font-size:.875rem;opacity:.9;margin-bottom:.25rem}.daily_container__FTL1t .daily_daySchedule__Xtg8B .daily_hourSlot__KlcSl .daily_hourContent__ATTHF .daily_reservationDetail__evfAZ .daily_reservationTime__W77Qn{font-size:.75rem;opacity:.8}.form_container__Omxc_ .form_formGroup__B46uz{margin-bottom:1.5rem}.form_container__Omxc_ .form_formGroup__B46uz label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form_container__Omxc_ .form_formGroup__B46uz input,.form_container__Omxc_ .form_formGroup__B46uz select,.form_container__Omxc_ .form_formGroup__B46uz textarea{width:95%;padding:.75rem;border:2px solid #f8f9fa;border-radius:6px;font-size:1rem;transition:border-color .2s}.form_container__Omxc_ .form_formGroup__B46uz input:focus,.form_container__Omxc_ .form_formGroup__B46uz select:focus,.form_container__Omxc_ .form_formGroup__B46uz textarea:focus{outline:none;border-color:#4285f4}.form_container__Omxc_ .form_formGroup__B46uz textarea{resize:vertical;min-height:80px}.form_container__Omxc_ .form_formRow__erf8v{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form_container__Omxc_ .form_formActions__QCAmK{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form_container__Omxc_ .form_formActions__QCAmK .form_cancelBtn__9cjQH,.form_container__Omxc_ .form_formActions__QCAmK .form_submitBtn__lgpiT{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.form_container__Omxc_ .form_formActions__QCAmK .form_cancelBtn__9cjQH{background:#666;color:#fff}.form_container__Omxc_ .form_formActions__QCAmK .form_cancelBtn__9cjQH:hover{background:#666}.form_container__Omxc_ .form_formActions__QCAmK .form_submitBtn__lgpiT{background:#27ae60;color:#fff}.form_container__Omxc_ .form_formActions__QCAmK .form_submitBtn__lgpiT:hover{background:#229954}.modal_modalBackdrop__nirK5{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease}.modal_modalBackdrop__nirK5.modal_open__DYBEa{opacity:1}.modal_modalBackdrop__nirK5 .modal_modalContent__UVJrn{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;transform:scale(.9);transition:transform .3s ease}.modal_modalBackdrop__nirK5.modal_open__DYBEa .modal_modalContent__UVJrn{transform:scale(1)}.modal_modalBackdrop__nirK5 .modal_modalHeader__H7YoW{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ecf0f1}.modal_modalBackdrop__nirK5 .modal_modalHeader__H7YoW h2{color:#2c3e50;margin:0}.modal_modalBackdrop__nirK5 .modal_modalHeader__H7YoW .modal_closeBtn__oS0q1{background:none;border:none;font-size:16px;cursor:pointer;color:#666;padding:0;display:flex;align-items:center;justify-content:center}.modal_modalBackdrop__nirK5 .modal_modalHeader__H7YoW .modal_closeBtn__oS0q1:hover{color:#333}.modal_modalBackdrop__nirK5 .modal_modalBody__Wy8FJ{padding:1.5rem}.calendar_container__u99Jh{display:flex;justify-content:center;align-items:center;padding:15px}.calendar_container__u99Jh .calendar_navControls__qNPJv{display:flex;align-items:center;gap:1rem}.calendar_container__u99Jh .calendar_navControls__qNPJv .calendar_navBtn__ru3VI,.calendar_container__u99Jh .calendar_navControls__qNPJv .calendar_todayBtn__ywYiM{border:none;cursor:pointer;outline:none;padding:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:24px}.calendar_container__u99Jh .calendar_navControls__qNPJv .calendar_todayBtn__ywYiM:hover{background:#d5dbdb}.calendar_container__u99Jh .calendar_navControls__qNPJv .calendar_currentDate__U3e_X{font-size:1.1rem;font-weight:600;color:#2c3e50}.calendar_container__u99Jh .calendar_actionBtn__P9TMo{padding:8px 16px;font-size:16px;color:#f8f9fa;background-color:#4285f4;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.calendar_container__u99Jh .calendar_actionBtn__P9TMo:hover{background-color:#666}.calendar_container__u99Jh .calendar_reservation__XgBzr{font-size:32px;font-weight:700}.dashboard_container__udwuv .dashboard_calendarContainer__XUEm7{margin:40px;box-shadow:2px}.dashboard_container__udwuv .dashboard_calendarContainer__XUEm7 .dashboard_view__57XBJ{margin:0 40px;border:2px solid #333}.card_card__E1_qu{background-color:#f8f9fa;border:1px solid #e3f2fd;border-radius:8px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:16px}.card_card__E1_qu .card_cardTitle__a478y{font-size:1.2rem;font-weight:500;color:#333;border-left:4px solid #4285f4;padding-left:12px}.card_card__E1_qu .card_cardInfo__WXwH1{display:flex;align-items:center;gap:10px;color:#666}.card_card__E1_qu .card_cardInfo__WXwH1 svg{font-size:1.1rem}.card_card__E1_qu .card_cardInfo__WXwH1 span{font-size:.95rem;color:#333}.card_card__E1_qu .card_cardActions__neZ7J{margin-top:auto;padding-top:16px;border-top:1px solid #e3f2fd;display:flex;justify-content:flex-end;gap:16px}.card_card__E1_qu .card_cardActions__neZ7J button{background:none;border:none;padding:4px 8px;cursor:pointer;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:4px;transition:opacity .2s}.card_card__E1_qu .card_cardActions__neZ7J button:hover{opacity:.7}.card_card__E1_qu .card_cardActions__neZ7J .card_editButton__Q9P_l{color:#4285f4}.card_card__E1_qu .card_cardActions__neZ7J .card_deleteButton__APFhL{color:#dc3545}.user_pageContainer__fONDC{padding:24px;background-color:#f8f9fa}.user_userInfo__5gtni{display:flex;align-items:center;gap:16px;padding:20px;background-color:#4285f4;color:#f8f9fa;border-radius:8px;margin-bottom:32px}.user_userInfo__5gtni svg{font-size:24px}.user_userInfo__5gtni .user_name__dOVwA{font-size:1.1rem;font-weight:500}.user_userInfo__5gtni .user_email__OEm_f{font-size:.9rem}.user_reservationsTitle__euDq6{font-size:1.5rem;font-weight:600;color:#212529;margin-bottom:16px}.user_reservationsGrid__pDVAr{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px}