body{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}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#343a40;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:#0d2453;font-weight:700;line-height:1.2;margin-bottom:16px}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}h4,h5,h6{font-size:16px}p{line-height:1.6;margin-bottom:16px}a{color:#0d2453;text-decoration:none;transition:color .2s ease}a:hover{color:#1e40af}ol,ul{margin-bottom:16px;padding-left:24px}li{margin-bottom:8px}img{display:block;height:auto;max-width:100%}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}input,select,textarea{line-height:inherit}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.alert{align-items:flex-start;display:flex;gap:16px}.alert .alert-icon{flex-shrink:0;height:20px;margin-top:2px;width:20px}.alert .alert-content{flex:1 1}.alert .alert-content .alert-title{font-size:16px;font-weight:600;margin-bottom:8px}.alert .alert-content .alert-message{font-size:16px;line-height:1.5;margin:0}.alert .alert-close{background:none;border:none;border-radius:4px;color:inherit;cursor:pointer;flex-shrink:0;opacity:.7;padding:8px}.alert .alert-close:hover{background:#0000001a;opacity:1}.alert.alert-sm{font-size:14px;padding:16px}.alert.alert-sm .alert-icon{height:16px;width:16px}.alert.alert-lg{font-size:18px;padding:32px}.alert.alert-lg .alert-icon{height:24px;width:24px}.alert.alert-no-icon .alert-icon{display:none}.alert.alert-with-actions .alert-content{margin-bottom:16px}.alert.alert-with-actions .alert-actions{display:flex;flex-wrap:wrap;gap:16px}.alert-container{max-width:400px;position:fixed;right:24px;top:24px;width:calc(100vw - 48px);z-index:1000}@media(max-width:480px){.alert-container{left:16px;right:16px;top:16px;width:auto}}.alert-stack{display:flex;flex-direction:column;gap:16px}.alert-toast{animation:slideInRight .3s ease-out;border:none;border-radius:4px;box-shadow:none;margin-bottom:16px}.alert-toast.alert-toast-exit{animation:slideOutRight .3s ease-in}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.alert-inline{border:1px solid;border-radius:4px;margin:16px 0}.alert-inline.alert-info{border-color:#0d24534d}.alert-inline.alert-success{border-color:#f59e0b4d}.alert-inline.alert-error,.alert-inline.alert-warning{border-color:#ea580c4d}.alert-group .alert{margin-bottom:16px}.alert-group .alert:last-child{margin-bottom:0}@media(max-width:480px){.alert{font-size:14px;padding:16px}.alert .alert-icon{height:16px;width:16px}.alert .alert-content .alert-message,.alert .alert-content .alert-title{font-size:14px}.alert-container{left:16px;right:16px;top:16px}}.badge{align-items:center;border:1px solid #0000;display:inline-flex;justify-content:center;line-height:1;text-decoration:none;transition:all .2s ease}.badge.badge-primary{border-color:#0d2453}.badge.badge-secondary{border-color:#ea580c}.badge.badge-success{border-color:#f59e0b}.badge.badge-error,.badge.badge-warning{background:#ea580c;border-color:#ea580c;color:#fff}.badge.badge-info{background:#0d2453;border-color:#0d2453;color:#fff}.badge.badge-outline.badge-primary{border-color:#0d2453;color:#0d2453}.badge.badge-outline.badge-secondary{border-color:#ea580c;color:#ea580c}.badge.badge-outline.badge-success{border-color:#f59e0b;color:#f59e0b}.badge.badge-outline.badge-error,.badge.badge-outline.badge-warning{border-color:#ea580c;color:#ea580c}.badge.badge-outline.badge-info{border-color:#0d2453;color:#0d2453}.badge.badge-sm{border-radius:4px;font-size:12px;padding:4px 8px}.badge.badge-lg{border-radius:8px;font-size:16px;padding:16px 24px}.badge.badge-icon{gap:8px}.badge.badge-icon .badge-icon-left{margin-right:8px}.badge.badge-icon .badge-icon-right{margin-left:8px}.badge.badge-dot{padding-left:8px}.badge.badge-dot:before{background:currentColor;border-radius:50%;content:"";display:inline-block;height:6px;margin-right:8px;width:6px}.badge.badge-status.badge-active{background:#f59e0b;border-color:#f59e0b;color:#0d2453}.badge.badge-status.badge-inactive{background:#ea580c;border-color:#ea580c;color:#fff}.badge.badge-status.badge-pending{background:#0d2453;border-color:#0d2453;color:#fff}.badge.badge-status.badge-completed{background:#f59e0b;border-color:#f59e0b;color:#0d2453}.badge.badge-status.badge-cancelled{background:#ea580c;border-color:#ea580c;color:#fff}.badge.badge-clickable{cursor:pointer}.badge.badge-clickable:hover{box-shadow:none}.badge.badge-clickable:active{transform:translateY(0)}.badge-group .badge{margin-right:8px}.badge-group .badge:last-child{margin-right:0}.badge-group{align-items:center;display:inline-flex;gap:8px}.table .badge{font-size:12px;padding:4px 8px}.action-card .badge,.card .badge,.info-card .badge,.notification-card .badge,.profile-card .badge,.stat-card .badge{margin-bottom:8px}.btn .badge{font-size:12px;margin-left:8px;padding:2px 6px}@media(max-width:480px){.badge{font-size:12px;padding:4px 8px}.badge.badge-lg{font-size:14px;padding:16px}}.btn{align-items:center;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;line-height:1.5;padding:16px 24px;text-align:center;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn.btn-sm{font-size:14px;padding:8px 16px}.btn.btn-lg{font-size:18px;padding:24px 32px}.btn.btn-xl{font-size:24px;padding:32px 48px}.btn.btn-primary{background:#0d2453;border-color:#0d2453;color:#fff}.btn.btn-secondary{background:#ea580c;border-color:#ea580c;color:#fff}.btn.btn-danger{background:#dc3545;border-color:#dc3545;color:#fff;transition:all .2s ease}.btn.btn-danger:hover{background:#c82333;border-color:#bd2130;box-shadow:0 2px 4px #dc35454d}.btn.btn-danger:active{box-shadow:0 1px 2px #dc35454d;transform:translateY(0)}.btn.btn-white{background:#fff;border-color:#0d2453;color:#0d2453}.btn.btn-outline{background:#0000;border-color:#fff;color:#fff}.btn.btn-ghost{background:#0000;border-color:#0000;color:#0d2453}.btn.btn-block{display:block;width:100%}.btn.btn-icon{align-items:center;display:inline-flex;gap:8px}.btn.btn-icon svg{height:16px;width:16px}.btn.btn-icon.btn-lg svg{height:20px;width:20px}.btn.btn-icon.btn-xl svg{height:24px;width:24px}.btn.delete-user-btn{align-items:center;display:inline-flex;font-weight:600;gap:8px;justify-content:center;min-width:80px}.btn.delete-user-btn svg{height:14px;width:14px}.btn.delete-user-btn:hover{background:#c82333;border-color:#bd2130}.calendar{background:#fff;border:1px solid #0d24531a;border-radius:8px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.calendar-header{border-bottom:1px solid #0d24531a;padding:24px}.calendar-header .calendar-title{color:#0d2453;font-size:18px;font-weight:600;margin:0}.calendar-header .calendar-nav{display:flex;gap:8px}.calendar-header .calendar-nav .calendar-nav-btn{align-items:center;background:#fff;border:1px solid #0d245333;border-radius:4px;color:#0d2453;cursor:pointer;display:flex;height:32px;justify-content:center;padding:8px;transition:all .2s ease;width:32px}.calendar-header .calendar-nav .calendar-nav-btn:hover{background:#0d24531a;border-color:#0d2453}.calendar-header .calendar-nav .calendar-nav-btn:disabled{cursor:not-allowed;opacity:.5}.calendar-weekdays{border-bottom:1px solid #0d24531a}.calendar-weekdays .calendar-weekday{color:#0d2453;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:center;text-transform:uppercase}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-days .calendar-day{align-items:center;border-bottom:1px solid #0d24531a;border-right:1px solid #0d24531a;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:16px;text-align:center;transition:all .2s ease}.calendar-days .calendar-day:nth-child(7n){border-right:none}.calendar-days .calendar-day .day-number{color:#343a40;font-size:16px;font-weight:500;margin-bottom:8px}.calendar-days .calendar-day .day-content{color:#6c757d;font-size:14px}.calendar-days .calendar-day:hover{background:#0d24530d}.calendar-days .calendar-day.today{background:#f59e0b1a;border-color:#f59e0b}.calendar-days .calendar-day.today .day-number{color:#0d2453;font-weight:600}.calendar-days .calendar-day.selected{background:#0d2453;color:#fff}.calendar-days .calendar-day.selected .day-content,.calendar-days .calendar-day.selected .day-number{color:#fff}.calendar-days .calendar-day.disabled{background:#f8f9fa;cursor:not-allowed;opacity:.5}.calendar-days .calendar-day.disabled:hover{background:#f8f9fa}.calendar-days .calendar-day.other-month{background:#f8f9fa;opacity:.3}.calendar-days .calendar-day.has-events{position:relative}.calendar-days .calendar-day.has-events:after{background:#ea580c;border-radius:50%;bottom:8px;content:"";height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.calendar-events .calendar-day .day-events{display:flex;flex-direction:column;gap:2px;margin-top:8px}.calendar-events .calendar-day .day-events .event-item{background:#0d2453;border-radius:2px;color:#fff;font-size:10px;max-width:100%;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.calendar-events .calendar-day .day-events .event-item.event-important{background:#ea580c}.calendar-events .calendar-day .day-events .event-item.event-success{background:#f59e0b;color:#0d2453}.calendar-filters{background:#f8f9fa;border-bottom:1px solid #0d24531a;padding:24px}.calendar-filters .filter-group{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.calendar-filters .filter-group label{color:#0d2453;font-size:14px;font-weight:600}.calendar-filters .filter-group input,.calendar-filters .filter-group select{border:1px solid #0d245333;border-radius:4px;font-size:14px;padding:8px}.calendar-legend{background:#f8f9fa;border-top:1px solid #0d24531a;padding:24px}.calendar-legend .legend-items{display:flex;flex-wrap:wrap;gap:24px}.calendar-legend .legend-items .legend-item{align-items:center;display:flex;font-size:14px;gap:8px}.calendar-legend .legend-items .legend-item .legend-color{border-radius:2px;height:12px;width:12px}.calendar-legend .legend-items .legend-item .legend-text{color:#6c757d}@media(max-width:480px){.calendar{font-size:14px}.calendar-header{flex-direction:column;gap:16px;padding:16px}.calendar-header .calendar-nav{justify-content:center;width:100%}.calendar-weekdays .calendar-weekday{font-size:12px;padding:8px}.calendar-days .calendar-day{min-height:50px;padding:8px}.calendar-days .calendar-day .day-number{font-size:14px}.calendar-days .calendar-day .day-content{font-size:10px}.calendar-filters .filter-group{align-items:stretch;flex-direction:column}.calendar-legend .legend-items{flex-direction:column;gap:16px}}.action-card,.card,.info-card,.notification-card,.profile-card,.stat-card{background:#fff;border:1px solid #0d24531a;border-radius:8px;overflow:hidden}.card-header{background:#f8f9fa;border-bottom:1px solid #0d24531a;padding:24px}.card-header h3{color:#0d2453;font-size:18px;font-weight:600;margin:0}.card-header p{color:#6c757d;font-size:14px;margin:8px 0 0}.card-body{padding:24px}.card-footer{background:#f8f9fa;border-top:1px solid #0d24531a;padding:24px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:32px}@media(min-width:768px){.stats-grid{gap:32px;grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{padding:32px;text-align:center}.stat-card .stat-number{color:#0d2453;font-size:32px;font-weight:700;margin-bottom:8px}.stat-card .stat-label{color:#6c757d;font-size:16px;font-weight:500}.stat-card .stat-change{font-size:14px;margin-top:8px}.stat-card .stat-change.positive{color:#f59e0b}.stat-card .stat-change.negative{color:#ea580c}.info-card{margin-bottom:24px}.info-card .info-icon{align-items:center;background:#0d24531a;border-radius:50%;color:#0d2453;display:flex;font-size:24px;height:48px;justify-content:center;margin:0 auto 24px;width:48px}.info-card .info-title{margin-bottom:16px;text-align:center}.info-card .info-description{color:#6c757d;line-height:1.6;text-align:center}.action-card{cursor:pointer;padding:32px;text-align:center;transition:transform .2s ease}.action-card .action-icon{align-items:center;background:#f59e0b;border-radius:50%;color:#0d2453;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.action-card .action-title{margin-bottom:16px}.action-card .action-description{color:#6c757d;line-height:1.6;margin-bottom:32px}.profile-card{padding:32px;text-align:center}.profile-card .profile-avatar{align-items:center;background:#f8f9fa;border-radius:50%;color:#0d2453;display:flex;font-size:32px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.profile-card .profile-name{margin-bottom:8px}.profile-card .profile-role{color:#6c757d;margin-bottom:24px}.profile-card .profile-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.profile-card .profile-stats .stat-item{text-align:center}.profile-card .profile-stats .stat-item .stat-value{color:#0d2453;font-size:18px;font-weight:600}.profile-card .profile-stats .stat-item .stat-label{color:#6c757d;font-size:14px}.notification-card{border-left:4px solid #0d2453;margin-bottom:16px}.notification-card.unread{background:#ea580c0d;border-left-color:#ea580c}.notification-card .notification-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.notification-card .notification-title{color:#0d2453;font-weight:600;margin:0}.notification-card .notification-time{color:#6c757d;font-size:14px}.notification-card .notification-content{color:#343a40;line-height:1.5}@media(max-width:767px){.mobile-only{display:block}}@media(min-width:1024px){.mobile-only{display:none}}@media(max-width:767px){.desktop-only{display:none}}@media(min-width:1024px){.desktop-only{display:block}}@media(min-width:768px){.tablet-up{display:block}}@media(max-width:767px){.tablet-up{display:none}}.spinner{animation:spin 1s ease-in-out infinite;border:1px solid #f8f9fa}.badge{border-radius:4px;display:inline-block;font-size:14px;font-weight:500;padding:8px 16px;text-align:center;white-space:nowrap}.badge.badge-primary{background:#0d2453;color:#fff}.badge.badge-secondary{background:#ea580c;color:#fff}.badge.badge-success{background:#f59e0b;color:#0d2453}.badge.badge-outline{background:#0000;border:1px solid #0d2453;color:#0d2453}.alert{border-left:4px solid;border-radius:4px;margin-bottom:24px;padding:24px}.alert.alert-info{background:#0d24531a;border-left-color:#0d2453;color:#0d2453}.alert.alert-success{background:#f59e0b1a;border-left-color:#f59e0b;color:#945f06}.alert.alert-error,.alert.alert-warning{background:#ea580c1a;border-left-color:#ea580c;color:#ea580c}.divider{background:#0d24531a;height:1px;margin:24px 0}.empty-state{color:#6c757d}.empty-state .empty-icon{font-size:48px;margin-bottom:24px;opacity:.5}.empty-state .empty-title{color:#343a40;font-size:18px;margin-bottom:16px}.empty-state .empty-description{margin-bottom:32px}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background:#343a40;border-radius:4px;bottom:125%;color:#fff;font-size:14px;left:50%;margin-left:-100px;opacity:0;padding:8px;position:absolute;text-align:center;transition:opacity .3s;visibility:hidden;width:200px;z-index:1}.tooltip .tooltip-text:after{border:5px solid #0000;border-top-color:#343a40;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.progress{background:#f8f9fa;border-radius:4px;height:8px;margin-bottom:16px;overflow:hidden;width:100%}.progress .progress-bar{background:#0d2453;border-radius:4px;height:100%;transition:width .3s ease}.progress.progress-success .progress-bar{background:#f59e0b}.progress.progress-warning .progress-bar{background:#ea580c}.breadcrumb{align-items:center;display:flex;font-size:14px;gap:8px;margin-bottom:24px}.breadcrumb .breadcrumb-item{color:#6c757d}.breadcrumb .breadcrumb-item:not(:last-child):after{color:#f8f9fa;content:"/";margin-left:8px}.breadcrumb .breadcrumb-item.active{color:#0d2453;font-weight:600}.breadcrumb .breadcrumb-item a{color:#6c757d;text-decoration:none}.breadcrumb .breadcrumb-item a:hover{color:#0d2453}.status-indicator{align-items:center;display:inline-flex;gap:8px}.status-indicator .status-dot{background:#6c757d;border-radius:50%;height:8px;width:8px}.status-indicator .status-dot.status-active{background:#f59e0b}.status-indicator .status-dot.status-inactive{background:#ea580c}.status-indicator .status-dot.status-pending{background:#0d2453}.avatar{align-items:center;background:#f8f9fa;border-radius:50%;color:#0d2453;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.avatar.avatar-sm{font-size:14px;height:32px;width:32px}.avatar.avatar-lg{font-size:24px;height:64px;width:64px}.avatar.avatar-xl{font-size:32px;height:80px;width:80px}.custom-select{font-family:inherit;position:relative;width:100%}.custom-select.error .select-trigger{border-color:#ef4444}.custom-select.disabled .select-trigger{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.custom-select .select-trigger{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:8px 12px;transition:all .2s ease;width:100%}.custom-select .select-trigger:hover:not(.disabled){border-color:#9ca3af}.custom-select .select-trigger:focus{border-color:#0d2453;outline:none}.custom-select .select-trigger.open{border-color:#0d2453}.custom-select .select-trigger .select-value{color:#343a40;flex:1 1;text-align:left}.custom-select .select-trigger .select-value .selected-label{color:#343a40;font-weight:500}.custom-select .select-trigger .select-value .placeholder{color:#9ca3af;font-style:normal}.custom-select .select-trigger .select-arrow{align-items:center;color:#6c757d;display:flex;margin-left:.75rem;transition:all .2s ease}.custom-select .select-trigger.open .select-arrow{color:#0d2453;transform:rotate(180deg)}.custom-select .select-dropdown{animation:slideDown .2s ease-out;background-color:#fff;border:1px solid #d1d5db;border-radius:4px;left:0;max-height:300px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.custom-select .select-dropdown .search-container{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:24px}.custom-select .select-dropdown .search-container .search-input{background-color:#fff;border:1px solid #d1d5db;border-radius:4px;color:#343a40;font-size:14px;padding:8px 12px;transition:all .2s ease;width:100%}.custom-select .select-dropdown .search-container .search-input:focus{border-color:#0d2453;outline:none}.custom-select .select-dropdown .search-container .search-input::placeholder{color:#9ca3af}.custom-select .select-dropdown .options-list{max-height:250px;overflow-y:auto}.custom-select .select-dropdown .options-list .option-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;transition:all .15s ease}.custom-select .select-dropdown .options-list .option-item:hover:not(.disabled){background-color:#f9fafb}.custom-select .select-dropdown .options-list .option-item.selected{background-color:#0d24531a;color:#0d2453}.custom-select .select-dropdown .options-list .option-item.selected .check-icon{color:#0d2453}.custom-select .select-dropdown .options-list .option-item.highlighted:not(.selected){background-color:#f3f4f6}.custom-select .select-dropdown .options-list .option-item.disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.custom-select .select-dropdown .options-list .option-item .option-label{flex:1 1;font-weight:500}.custom-select .select-dropdown .options-list .option-item .check-icon{color:#0d2453;margin-left:.75rem}.custom-select .select-dropdown .options-list .no-options{background-color:#f9fafb;color:#9ca3af;font-style:italic;padding:32px;text-align:center}.custom-select .select-dropdown .options-list::-webkit-scrollbar{width:4px}.custom-select .select-dropdown .options-list::-webkit-scrollbar-track{background:#f9fafb}.custom-select .select-dropdown .options-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.custom-select .select-dropdown .options-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.custom-select .error-message{color:#ef4444;font-size:14px;font-weight:500;margin-top:8px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.custom-select .select-trigger{border-radius:4px;font-size:14px;min-height:44px;padding:8px 12px}.custom-select .select-dropdown{border-radius:4px;top:calc(100% + 2px)}.custom-select .select-dropdown .search-container{padding:12px}.custom-select .select-dropdown .options-list .option-item,.custom-select .select-dropdown .search-container .search-input{font-size:14px;padding:8px 12px}}.form-label{color:#0d2453;display:block;font-size:14px;font-weight:500;margin-bottom:8px;position:relative;text-align:left}.form-label:after{color:#ef4444;content:" *";font-weight:700}.form-label.optional:after{color:#6b7280;content:" (선택사항)";font-weight:400}.form-label.unrequired:after{content:""}.form-input,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:16px;outline:none;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-input:focus,.form-textarea:focus{outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-input-error.form-textarea,.form-input.form-input-error{border-color:#ef4444;border-width:2px}.form-input:disabled,.form-textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-textarea{line-height:1.5;min-height:100px;outline:none;resize:vertical}.form-textarea:focus{outline:none}.form-checkbox{align-items:center;display:flex;gap:16px;margin-bottom:16px}.form-checkbox input[type=checkbox]{accent-color:#0d2453;cursor:pointer;height:16px;outline:none;width:16px}.form-checkbox input[type=checkbox]:focus{outline:none}.form-checkbox label{color:#0d2453;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none}.form-radio{align-items:center;display:flex;gap:16px;margin-bottom:16px}.form-radio input[type=radio]{accent-color:#0d2453;cursor:pointer;height:16px;outline:none;width:16px}.form-radio input[type=radio]:focus{outline:none}.form-radio label{color:#0d2453;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none}.form-error{color:#ef4444;font-weight:500}.form-error,.form-help{display:block;font-size:14px;margin-top:8px}.form-help{color:#4b5563;line-height:1.4}.form-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:768px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-actions{display:flex;flex-direction:column;gap:24px;margin-top:32px}@media(min-width:768px){.form-actions{flex-direction:row;gap:32px;justify-content:center}}.application-form .form-section{background:#0000;border:none;border-radius:0;margin-bottom:32px;padding:24px 0}.application-form .form-section h2{align-items:center;border-bottom:1px solid #0d24534d;color:#0d2453;display:flex;font-size:18px;font-weight:700;gap:16px;margin-bottom:24px;padding-bottom:16px}.application-form .form-section h2:before{background:#0d2453;border-radius:1px;content:"";height:18px;width:3px}.application-form .form-section:last-child{margin-bottom:0}.application-form .form-group{margin-bottom:8px}.application-form .form-row{gap:32px}.search-form{margin:0 auto;max-width:400px;position:relative}.search-form .form-input,.search-form .form-textarea{padding-right:48px}.search-form .search-button{background:none;border:none;color:#6c757d;cursor:pointer;padding:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.search-form .search-button:hover{color:#0d2453}.filter-form{background:#f8f9fa;border-radius:4px;margin-bottom:32px;padding:24px}.filter-form .filter-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}@media(min-width:768px){.filter-form .filter-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.filter-form .filter-actions{display:flex;gap:16px;justify-content:flex-end}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background:#fff;border-radius:0;display:flex;flex-direction:column;height:100vh;margin:0;max-height:100vh;max-width:100vw;overflow:hidden;width:100vw}@media(min-width:768px){.modal-container{border-radius:8px;height:auto;margin:16px;max-height:90vh;max-width:90vw;padding:0;width:auto}.modal-container.modal-sm{max-width:450px;min-height:auto;width:100%}.modal-container.modal-sm .modal-header{background:#0d2453;border-bottom:none;color:#fff}.modal-container.modal-sm .modal-header .modal-title{color:#fff;font-size:18px;font-weight:700}.modal-container.modal-sm .modal-header .modal-close-button{background:#ffffff1a;border:1px solid #fff3;color:#fff}.modal-container.modal-sm .modal-header .modal-close-button:hover{background:#fff3;border-color:#ffffff4d}.modal-container.modal-sm .modal-body{padding:32px}.modal-container.modal-md{max-width:600px}}@media(min-width:768px)and (min-width:768px){.modal-container.modal-lg{max-width:800px;min-width:600px}}@media(min-width:768px){.modal-container.modal-xl{max-width:1000px}}.modal{background:#fff;border-radius:0;flex-direction:column;height:100vh;margin:0;max-height:100vh;max-width:100vw;overflow:hidden;width:100vw}@media(min-width:768px){.modal{border-radius:8px;height:auto;margin:16px;max-height:90vh;max-width:90vw;width:auto}.modal.modal-sm{max-width:400px}.modal.modal-md{max-width:600px}.modal.modal-lg{max-width:800px}.modal.modal-xl{max-width:1000px}.modal.modal-full{max-height:95vh;max-width:95vw}}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #0d24531a;display:flex;justify-content:space-between;padding:16px 24px}.modal-header .modal-title{color:#0d2453;font-size:18px;font-weight:600;margin:0}.modal-header .modal-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;padding:8px;transition:all .3s ease;width:36px}.modal-header .modal-close-button:hover{background:#0d24531a;color:#0d2453}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{background:#f8f9fa;border-top:1px solid #0d24531a;justify-content:flex-end;padding:24px}.modal-footer.modal-footer-center{justify-content:center}.modal-footer.modal-footer-between{justify-content:space-between}.modal-confirm .modal-body{padding:32px 24px;text-align:center}.modal-confirm .modal-body .modal-icon{font-size:48px;margin-bottom:24px;opacity:.7}.modal-confirm .modal-body .modal-message{color:#343a40;font-size:18px;margin-bottom:16px}.modal-confirm .modal-body .modal-description{color:#6c757d;line-height:1.6}.modal-confirm .modal-footer{justify-content:center}.modal-image .modal-body{padding:0;text-align:center}.modal-image .modal-body img{border-radius:4px;height:auto;max-width:100%}.modal-list .modal-body{padding:0}.modal-list .modal-body .modal-list-item{align-items:center;border-bottom:1px solid #0d24531a;display:flex;gap:16px;padding:16px 24px}.modal-list .modal-body .modal-list-item:last-child{border-bottom:none}.modal-list .modal-body .modal-list-item .item-icon{color:#0d2453;height:24px;width:24px}.modal-list .modal-body .modal-list-item .item-content{flex:1 1}.modal-list .modal-body .modal-list-item .item-content .item-title{color:#343a40;font-weight:600;margin-bottom:8px}.modal-list .modal-body .modal-list-item .item-content .item-description{color:#6c757d;font-size:14px}.modal-list .modal-body .modal-list-item .item-action{margin-left:auto}.modal-content .modal-description{color:#6c757d;font-size:14px;margin-bottom:24px}.modal-content .password-form .form-input,.modal-content .password-form .form-textarea{border:2px solid #0d245333;border-radius:6px;font-size:14px;padding:16px 24px;transition:all .3s ease;width:100%}.modal-content .password-form .form-input:focus,.modal-content .password-form .form-textarea:focus{border-color:#0d2453;outline:none}.modal-content .password-form .form-input::placeholder,.modal-content .password-form .form-textarea::placeholder{color:#6c757d}.modal-content .contact-details .info-grid{grid-gap:24px;background:#f8f9fa;border-radius:6px;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px;padding:24px}@media(max-width:480px){.modal-content .contact-details .info-grid{gap:16px;grid-template-columns:1fr}}.modal-content .contact-details .info-grid .info-item{display:flex;flex-direction:column;gap:8px}.modal-content .contact-details .info-grid .info-item label{font-weight:600}.modal-content .contact-details .info-grid .info-item span{color:#6c757d}.modal-content .contact-details .content-section{margin-bottom:32px}.modal-content .contact-details .content-section .content-item{margin-bottom:24px}.modal-content .contact-details .content-section .content-item label{font-weight:600}.modal-content .contact-details .content-section .content-item .content-text{background:#f8f9fa;color:#343a40;line-height:1.6;padding:24px}.modal-content .contact-details .reply-section{background:linear-gradient(135deg,#0d24530d,#0d24531a);border-left:4px solid #0d2453;padding:24px}.modal-content .contact-details .reply-section .reply-header{margin-bottom:16px}.modal-content .contact-details .reply-section .reply-header h4{color:#0d2453}.modal-content .contact-details .reply-section .reply-header .reply-date{color:#6c757d}.modal-content .contact-details .reply-section .reply-content{color:#343a40;line-height:1.6}.modal-content .contact-details .pending-notice{align-items:center;background:#f59e0b1a;border-left:4px solid #f59e0b;display:flex;gap:16px;padding:24px}.modal-content .contact-details .pending-notice p{color:#945f06;font-weight:500}.pagination{align-items:center;display:flex;gap:8px;justify-content:center;margin:32px 0}.pagination-ellipsis,.pagination-item,.pagination-next,.pagination-prev{align-items:center;background:#fff;border:1px solid #0d245333;border-radius:4px;color:#0d2453;display:flex;font-weight:500;height:40px;justify-content:center;min-width:40px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.pagination-ellipsis:hover:not(.disabled),.pagination-item:hover:not(.disabled),.pagination-next:hover:not(.disabled),.pagination-prev:hover:not(.disabled){background:#0d24531a;border-color:#0d2453}.active.pagination-ellipsis,.active.pagination-next,.active.pagination-prev,.pagination-item.active{background:#0d2453;border-color:#0d2453;color:#fff}.disabled.pagination-ellipsis,.disabled.pagination-next,.disabled.pagination-prev,.pagination-item.disabled{background:#f8f9fa;border-color:#0d24531a;color:#6c757d;cursor:not-allowed;opacity:.5}.pagination-next,.pagination-prev{font-weight:600}.pagination-next.disabled,.pagination-prev.disabled{cursor:not-allowed}.pagination-ellipsis{background:#0000;border:none;cursor:default}.pagination-ellipsis:hover{background:#0000}.pagination-sm .pagination-ellipsis,.pagination-sm .pagination-item,.pagination-sm .pagination-next,.pagination-sm .pagination-prev{font-size:14px;height:32px;min-width:32px;padding:8px}.pagination-lg .pagination-ellipsis,.pagination-lg .pagination-item,.pagination-lg .pagination-next,.pagination-lg .pagination-prev{font-size:18px;height:48px;min-width:48px;padding:16px 24px}.pagination-with-info{align-items:center;display:flex;justify-content:space-between;margin:32px 0}.pagination-with-info .pagination-info{color:#6c757d;font-size:14px}.pagination-with-info .pagination{margin:0}@media(max-width:480px){.pagination{gap:8px}.pagination-ellipsis,.pagination-item,.pagination-next,.pagination-prev{font-size:14px;height:36px;min-width:36px;padding:8px}.pagination-with-info{align-items:stretch;flex-direction:column;gap:24px}.pagination-with-info .pagination-info{text-align:center}}.modal-footer .pagination,.table-pagination .pagination{margin:0}.spinner{animation:spin 1s linear infinite;border:2px solid #f8f9fa;border-radius:50%;border-top-color:#0d2453;display:inline-block;height:20px;width:20px}.spinner-sm{border-width:2px;height:16px;width:16px}.spinner-lg{border-width:3px;height:32px;width:32px}.spinner-xl{border-width:4px;height:48px;width:48px}.spinner-primary{border-top-color:#0d2453}.spinner-secondary{border-top-color:#ea580c}.spinner-success{border-top-color:#f59e0b}.spinner-error,.spinner-warning{border-top-color:#ea580c}.spinner-with-text{align-items:center;display:flex;gap:16px}.spinner-with-text .spinner-text{color:#6c757d;font-size:14px}.spinner-centered{height:100%;min-height:200px;width:100%}.spinner-centered,.spinner-overlay{align-items:center;display:flex;justify-content:center}.spinner-overlay{background:#fffc;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.table .spinner{margin:0 auto}.action-card .spinner,.card .spinner,.info-card .spinner,.notification-card .spinner,.profile-card .spinner,.stat-card .spinner{margin:32px auto}.spinner-pulse{animation:pulse 1.2s ease-in-out infinite;background:#0d2453;border-radius:50%;height:20px;width:20px}.spinner-dots{display:inline-flex;gap:8px}.spinner-dots .spinner-dot{animation:dots 1.4s ease-in-out infinite both;background:#0d2453;border-radius:50%;height:8px;width:8px}.spinner-dots .spinner-dot:first-child{animation-delay:-.32s}.spinner-dots .spinner-dot:nth-child(2){animation-delay:-.16s}@keyframes dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.spinner-ring{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#0d2453;height:20px;width:20px}@media(max-width:480px){.spinner{height:18px;width:18px}.spinner-lg{height:28px;width:28px}.spinner-xl{height:40px;width:40px}}.table-container,.table-wrapper{background:#fff;border:1px solid #0d24531a;box-shadow:0 2px 4px #0000001a}.lesson-requests-table,.oneday-requests-table,.table,.users-table{background:#fff;border-collapse:collapse;font-size:16px;width:100%}.lesson-requests-table td,.lesson-requests-table th,.oneday-requests-table td,.oneday-requests-table th,.table td,.table th,.users-table td,.users-table th{border-bottom:1px solid #0d24531a;padding:24px;text-align:left;vertical-align:middle}.lesson-requests-table th,.oneday-requests-table th,.table th,.users-table th{background:#f8f9fa;color:#0d2453;font-size:14px;font-weight:600;letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.lesson-requests-table tbody tr:hover,.oneday-requests-table tbody tr:hover,.table tbody tr:hover,.users-table tbody tr:hover{background:#0d245305}.lesson-requests-table tbody tr:last-child td,.oneday-requests-table tbody tr:last-child td,.table tbody tr:last-child td,.users-table tbody tr:last-child td{border-bottom:none}.student-name-cell .name{color:#343a40;font-weight:600;margin-bottom:4px}.student-name-cell .sub-info{color:#6c757d;font-size:14px}.preferred-time-cell{word-wrap:break-word;max-width:300px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-align:center;white-space:nowrap}.status-badge.pending{background:#0d24531a;color:#0d2453}.status-badge.active,.status-badge.approved,.status-badge.scheduled{background:#10b9811a;color:#10b981}.status-badge.cancelled,.status-badge.inactive,.status-badge.rejected,.status-badge.suspended{background:#ef44441a;color:#ef4444}.status-badge.contacted{background:#f59e0b1a;color:#f59e0b}.status-badge.completed{background:#0d24531a;color:#0d2453}.status-badge.replied{background:#10b9811a;color:#10b981}.status-badge.closed{background:#6c757d1a;color:#6c757d}@media(max-width:768px){.table-view{display:none}.card-view{display:block}}.table-actions{display:flex;gap:8px;justify-content:flex-end}.table-status{align-items:center;display:inline-flex;gap:8px}.table-status .status-dot{border-radius:50%;height:8px;width:8px}.table-status .status-dot.status-active{background:#f59e0b}.table-status .status-dot.status-inactive{background:#ea580c}.table-status .status-dot.status-pending{background:#0d2453}.table-filters{background:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:24px}.table-filters .filter-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.table-filters .filter-group label{color:#0d2453;font-size:14px;font-weight:600}.table-filters .filter-group input,.table-filters .filter-group select{border:1px solid #0d245333;border-radius:4px;font-size:14px;padding:8px}.table-filters .filter-actions{align-items:flex-end;display:flex;gap:16px}.table-pagination{align-items:center;background:#f8f9fa;border-top:1px solid #0d24531a;display:flex;justify-content:space-between;padding:24px}.table-pagination .pagination-info{color:#6c757d;font-size:14px}.table-pagination .pagination-controls{display:flex;gap:8px}.table-empty{color:#6c757d;padding:48px 24px;text-align:center}.table-empty .empty-icon{font-size:48px;margin-bottom:24px;opacity:.5}.table-empty .empty-title{color:#343a40;font-size:18px;margin-bottom:16px}.table-empty .empty-description{margin-bottom:32px}.table-sortable th{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.table-sortable th:hover{background:#0d24531a}.table-sortable th:after{content:"↕";font-size:14px;opacity:.5;position:absolute;right:16px}.table-sortable th.sort-asc:after{color:#0d2453;content:"↑";opacity:1}.table-sortable th.sort-desc:after{color:#0d2453;content:"↓";opacity:1}.table-selectable tbody tr{cursor:pointer}.table-selectable tbody tr.selected{background:#0d24531a}.table-selectable tbody tr .selection-checkbox{accent-color:#0d2453;height:18px;width:18px}.simple-calendar{border-radius:8px;font-size:.9rem;max-width:100%;overflow:hidden;width:100%}@media(min-width:768px){.simple-calendar{font-size:1rem}}.calendar-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-direction:row;justify-content:space-between}.calendar-header .month-nav-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.4rem;transition:background-color .2s}@media(min-width:768px){.calendar-header .month-nav-btn{font-size:1.2rem;padding:.5rem}}.calendar-header .month-nav-btn:hover{background-color:#e9ecef}.calendar-header .current-month{color:#333;font-size:1.1rem;font-weight:600;margin:0}@media(min-width:768px){.calendar-header .current-month{font-size:1.3rem}}.calendar-weekdays{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays .weekday-header{color:#495057;font-size:.8rem;font-weight:600;padding:.5rem 0;text-align:center}@media(min-width:768px){.calendar-weekdays .weekday-header{font-size:.9rem;padding:.75rem 0}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);max-width:100%;min-height:300px;overflow:hidden;width:100%}@media(min-width:768px){.calendar-grid{min-height:350px}}@media(min-width:1200px){.calendar-grid{min-height:400px}}.calendar-day{border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;cursor:pointer;display:flex;flex-direction:column;min-height:70px;padding:.25rem;position:relative;transition:background-color .2s}@media(min-width:768px){.calendar-day{min-height:80px;padding:.5rem}}@media(min-width:1200px){.calendar-day{min-height:100px}}.calendar-day:hover{background-color:#f8f9fa}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background-color:#f8f9fa;color:#adb5bd}.calendar-day.today{background-color:#e3f2fd;font-weight:600}.calendar-day.past-date{color:#adb5bd;cursor:not-allowed;opacity:.6}.calendar-day.past-date,.calendar-day.past-date:hover{background-color:#f8f9fa}.calendar-day.past-date .day-number{color:#adb5bd}.calendar-day.past-date .day-events{opacity:.5}.calendar-day .day-number{font-size:.9rem;font-weight:500;margin-bottom:.25rem}@media(min-width:768px){.calendar-day .day-number{font-size:1rem;margin-bottom:.5rem}}.calendar-day .day-events{display:flex;flex-direction:row;flex-wrap:wrap;gap:.15rem;margin-top:auto;width:100%}@media(min-width:768px){.calendar-day .day-events{gap:.25rem}}.calendar-day .day-events .event-item{align-items:center;background:#007bff;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-direction:row;font-size:.6rem;gap:.2rem;max-width:100%;overflow:hidden;padding:.15rem .3rem;transition:background-color .2s;white-space:nowrap}@media(min-width:768px){.calendar-day .day-events .event-item{font-size:.65rem;gap:.3rem;padding:.2rem .4rem}}.calendar-day .day-events .event-item:hover{opacity:.8}.calendar-day .day-events .event-item .event-time{flex-shrink:0;font-size:.55rem;font-weight:600}@media(min-width:768px){.calendar-day .day-events .event-item .event-time{font-size:.6rem}}.calendar-day .day-events .event-item .event-title{font-size:.55rem;max-width:45px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:768px){.calendar-day .day-events .event-item .event-title{font-size:.6rem;max-width:60px}}.calendar-day .day-events .more-events{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#6c757d;font-size:.55rem;padding:.15rem .3rem;text-align:center}@media(min-width:768px){.calendar-day .day-events .more-events{font-size:.6rem;padding:.2rem .4rem}}.calendar-day .day-events .more-events.clickable{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.calendar-day .day-events .more-events.clickable:hover{background:#e9ecef;border-color:#adb5bd;color:#495057}.calendar-day .day-events .more-events.clickable:active{transform:translateY(0)}.schedule-tooltip{background:#fff;border:1px solid #e9ecef;border-radius:8px;font-family:inherit;max-height:400px;max-width:300px;min-width:250px;overflow:hidden;position:fixed;z-index:1000}.schedule-tooltip .tooltip-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.75rem 1rem}.schedule-tooltip .tooltip-header .tooltip-date{color:#495057;font-size:.9rem;font-weight:600;margin:0}.schedule-tooltip .tooltip-header .tooltip-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:all .2s ease;width:24px}.schedule-tooltip .tooltip-header .tooltip-close:hover{background:#e9ecef;color:#495057}.schedule-tooltip .tooltip-content{max-height:300px;overflow-y:auto;padding:.75rem 1rem}.schedule-tooltip .tooltip-content .no-events{color:#6c757d;font-style:italic;margin:0;padding:1rem 0;text-align:center}.schedule-tooltip .tooltip-content .events-list{display:flex;flex-direction:column;gap:.75rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip{background:#f8f9fa;border-radius:4px;padding:.5rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-time{color:#495057;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-info{display:flex;flex-direction:column;gap:.25rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-info .event-type{background:#e9ecef;border-radius:12px;color:#6c757d;display:inline-block;font-size:.65rem;padding:.2rem .4rem;width:-webkit-fit-content;width:fit-content}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-info .event-title{color:#495057;font-size:.8rem;font-weight:500;line-height:1.3}.schedule-tooltip .tooltip-content::-webkit-scrollbar{width:6px}.schedule-tooltip .tooltip-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.schedule-tooltip .tooltip-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.schedule-tooltip .tooltip-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.schedule-tooltip{max-height:350px;max-width:280px;min-width:220px}.schedule-tooltip .tooltip-header{padding:.5rem .75rem}.schedule-tooltip .tooltip-header .tooltip-date{font-size:.85rem}.schedule-tooltip .tooltip-content{max-height:250px;padding:.5rem .75rem}.schedule-tooltip .tooltip-content .events-list{gap:.5rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip{padding:.4rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-time{font-size:.7rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-info .event-type{font-size:.6rem;padding:.15rem .3rem}.schedule-tooltip .tooltip-content .events-list .event-item-tooltip .event-info .event-title{font-size:.75rem}}.layout,.layout .layout-main{display:flex;min-height:100vh}.layout .layout-main{flex:1 1;flex-direction:column;position:relative;transition:margin-left .3s ease;width:100%}@media(min-width:768px){.layout .layout-main{margin-left:280px}.layout .layout-main.no-sidebar{margin-left:0}}.layout .layout-content{flex:1 1}.layout .mobile-menu-btn{left:16px;position:absolute;top:16px;z-index:999}@media(min-width:1025px){.layout .mobile-menu-btn{display:none}}.layout .mobile-menu-btn .menu-toggle-btn{align-items:center;background:#0d2453;border:none;border-radius:4px;box-shadow:0 2px 8px #0d24534d;color:#fff;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;padding:16px;transition:all .3s ease;width:44px}@media(max-width:767px){.layout .mobile-menu-btn .menu-toggle-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none}}@media(min-width:768px){.layout .mobile-menu-btn .menu-toggle-btn:hover{background:#061127;box-shadow:0 4px 12px #0d245366}}.layout .mobile-menu-btn .menu-toggle-btn:active{transform:scale(.95)}.row{display:flex;flex-wrap:wrap;margin:-16px}@media(min-width:768px){.row{margin:-24px}}@media(min-width:1024px){.row{margin:-32px}}.col{flex:1 1;padding:0 16px}@media(min-width:768px){.col{padding:0 24px}}@media(min-width:1024px){.col{padding:0 32px}}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%;padding:0 16px}@media(min-width:768px){.col-1{padding:0 24px}}@media(min-width:1024px){.col-1{padding:0 32px}}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%;padding:0 16px}@media(min-width:768px){.col-2{padding:0 24px}}@media(min-width:1024px){.col-2{padding:0 32px}}.col-3{flex:0 0 25%;max-width:25%;padding:0 16px}@media(min-width:768px){.col-3{padding:0 24px}}@media(min-width:1024px){.col-3{padding:0 32px}}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%;padding:0 16px}@media(min-width:768px){.col-4{padding:0 24px}}@media(min-width:1024px){.col-4{padding:0 32px}}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%;padding:0 16px}@media(min-width:768px){.col-5{padding:0 24px}}@media(min-width:1024px){.col-5{padding:0 32px}}.col-6{flex:0 0 50%;max-width:50%;padding:0 16px}@media(min-width:768px){.col-6{padding:0 24px}}@media(min-width:1024px){.col-6{padding:0 32px}}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%;padding:0 16px}@media(min-width:768px){.col-7{padding:0 24px}}@media(min-width:1024px){.col-7{padding:0 32px}}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%;padding:0 16px}@media(min-width:768px){.col-8{padding:0 24px}}@media(min-width:1024px){.col-8{padding:0 32px}}.col-9{flex:0 0 75%;max-width:75%;padding:0 16px}@media(min-width:768px){.col-9{padding:0 24px}}@media(min-width:1024px){.col-9{padding:0 32px}}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%;padding:0 16px}@media(min-width:768px){.col-10{padding:0 24px}}@media(min-width:1024px){.col-10{padding:0 32px}}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%;padding:0 16px}@media(min-width:768px){.col-11{padding:0 24px}}@media(min-width:1024px){.col-11{padding:0 32px}}.col-12{flex:0 0 100%;max-width:100%;padding:0 16px}@media(min-width:768px){.col-12{padding:0 24px}}@media(min-width:1024px){.col-12{padding:0 32px}}@media(min-width:768px){.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}}@media(min-width:1024px){.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.flex-grow-1{flex-grow:1}.flex-shrink-1{flex-shrink:1}.m-0{margin:0}.m-1{margin:8px}.m-2{margin:16px}.m-3{margin:24px}.m-4{margin:32px}.m-5{margin:48px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:48px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:48px}.ml-0{margin-left:0}.ml-1{margin-left:8px}.ml-2{margin-left:16px}.ml-3{margin-left:24px}.ml-4{margin-left:32px}.ml-5{margin-left:48px}.mr-0{margin-right:0}.mr-1{margin-right:8px}.mr-2{margin-right:16px}.mr-3{margin-right:24px}.mr-4{margin-right:32px}.mr-5{margin-right:48px}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:8px;margin-right:8px}.mx-2{margin-left:16px;margin-right:16px}.mx-3{margin-left:24px;margin-right:24px}.mx-4{margin-left:32px;margin-right:32px}.mx-5{margin-left:48px;margin-right:48px}.my-0{margin-bottom:0;margin-top:0}.my-1{margin-bottom:8px;margin-top:8px}.my-2{margin-bottom:16px;margin-top:16px}.my-3{margin-bottom:24px;margin-top:24px}.my-4{margin-bottom:32px;margin-top:32px}.my-5{margin-bottom:48px;margin-top:48px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.p-5{padding:48px}.pt-0{padding-top:0}.pt-1{padding-top:8px}.pt-2{padding-top:16px}.pt-3{padding-top:24px}.pt-4{padding-top:32px}.pt-5{padding-top:48px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:8px}.pb-2{padding-bottom:16px}.pb-3{padding-bottom:24px}.pb-4{padding-bottom:32px}.pb-5{padding-bottom:48px}.pl-0{padding-left:0}.pl-1{padding-left:8px}.pl-2{padding-left:16px}.pl-3{padding-left:24px}.pl-4{padding-left:32px}.pl-5{padding-left:48px}.pr-0{padding-right:0}.pr-1{padding-right:8px}.pr-2{padding-right:16px}.pr-3{padding-right:24px}.pr-4{padding-right:32px}.pr-5{padding-right:48px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:8px;padding-right:8px}.px-2{padding-left:16px;padding-right:16px}.px-3{padding-left:24px;padding-right:24px}.px-4{padding-left:32px;padding-right:32px}.px-5{padding-left:48px;padding-right:48px}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:8px;padding-top:8px}.py-2{padding-bottom:16px;padding-top:16px}.py-3{padding-bottom:24px;padding-top:24px}.py-4{padding-bottom:32px;padding-top:32px}.py-5{padding-bottom:48px;padding-top:48px}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:-webkit-sticky;position:sticky}.w-100{width:100%}.h-100{height:100%}.w-auto{width:auto}.h-auto{height:auto}.border{border:1px solid #0d24531a}.border-top{border-top:1px solid #0d24531a}.border-bottom{border-bottom:1px solid #0d24531a}.border-left{border-left:1px solid #0d24531a}.border-right{border-right:1px solid #0d24531a}.border-0{border:0}.border-top-0{border-top:0}.border-bottom-0{border-bottom:0}.border-left-0{border-left:0}.border-right-0{border-right:0}.rounded{border-radius:4px}.rounded-top{border-top-left-radius:4px;border-top-right-radius:4px}.rounded-bottom{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.rounded-left{border-bottom-left-radius:4px;border-top-left-radius:4px}.rounded-right{border-bottom-right-radius:4px;border-top-right-radius:4px}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.shadow,.shadow-none,.shadow-sm{box-shadow:none}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}@media(max-width:480px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}}@media(min-width:768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}}@media(min-width:1024px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}}.header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:flex-start;padding:12px;top:0;transition:all .3s ease;width:100%;z-index:100}.header .header-title{color:#0d2453}.header .nav-link{border:none!important;color:#0d2453!important;padding:.5rem 0;position:relative;text-decoration:none;transition:all .3s ease}.header .nav-link:hover{background:none!important;border-color:none!important}.header .nav-link:after{background:#0d2453;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.header .nav-link:hover:after{width:100%}.header .nav-link.active{color:#0d2453}.header .nav-link.active:after{width:100%}.header .header-menu-btn{color:#fffc}.header .header-menu-btn:hover{background:#ffffff1a;color:#0d2453}.header .header-user{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px}.header .header-user .user-greeting{color:#0d2453}.header .header-user .user-role{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#0d2453;font-size:.8rem;font-weight:500;padding:4px 8px}.header .header-user .user-role.admin-role{background:#f4b9421a;border-color:#f4b9424d;color:#0d2453}.header .header-user .user-role.teacher-role{background:#3b82f61a;border-color:#3b82f64d;color:#0d2453}.header .header-user .logout-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 12px;transition:all .2s ease}.header .header-user .logout-btn:hover{background:#dc2626}@media(max-width:767px){.header.desktop-only{display:none}}@media(min-width:1024px){.header.desktop-only{display:flex}}@media(min-width:768px){.header{padding:16px}}@media(min-width:1024px){.header{padding:20px}}.header-left{align-items:center;display:flex;gap:12px}@media(min-width:768px){.header-left{gap:16px}}.header-left .header-menu-btn{align-items:center;background:none;border:none;border-radius:6px;color:#4b5563;cursor:pointer;display:flex;font-size:14px;justify-content:center;min-height:40px;min-width:40px;padding:8px;transition:all .3s ease}.header-left .header-menu-btn:hover{background:#f3f4f6;color:#1f2937}@media(min-width:1024px){.header-left .header-menu-btn{display:none}}.header-left .header-title{color:#0d2453;font-size:14px;font-weight:700;margin:0;white-space:nowrap}@media(min-width:768px){.header-left .header-title{font-size:18px}}@media(min-width:1024px){.header-left .header-title{font-size:24px}}.header-center{align-items:center;display:flex;flex:1 1;justify-content:center;margin:0 16px}@media(max-width:1024px){.header-center{display:none}}.header-center .header-nav{align-items:center;display:flex;flex-wrap:wrap;gap:32px;justify-content:center}.header-center .header-nav .nav-link{border:1px solid #0000;border-radius:6px;color:#4b5563;display:inline-block;font-size:14px;font-weight:500;padding:8px 12px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.header-center .header-nav .nav-link:active{transform:translateY(0)}.header-center .header-nav .nav-link .pending-badge{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:4px;position:absolute;right:-4px;top:-4px}.header-right{align-items:center;display:flex;gap:8px;margin-left:auto}@media(min-width:768px){.header-right{gap:12px}}.header-user{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;padding:8px}@media(min-width:768px){.header-user{gap:12px;padding:12px}}.header-user .user-greeting{color:#374151;font-size:14px;font-weight:500;white-space:nowrap}@media(min-width:768px){.header-user .user-greeting{font-size:16px}}.header-user .user-role{background:#fff;border:1px solid #e5e7eb;border-radius:2px;color:#6b7280;font-size:12px;padding:4px 8px;white-space:nowrap}@media(min-width:768px){.header-user .user-role{font-size:14px;padding:4px 12px}}.header-user .logout-btn{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .3s ease;white-space:nowrap}@media(min-width:768px){.header-user .logout-btn{font-size:14px;padding:8px 16px}.header-user .logout-btn:hover{background:#dc2626;box-shadow:0 1px 8px #ef44444d}}.header-user .logout-btn:active{transform:translateY(0)}.header-guest .header-right .header-guest-actions{align-items:center;display:flex;gap:20px}@media(max-width:640px){.header-guest .header-right .header-guest-actions{align-items:flex-end;flex-direction:column;gap:8px}}.header-guest .header-right .header-guest-actions .btn-primary{padding:8px 16px}.header-guest .header-right .lang-btn{background:#0000;border:1px solid #0d2453;border-radius:20px;color:#0d2453;cursor:pointer;font-size:14px;font-weight:500;min-width:50px;padding:8px 16px;transition:all .3s ease}@media(min-width:768px){.header-guest .header-right .lang-btn{font-size:14px;padding:8px 16px}.header-guest .header-right .lang-btn:hover{background:#0d2453;color:#fff}}.header-guest .header-right .guest-actions{align-items:center;display:flex;gap:12px}@media(max-width:640px){.header-guest .header-right .guest-actions{align-items:flex-end;flex-direction:column;gap:8px}}.header-user .user-role.admin-role{background:#fef3c7;border-color:#fcd34d;color:#b45309}.header-user .user-role.teacher-role{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}@media(max-width:640px){.header{padding:8px}.header-left{gap:8px}.header-left .header-title{font-size:16px}.header-user{align-items:flex-end;flex-direction:column;gap:4px;padding:8px}.header-user .user-greeting{font-size:12px;text-align:right}.header-user .user-role{font-size:12px;padding:4px}.header-user .logout-btn{font-size:12px;padding:4px 8px}.header-guest .header-guest-actions .language-selector .lang-btn{font-size:12px;min-height:20px;min-width:28px;padding:4px}.header-guest .header-guest-actions .guest-actions .contact-link{font-size:12px;padding:4px 8px}}@media(max-width:360px){.header{padding:4px}.header-left .header-title{font-size:14px}.header-user .user-greeting{font-size:12px}.header-user .logout-btn{font-size:12px;padding:4px}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sidebar{background:#fff;border-right:1px solid #0d24531a;box-shadow:0 4px 20px #0000001a;display:none;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.sidebar.sidebar-open{transform:translateX(0)}@media(min-width:768px){.sidebar{transform:translateX(0);z-index:100}}@media(max-width:767px){.sidebar{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sidebar.sidebar-open{transform:translateX(0);z-index:1001}}.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .25s cubic-bezier(.4,0,.2,1);z-index:999}.sidebar-open+.sidebar-overlay{opacity:1}@media(min-width:768px){.sidebar-overlay{display:none}}.sidebar-header{background:#0d2453;border-bottom:1px solid #0d24531a;color:#fff;justify-content:space-between;padding:24px}.sidebar-header,.sidebar-header .sidebar-brand{align-items:center;display:flex}.sidebar-header .sidebar-brand .sidebar-title{color:#fff;font-size:18px;font-weight:700;margin:0}.sidebar-header .sidebar-close{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;padding:8px;transition:all .3s ease;width:32px}@media(max-width:767px){.sidebar-header .sidebar-close{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none}}@media(min-width:768px){.sidebar-header .sidebar-close:hover{background:#ffffff4d}.sidebar-header .sidebar-close{display:none}}.sidebar-user{background:#f9fafb;border-bottom:1px solid #0d24531a;padding:24px}@media(max-width:767px){.sidebar-user.mobile-only{display:block}}@media(min-width:1024px){.sidebar-user.mobile-only{display:none}}.sidebar-user .user-info{align-items:center;display:flex;gap:16px;justify-content:center;text-align:center}.sidebar-user .user-info .user-details{align-items:center;display:flex;flex-direction:column;gap:8px}.sidebar-user .user-info .user-name{color:#343a40;font-size:16px;font-weight:600;margin:0;text-align:center}.sidebar-user .user-info .user-role{background:#0d2453;border:none;border-radius:2px;color:#fff;font-size:12px;font-weight:500;min-width:48px;padding:4px 8px;text-align:center}.sidebar-language{border-bottom:1px solid #0d24531a;padding:24px}@media(max-width:767px){.sidebar-language.mobile-only{display:block}}@media(min-width:1024px){.sidebar-language.mobile-only{display:none}}.sidebar-language .language-selector{align-items:center;display:flex;gap:4px;justify-content:flex-end}.sidebar-language .language-selector .lang-btn{background:none;border:none;border-radius:2px;color:#4b5563;cursor:pointer;font-size:12px;font-weight:500;min-height:24px;min-width:32px;padding:4px 8px;transition:all .3s ease}@media(max-width:767px){.sidebar-language .language-selector .lang-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none}}@media(min-width:768px){.sidebar-language .language-selector .lang-btn:hover{background:#f3f4f6;color:#1f2937}}.sidebar-language .language-selector .lang-btn.active{background:#0d2453;color:#fff;font-weight:600}.sidebar-language .language-selector .lang-divider{color:#9ca3af;font-size:12px;font-weight:500;padding:0 4px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:24px 0}@media(max-width:767px){.sidebar-nav{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-color:#0d24534d #0000;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:#0d24534d;border-radius:2px}}.sidebar-nav .nav-header{padding:0 24px 16px}.sidebar-nav .nav-header .nav-title{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sidebar-nav .nav-list{list-style:none;margin:0;padding:0}.sidebar-nav .nav-item{margin:0}.sidebar-nav .nav-link{align-items:center;background:none;border:none;color:#343a40;cursor:pointer;display:flex;font-family:inherit;font-size:inherit;gap:10px;padding:16px 24px;position:relative;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}@media(max-width:767px){.sidebar-nav .nav-link{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:48px;-webkit-user-select:none;user-select:none}}@media(min-width:768px){.sidebar-nav .nav-link:hover{background:#0d24530d;color:#0d2453;transform:translateX(4px)}}.sidebar-nav .nav-link.nav-link-active{background:#0d24531a;border-left-color:#0d2453;color:#0d2453;font-weight:600;width:100%}.sidebar-nav .nav-link.nav-link-logout{border-top:1px solid #0d24531a;color:#ef4444;margin-top:16px}@media(min-width:768px){.sidebar-nav .nav-link.nav-link-logout:hover{background:#ef44440d;color:#dc2626}}.sidebar-nav .nav-link .nav-label{flex:1 1;font-size:14px}.sidebar-nav .nav-link .nav-count{background:#ea580c;border-radius:2px;color:#fff;font-size:12px;font-weight:600;min-width:20px;padding:4px 8px;text-align:center}.sidebar-footer{background:#f9fafb;border-top:1px solid #0d24531a;padding:24px}@media(max-width:767px){.sidebar-footer.mobile-only{display:block}}@media(min-width:1024px){.sidebar-footer.mobile-only{display:none}}.sidebar-footer .footer-content{text-align:center}.sidebar-footer .footer-content .footer-text{color:#343a40;font-size:14px;font-weight:600;margin:0 0 4px}.sidebar-footer .footer-content .footer-subtext{color:#6c757d;font-size:12px;margin:0}.sidebar-guest{border-bottom:1px solid #ffffff1a;padding:0 1rem}.sidebar-guest .sidebar-language{align-items:center;display:flex;justify-content:flex-end}.sidebar-guest .sidebar-language .lang-btn{background:none;border:none;border-radius:.25rem;color:#2e2e2eb3;cursor:pointer;font-size:.875rem;font-weight:500;padding:.25rem .5rem;transition:all .2s ease}.sidebar-guest .sidebar-language .lang-btn.active{background:#f3f4f6;color:#0d2453}@media(min-width:768px){.sidebar-guest .sidebar-language .lang-btn:hover{background:#ffffff1a;color:#0d2453}}.sidebar-guest .sidebar-language .lang-divider{color:#ffffff80;font-size:.75rem;margin:0 .5rem}.sidebar-guest .guest-actions{display:flex;flex-direction:column;gap:.5rem}.sidebar-guest .guest-actions .guest-action-btn{align-items:center;border-radius:.5rem;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}@media(max-width:767px){.sidebar-guest .guest-actions .guest-action-btn{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:48px;-webkit-user-select:none;user-select:none}}.sidebar-guest .guest-actions .guest-action-btn.login-btn{background:#0d2453;color:#fff}@media(min-width:768px){.sidebar-guest .guest-actions .guest-action-btn.login-btn:hover{background:#061127}}.sidebar-guest .guest-actions .guest-action-btn.contact-btn{background:#ffffff1a;border:1px solid #fff3;color:#fff}@media(min-width:768px){.sidebar-guest .guest-actions .guest-action-btn.contact-btn:hover{background:#fff3;border-color:#ffffff4d}}.sidebar-logout-btn{background:#ef44441a;border:1px solid #ef44444d;border-radius:.5rem;color:#ef4444;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}@media(min-width:768px){.sidebar-logout-btn:hover{background:#ef444433;border-color:#ef444480}}.sidebar-toggle{align-items:center;background:#0d2453;border:none;border-radius:4px;box-shadow:none;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;left:24px;padding:16px;position:fixed;top:24px;width:40px;z-index:1001}@media(max-width:767px){.sidebar-toggle{-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:44px;min-width:44px;-webkit-user-select:none;user-select:none}}.sidebar-toggle:hover{background:#061127}@media(min-width:768px){.sidebar-toggle{display:none}}.main-content{margin-left:0;transition:margin-left .3s ease}@media(min-width:768px){.main-content{margin-left:280px}}@media(max-width:480px){.sidebar{display:flex;width:100vw}.sidebar-header,.sidebar-language,.sidebar-user{padding:16px}.sidebar-nav{padding:16px 0}.sidebar-footer{padding:16px}}@media(min-width:480px)and (max-width:767px){.sidebar{width:320px}}.app-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#343a40;margin-top:auto;padding:24px 12px}@media(min-width:768px){.app-footer{padding:32px 16px}}.footer-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin:0 auto;max-width:100%}@media(min-width:768px){.footer-content{gap:32px;grid-template-columns:repeat(2,1fr);max-width:1200px}}@media(min-width:1024px){.footer-content{gap:24px;grid-template-columns:repeat(4,1fr)}}.footer-section{margin-bottom:16px;text-align:center}@media(min-width:768px){.footer-section{margin-bottom:0;text-align:left}}.footer-section h4{color:#0d2453;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}@media(min-width:768px){.footer-section h4{font-size:16px;margin-bottom:16px}}.footer-section p{color:#6c757d;font-size:12px;font-weight:400;line-height:1.5;margin-bottom:8px}@media(min-width:768px){.footer-section p{font-size:14px;margin-bottom:12px}}.footer-section a{color:#6c757d;display:block;font-size:12px;font-weight:400;margin-bottom:8px;padding:4px 0;position:relative;text-decoration:none;transition:all .3s ease}.footer-section a:hover{color:#0d2453;transform:translateX(2px)}@media(min-width:768px){.footer-section a{font-size:14px;margin-bottom:12px}}.footer-section a:last-child{margin-bottom:0}.footer-bottom{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}@media(min-width:768px){.footer-bottom{margin-top:32px;padding-top:32px}}.footer-bottom p{color:#6b7280;font-size:14px;font-weight:400;margin:0}@media(min-width:768px){.footer-bottom p{font-size:16px}}@media(max-width:640px){.app-footer{padding:16px 8px}.footer-content{gap:16px}.footer-section{background:#f9fafb;border-radius:6px;margin-bottom:12px;padding:8px}.footer-section h4{color:#0d2453;font-size:12px;margin-bottom:8px}.footer-section a,.footer-section p{font-size:12px;line-height:1.4;margin-bottom:4px}.footer-section a{border-radius:2px;padding:4px 8px;transition:all .3s ease}}@media(max-width:640px)and (min-width:768px){.footer-section a:hover{background:#f3f4f6;transform:translateX(2px)}}@media(max-width:640px){.footer-bottom{margin-top:16px;padding-top:16px}.footer-bottom p{color:#4b5563;font-size:12px}}@media(max-width:360px){.app-footer{padding:12px 4px}.footer-content{gap:12px}.footer-section{margin-bottom:8px;padding:4px}.footer-section a,.footer-section h4,.footer-section p{font-size:12px;margin-bottom:4px}.footer-bottom{margin-top:12px;padding-top:12px}.footer-bottom p{font-size:12px}}.home-page .hero-section{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px;min-height:80vh;padding:6rem 3rem}@media(max-width:768px){.home-page .hero-section{gap:2rem;grid-template-columns:1fr;min-height:auto;padding:6rem 1.5rem 3rem;text-align:center}}@media(max-width:480px){.home-page .hero-section{gap:1.5rem;padding:5rem 1rem 2rem}}.home-page .hero-content .hero-title{color:#343a40;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:1.5rem}.home-page .hero-content .hero-title span{color:#0d2453}@media(max-width:768px){.home-page .hero-content .hero-title{font-size:clamp(2rem,6vw,2.5rem);margin-bottom:1rem}}@media(max-width:480px){.home-page .hero-content .hero-title{font-size:clamp(1.8rem,7vw,2.2rem)}}.home-page .hero-content .hero-tagline{color:#6c757d;font-size:1.1rem;font-weight:400;margin-bottom:2.5rem}@media(max-width:768px){.home-page .hero-content .hero-tagline{font-size:1rem;margin-bottom:2rem}}@media(max-width:480px){.home-page .hero-content .hero-tagline{font-size:.95rem;margin-bottom:1.5rem}}.home-page .hero-content .hero-buttons{display:flex;gap:1.5rem}@media(max-width:768px){.home-page .hero-content .hero-buttons{align-items:center;gap:1rem;justify-content:center}}@media(max-width:480px){.home-page .hero-content .hero-buttons{gap:.8rem}}.home-page .hero-image{background:#f8f9fa;border-radius:12px;height:500px;overflow:hidden;position:relative}@media(max-width:768px){.home-page .hero-image{display:none}}.home-page .hero-image .hero-bg-image{height:100%;object-fit:cover;object-position:center;width:100%}.home-page .hero-image .hero-stats{grid-gap:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:8px;bottom:2rem;box-shadow:0 4px 20px #0000001a;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);left:2rem;padding:2rem;position:absolute;right:2rem}.home-page .hero-image .hero-stats .stat{text-align:center}.home-page .hero-image .hero-stats .stat .stat-number{color:#0d2453;font-size:2rem;font-weight:700}.home-page .hero-image .hero-stats .stat .stat-label{color:#6c757d;font-size:.9rem;margin-top:.5rem}.home-page .about-section{background:#f9fafb;padding:6rem 3rem}@media(max-width:768px){.home-page .about-section{padding:4rem 1.5rem}}@media(max-width:480px){.home-page .about-section{padding:3rem 1rem}}.home-page .section-header{margin-bottom:4rem;text-align:center}@media(max-width:768px){.home-page .section-header{margin-bottom:3rem}}@media(max-width:480px){.home-page .section-header{margin-bottom:2rem}}.home-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.home-page .section-header .section-label{font-size:.8rem}}.home-page .section-header .section-title{color:#343a40;font-size:2.5rem;font-weight:700;margin-bottom:1rem}@media(max-width:768px){.home-page .section-header .section-title{font-size:2rem}}@media(max-width:480px){.home-page .section-header .section-title{font-size:1.8rem}}.home-page .section-header .section-subtitle{color:#6c757d;font-size:1.1rem;margin:0 auto;max-width:600px}@media(max-width:768px){.home-page .section-header .section-subtitle{font-size:1rem;max-width:100%}}@media(max-width:480px){.home-page .section-header .section-subtitle{font-size:.95rem}}.home-page .features-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.home-page .features-grid{gap:2rem;grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.home-page .features-grid{gap:1.5rem;grid-template-columns:1fr}}.home-page .feature-item{background:#fff;border:1px solid #e5e7eb;padding:2.5rem;transition:all .3s ease}.home-page .feature-item:hover{border-color:#0d2453}@media(max-width:768px){.home-page .feature-item{padding:2rem}}@media(max-width:480px){.home-page .feature-item{padding:1.5rem}}.home-page .feature-item .feature-number{color:#0d2453;font-size:2rem;font-weight:700;margin-bottom:1rem}@media(max-width:480px){.home-page .feature-item .feature-number{font-size:1.8rem}}.home-page .feature-item h3{color:#343a40;font-size:1.2rem;font-weight:600;margin-bottom:1rem}@media(max-width:480px){.home-page .feature-item h3{font-size:1.1rem}}.home-page .feature-item p{color:#6c757d;font-size:.95rem;line-height:1.7}@media(max-width:480px){.home-page .feature-item p{font-size:.9rem;line-height:1.6}}.home-page .programs-section{margin:0 auto;max-width:1400px;padding:6rem 3rem}@media(max-width:768px){.home-page .programs-section{padding:4rem 1.5rem}}@media(max-width:480px){.home-page .programs-section{padding:3rem 1rem}}.home-page .programs-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(2,1fr);margin-top:4rem}@media(max-width:768px){.home-page .programs-grid{gap:2rem;grid-template-columns:1fr;margin-top:3rem}}@media(max-width:480px){.home-page .programs-grid{gap:1.5rem;margin-top:2rem}}.home-page .program-card{background:#fff;border:1px solid #e5e7eb;padding:3rem;position:relative;transition:all .3s ease}.home-page .program-card:hover{border-color:#0d245380}@media(max-width:768px){.home-page .program-card{padding:2rem}}@media(max-width:480px){.home-page .program-card{padding:1.5rem}}.home-page .program-card .program-type{background:#f8f9fa;color:#343a40;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:1.5rem;padding:.5rem 1rem;text-transform:uppercase}@media(max-width:480px){.home-page .program-card .program-type{font-size:.8rem;margin-bottom:1rem;padding:.4rem .8rem}}.home-page .program-card h3{color:#343a40;font-size:1.8rem;font-weight:700;margin-bottom:1rem}@media(max-width:768px){.home-page .program-card h3{font-size:1.5rem}}@media(max-width:480px){.home-page .program-card h3{font-size:1.3rem}}.home-page .program-card .program-description{color:#6c757d;line-height:1.7;margin-bottom:2rem}@media(max-width:480px){.home-page .program-card .program-description{font-size:.9rem;margin-bottom:1.5rem}}.home-page .program-card .program-features{list-style:none;margin-bottom:2rem}.home-page .program-card .program-features li{border-bottom:1px solid #f3f4f6;color:#343a40;font-size:.95rem;padding:.75rem 0}@media(max-width:480px){.home-page .program-card .program-features li{font-size:.9rem;padding:.6rem 0}}.home-page .program-card .program-features li:last-child{border-bottom:none}.home-page .program-card .program-cta{color:#0d2453;display:inline-block;font-size:.95rem;font-weight:600;position:relative;text-decoration:none;transition:all .2s ease}@media(max-width:480px){.home-page .program-card .program-cta{font-size:.9rem}}.home-page .program-card .program-cta:after{content:"→";display:inline-block;margin-left:.5rem;transition:transform .2s ease}.home-page .program-card .program-cta:hover:after{transform:translateX(5px)}.instructors-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.instructors-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.instructors-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.instructors-page .hero-section{padding:1.5rem 1rem 1rem}}.instructors-page .hero-section .hero-content{margin:0 auto;max-width:600px}.instructors-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.instructors-page .section-header{margin-bottom:1.5rem}}.instructors-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.instructors-page .section-header .section-label{font-size:.8rem}}.instructors-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.instructors-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.instructors-page .section-header .section-title{font-size:1.1rem}}.instructors-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.instructors-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.instructors-page .section-header .section-subtitle{font-size:.9rem}}.instructor-intro-section{margin-bottom:3rem;padding:2rem 0}.instructor-intro-section .intro-content .instructor-profile{align-items:center;display:flex;flex-direction:column;gap:2rem}@media(min-width:768px){.instructor-intro-section .intro-content .instructor-profile{align-items:flex-start;flex-direction:row;gap:3rem}}.instructor-intro-section .intro-content .instructor-profile .instructor-image{border-radius:10px;box-shadow:0 4px 20px #0d245326;height:180px;object-fit:cover;width:180px}@media(min-width:768px){.instructor-intro-section .intro-content .instructor-profile .instructor-image{height:220px;width:220px}}.instructor-intro-section .intro-content .instructor-profile .instructor-info{flex:1 1;text-align:center}@media(min-width:768px){.instructor-intro-section .intro-content .instructor-profile .instructor-info{text-align:left}}.instructor-intro-section .intro-content .instructor-profile .instructor-info h2{color:#343a40;font-size:1.6rem;font-weight:600;margin-bottom:1.5rem}@media(max-width:480px){.instructor-intro-section .intro-content .instructor-profile .instructor-info h2{font-size:1.4rem}}.instructor-intro-section .intro-content .instructor-profile .instructor-info .intro-text{color:#6c757d;font-size:.95rem;line-height:1.7;margin-bottom:1rem}@media(max-width:480px){.instructor-intro-section .intro-content .instructor-profile .instructor-info .intro-text{font-size:.9rem}}.instructor-intro-section .intro-content .instructor-profile .instructor-info .intro-text:last-child{margin-bottom:0}.features-section{padding:3rem 0}.features-section h2{color:#343a40;font-size:1.5rem;font-weight:700;margin:0;text-align:center}@media(max-width:768px){.features-section h2{font-size:1.3rem}}@media(max-width:480px){.features-section h2{font-size:1.1rem}}.features-section .features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:2rem}@media(min-width:768px){.features-section .features-grid{gap:2rem;grid-template-columns:repeat(3,1fr)}}.features-section .features-grid .feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;text-align:center;transition:all .3s ease}@media(max-width:480px){.features-section .features-grid .feature-card{padding:1.5rem}}.features-section .features-grid .feature-card:hover{border-color:#0d2453;box-shadow:0 2px 8px #0d24531a}.features-section .features-grid .feature-card h3{color:#343a40;font-size:1.1rem;font-weight:600;margin-bottom:1rem}@media(max-width:480px){.features-section .features-grid .feature-card h3{font-size:1rem}}.features-section .features-grid .feature-card p{color:#6c757d;font-size:.9rem;line-height:1.6;margin:0}@media(max-width:480px){.features-section .features-grid .feature-card p{font-size:.85rem}}.instructor-background-section{margin-bottom:2rem;padding:2rem 0}.instructor-background-section h2{color:#343a40;font-size:1.5rem;font-weight:700;margin:0;text-align:center}@media(max-width:768px){.instructor-background-section h2{font-size:1.3rem}}@media(max-width:480px){.instructor-background-section h2{font-size:1.1rem}}.instructor-background-section .background-content{margin:2rem auto 0;max-width:800px}.instructor-background-section .background-content .background-list{list-style:none;margin:0;padding:0}.instructor-background-section .background-content .background-list li{border-bottom:1px solid #e5e7eb;color:#6c757d;font-size:.9rem;line-height:1.6;padding:.8rem 0 .8rem 1.5rem;position:relative}@media(max-width:480px){.instructor-background-section .background-content .background-list li{font-size:.85rem;padding:.7rem 0 .7rem 1.3rem}}.instructor-background-section .background-content .background-list li:before{color:#0d2453;content:"•";font-weight:700;left:0;position:absolute;top:.8rem}@media(max-width:480px){.instructor-background-section .background-content .background-list li:before{top:.7rem}}.instructor-background-section .background-content .background-list li:last-child{border-bottom:none}@media(max-width:480px){.instructor-intro-section .intro-content .instructor-profile .instructor-image{height:150px;width:150px}.features-grid{gap:1rem;grid-template-columns:1fr}.feature-card{padding:1.5rem}}@media(max-width:360px){.instructor-intro-section .intro-content .instructor-profile .instructor-image{height:120px;width:120px}.features-grid{gap:1rem}.feature-card{padding:1rem}}.login-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;min-height:100vh}.login-page .hero-section{align-items:center;background:#fff;display:flex;flex-direction:column;height:30vh;justify-content:center;margin:0 auto;max-width:1200px;text-align:center}.login-page .hero-section .hero-content{margin:0 auto;max-width:600px}.login-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.login-page .section-header{margin-bottom:1.5rem}}.login-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.login-page .section-header .section-label{font-size:.8rem}}.login-page .section-header .section-title{color:#0d2453;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.login-page .section-header .section-title{font-size:1.5rem}}@media(max-width:480px){.login-page .section-header .section-title{font-size:1.3rem}}.login-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.login-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.login-page .section-header .section-subtitle{font-size:.9rem}}.login-form{width:100%}.login-form .form-group{margin-bottom:24px}.login-form .form-error{color:#ef4444;display:block;font-size:14px;margin-top:8px}.login-form .form-help{color:#6c757d;display:block;font-size:14px;margin-top:8px}.login-footer{border-top:1px solid #0d24531a;margin-top:2rem;padding-top:1.5rem;text-align:center}.login-footer .footer-links .footer-link{color:#6c757d;font-size:.9rem;text-decoration:none;transition:color .2s ease}.login-footer .footer-links .footer-link:hover{color:#0d2453}.login-footer .footer-links .footer-separator{color:#9ca3af;font-size:.9rem;margin:0 .5rem}@media(max-width:480px){.login-footer .footer-links .footer-link,.login-footer .footer-links .footer-separator{font-size:.85rem}}.forgot-password-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.forgot-password-page .hero-section{align-items:center;background:#fff;display:flex;flex-direction:column;height:30vh;justify-content:center;margin:0 auto;max-width:1200px;text-align:center}.forgot-password-page .hero-section .hero-content{margin:0 auto;max-width:600px}.forgot-password-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.forgot-password-page .section-header{margin-bottom:1.5rem}}.forgot-password-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.forgot-password-page .section-header .section-label{font-size:.8rem}}.forgot-password-page .section-header .section-title{color:#0d2453;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.forgot-password-page .section-header .section-title{font-size:1.5rem}}@media(max-width:480px){.forgot-password-page .section-header .section-title{font-size:1.3rem}}.forgot-password-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.forgot-password-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.forgot-password-page .section-header .section-subtitle{font-size:.9rem}}.forgot-password-form .form-note{margin-bottom:2rem;margin-top:1rem}.forgot-password-form .form-note p{color:#6c757d;font-size:.9rem;font-style:italic;line-height:1.5;text-align:center}@media(max-width:480px){.forgot-password-form .form-note p{font-size:.85rem}}.success-message{padding:2rem 0;text-align:center}.success-message .success-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 1.5rem;width:60px}@media(max-width:480px){.success-message .success-icon{font-size:1.8rem;height:50px;width:50px}}.success-message h3{color:#343a40;font-size:1.3rem;font-weight:600;margin-bottom:1rem}@media(max-width:480px){.success-message h3{font-size:1.2rem}}.success-message p{color:#6c757d;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}@media(max-width:480px){.success-message p{font-size:.9rem}}.forgot-password-footer{border-top:1px solid #0d24531a;margin-top:2rem;padding-top:1.5rem;text-align:center}.forgot-password-footer .footer-links .footer-link{color:#6c757d;font-size:.9rem;text-decoration:none;transition:color .2s ease}.forgot-password-footer .footer-links .footer-link:hover{color:#0d2453}.forgot-password-footer .footer-links .footer-separator{color:#9ca3af;font-size:.9rem;margin:0 .5rem}@media(max-width:480px){.forgot-password-footer .footer-links .footer-separator{font-size:.85rem}}.forgot-password-footer .back-to-login{color:#0d2453;font-size:.95rem;font-weight:500;text-decoration:none}@media(max-width:480px){.forgot-password-footer .back-to-login{font-size:.9rem}}.forgot-password-footer .back-to-login:hover{text-decoration:underline}.forgot-password-footer .btn{border-radius:8px;font-size:.95rem;font-weight:600;min-width:180px;padding:.9rem 1.5rem;transition:all .3s ease}@media(max-width:480px){.forgot-password-footer .btn{font-size:.9rem;min-width:160px;padding:.8rem 1.3rem}}.forgot-password-footer .btn:hover:not(:disabled){box-shadow:0 4px 16px #0d24534d;transform:translateY(-2px)}@media(max-width:480px){.forgot-password-footer .footer-links .footer-link{font-size:.85rem}}.contact-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.contact-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.contact-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.contact-page .hero-section{padding:1.5rem 1rem 1rem}}.contact-page .hero-section .hero-content{margin:0 auto;max-width:600px}.contact-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.contact-page .section-header{margin-bottom:1.5rem}}.contact-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.contact-page .section-header .section-label{font-size:.8rem}}.contact-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.contact-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.contact-page .section-header .section-title{font-size:1.1rem}}.contact-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.contact-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.contact-page .section-header .section-subtitle{font-size:.9rem}}.contact-info{grid-gap:1rem;display:grid;gap:1rem;margin-top:1rem}.contact-info .info-item{margin-bottom:1rem;padding:0;text-align:left}.contact-info .info-item h3{color:#343a40;font-size:1rem;font-weight:600;margin-bottom:.5rem}@media(max-width:480px){.contact-info .info-item h3{font-size:.95rem}}.contact-info .info-item p{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0}@media(max-width:480px){.contact-info .info-item p{font-size:.85rem}}.loading-state{color:#6b7280;padding:32px}.loading-state .spinner{border:1px solid #d1d5db}@media(max-width:480px){.modal-content .contact-details .info-grid{gap:8px;grid-template-columns:1fr}}.lesson-request-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.lesson-request-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.lesson-request-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.lesson-request-page .hero-section{padding:1.5rem 1rem 1rem}}.lesson-request-page .hero-section .hero-content{margin:0 auto;max-width:600px}.lesson-request-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.lesson-request-page .section-header{margin-bottom:1.5rem}}.lesson-request-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.lesson-request-page .section-header .section-label{font-size:.8rem}}.lesson-request-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.lesson-request-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.lesson-request-page .section-header .section-title{font-size:1.1rem}}.lesson-request-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.lesson-request-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.lesson-request-page .section-header .section-subtitle{font-size:.9rem}}.page-content{background:#f9fafb;padding:24px 0 6rem}.page-content .container{margin:0 auto;max-width:1200px;padding:0 3rem}@media(max-width:768px){.page-content .container{padding:0 1.5rem}}@media(max-width:480px){.page-content .container{padding:0 1rem}}.form-container{border-radius:12px;margin:0 auto;max-width:1200px}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:16px;padding:8px;transition:all .3s ease}.checkbox-label input[type=checkbox]{accent-color:#ea580c;height:18px;width:18px}.checkbox-label .checkbox-text{color:#343a40;font-size:16px;font-weight:500}.weekday-selection{margin-bottom:2rem}.weekday-selection h4{color:#343a40;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem}@media(max-width:480px){.weekday-selection h4{font-size:1.1rem;margin-bottom:1rem}}.weekday-selection .weekday-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media(max-width:480px){.weekday-selection .weekday-buttons{gap:.5rem}}.weekday-selection .weekday-buttons .weekday-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6c757d;cursor:pointer;font-size:.95rem;font-weight:600;min-width:80px;padding:1rem 1.5rem;transition:all .3s ease}@media(max-width:480px){.weekday-selection .weekday-buttons .weekday-btn{font-size:.85rem;min-width:70px;padding:.8rem 1rem}}.weekday-selection .weekday-buttons .weekday-btn:hover{border-color:#0d2453;color:#0d2453}.weekday-selection .weekday-buttons .weekday-btn.active,.weekday-selection .weekday-buttons .weekday-btn.has-times{background:#0d2453;border-color:#0d2453;color:#fff}.weekday-selection .weekday-buttons .weekday-btn .time-count{border-radius:10px;font-size:.8rem;font-weight:700;margin-left:.5rem}.time-selection-for-day{background:#0d24530d;border:1px solid #0d24531a;border-radius:12px;margin-bottom:2rem;padding:2rem}@media(max-width:480px){.time-selection-for-day{padding:1.5rem}}.time-selection-for-day h4{color:#343a40;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}@media(max-width:480px){.time-selection-for-day h4{font-size:1.1rem;margin-bottom:1rem}}.time-selection-for-day .time-slots{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin:0 auto;max-width:600px}@media(max-width:480px){.time-selection-for-day .time-slots{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.time-selection-for-day .time-slots .time-slot{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:600;padding:1rem .5rem;text-align:center;transition:all .3s ease}@media(max-width:480px){.time-selection-for-day .time-slots .time-slot{font-size:.8rem;padding:.8rem .3rem}}.time-selection-for-day .time-slots .time-slot:hover:not(.disabled){border-color:#0d2453}.time-selection-for-day .time-slots .time-slot.selected{background:#0d2453;border-color:#0d2453;color:#fff;font-weight:700}.time-selection-for-day .time-slots .time-slot.disabled{background:#f3f4f6;box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.selected-times-preview{margin-top:1rem;text-align:left}.selected-times-preview strong{color:#343a40;font-size:.95rem;font-weight:600}@media(max-width:480px){.selected-times-preview strong{font-size:.9rem}}.selected-times-preview p{color:#6c757d;font-size:.9rem;font-weight:500;line-height:1.5;margin:.5rem 0 0}@media(max-width:480px){.selected-times-preview p{font-size:.85rem}}.lesson-pricing .pricing-item{margin-bottom:1.5rem}@media(max-width:480px){.weekday-buttons .weekday-btn{font-size:.8rem;padding:.8rem 1rem}.time-slots{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.time-slots .time-slot{font-size:.8rem;padding:.8rem .3rem}}.one-day-class-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.one-day-class-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.one-day-class-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.one-day-class-page .hero-section{padding:1.5rem 1rem 1rem}}.one-day-class-page .hero-section .hero-content{margin:0 auto;max-width:600px}.one-day-class-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.one-day-class-page .section-header{margin-bottom:1.5rem}}.one-day-class-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.one-day-class-page .section-header .section-label{font-size:.8rem}}.one-day-class-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.one-day-class-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.one-day-class-page .section-header .section-title{font-size:1.1rem}}.one-day-class-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.one-day-class-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.one-day-class-page .section-header .section-subtitle{font-size:.9rem}}.calendar-container{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;overflow:hidden}.time-selection-for-date{background:#0d24530d;border:1px solid #0d24531a;border-radius:8px;margin-bottom:2rem;padding:1.5rem}@media(max-width:480px){.time-selection-for-date{padding:1rem}}.time-selection-for-date h4{color:#343a40;font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}@media(max-width:480px){.time-selection-for-date h4{font-size:.95rem}}.time-selection-for-date .time-slots{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin:0 auto;max-width:600px}@media(max-width:480px){.time-selection-for-date .time-slots{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.time-selection-for-date .time-slots .time-slot{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.85rem;padding:.8rem .5rem;text-align:center;transition:all .3s ease}@media(max-width:480px){.time-selection-for-date .time-slots .time-slot{font-size:.8rem;padding:.7rem .3rem}}.time-selection-for-date .time-slots .time-slot:hover:not(.disabled){border-color:#0d2453}.time-selection-for-date .time-slots .time-slot.selected{background:#0d2453;border-color:#0d2453;color:#fff;font-weight:600}.time-selection-for-date .time-slots .time-slot.disabled{background:#f3f4f6;box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.selected-dates-preview{margin-top:1rem;text-align:left}.selected-dates-preview strong{color:#343a40;font-size:.95rem;font-weight:600}@media(max-width:480px){.selected-dates-preview strong{font-size:.9rem}}.selected-dates-preview p{color:#6c757d;font-size:.9rem;font-weight:500;line-height:1.5;margin:.5rem 0 0}@media(max-width:480px){.selected-dates-preview p{font-size:.85rem}}.lesson-pricing{text-align:center}.lesson-pricing .pricing-item{margin-bottom:1rem}.lesson-pricing .pricing-item h3{color:#343a40;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}@media(max-width:480px){.lesson-pricing .pricing-item h3{font-size:1rem}}.lesson-pricing .pricing-item .price{color:#ea580c;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}@media(max-width:480px){.lesson-pricing .pricing-item .price{font-size:1.5rem}}.lesson-pricing .pricing-item .description{color:#6c757d;font-size:.9rem;line-height:1.5}@media(max-width:480px){.lesson-pricing .pricing-item .description{font-size:.85rem}}.lesson-pricing .payment-notice{margin-top:1rem}.lesson-pricing .payment-notice .notice-text{color:#343a40;font-size:.9rem;font-weight:500;line-height:1.5;margin:0}@media(max-width:480px){.lesson-pricing .payment-notice .notice-text{font-size:.85rem}}.lesson-structure{grid-gap:1rem;display:grid;gap:1rem;margin-top:1rem}.lesson-structure .structure-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .2s ease}@media(max-width:480px){.lesson-structure .structure-item{padding:1rem}}.lesson-structure .structure-item h4{color:#343a40;font-size:1rem;font-weight:600;margin-bottom:.5rem}@media(max-width:480px){.lesson-structure .structure-item h4{font-size:.95rem}}.lesson-structure .structure-item p{color:#6c757d;font-size:.9rem;line-height:1.5;margin:0}@media(max-width:480px){.lesson-structure .structure-item p{font-size:.85rem}}.lesson-structure .structure-item:hover{border-color:#0d2453}.benefits-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.benefits-grid .benefit-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;transition:all .2s ease}@media(max-width:480px){.benefits-grid .benefit-item{padding:1rem}}.benefits-grid .benefit-item .benefit-icon{display:block;font-size:1.5rem;margin-bottom:.75rem}@media(max-width:480px){.benefits-grid .benefit-item .benefit-icon{font-size:1.3rem}}.benefits-grid .benefit-item p{color:#343a40;font-size:.9rem;font-weight:500;line-height:1.4;margin:0}@media(max-width:480px){.benefits-grid .benefit-item p{font-size:.85rem}}.benefits-grid .benefit-item:hover{border-color:#0d2453}.contact-check-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.contact-check-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.contact-check-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.contact-check-page .hero-section{padding:1.5rem 1rem 1rem}}.contact-check-page .hero-section .hero-content{margin:0 auto;max-width:600px}.contact-check-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.contact-check-page .section-header{margin-bottom:1.5rem}}.contact-check-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.contact-check-page .section-header .section-label{font-size:.8rem}}.contact-check-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.contact-check-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.contact-check-page .section-header .section-title{font-size:1.1rem}}.contact-check-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.contact-check-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.contact-check-page .section-header .section-subtitle{font-size:.9rem}}.faq-grid{margin-bottom:32px}.faq-grid .faq-item{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;overflow:hidden}.faq-grid .faq-item .faq-question{align-items:center;background:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:all .3s ease}.faq-grid .faq-item .faq-question:hover{background:#f3f4f6}.faq-grid .faq-item .faq-question h3{color:#343a40;font-size:16px;font-weight:600;margin:0}.faq-grid .faq-item .faq-question .faq-icon{color:#0d2453;font-size:18px;font-weight:700;transition:transform .3s ease}.faq-grid .faq-item .faq-answer{background:#fff;border-top:1px solid #e5e7eb;display:none;padding:12px}.faq-grid .faq-item .faq-answer p{color:#6c757d;font-size:14px;line-height:1.6;margin:0}.faq-grid .faq-item.open .faq-question{background:#0d2453;color:#fff}.faq-grid .faq-item.open .faq-question h3{color:#fff}.faq-grid .faq-item.open .faq-question .faq-icon{color:#fff;transform:rotate(45deg)}.faq-grid .faq-item.open .faq-answer{display:block}.contact-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.contact-tabs .tab-button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .3s ease}.contact-tabs .tab-button:hover{border-color:#0d2453;color:#0d2453}.contact-tabs .tab-button.active{background:#0d2453;border-color:#0d2453;color:#fff}.contact-tabs .tab-button .tab-count{background:#fff3;border-radius:10px;font-size:12px;margin-left:4px;padding:2px 6px}.contacts-list .contact-card{border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;margin-bottom:8px;padding:12px;transition:all .3s ease}.contacts-list .contact-card:hover{border-color:#0d2453;box-shadow:0 2px 8px #0d24531a}.contacts-list .contact-card.selected{background:#0d24530d;border-color:#0d2453}.contacts-list .contact-card .contact-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.contacts-list .contact-card .contact-header .contact-title{align-items:center;display:flex;gap:8px}.contacts-list .contact-card .contact-header .contact-title .lock-icon{font-size:16px}.contacts-list .contact-card .contact-header .contact-title h3{color:#343a40;font-size:16px;font-weight:600;margin:0}.contacts-list .contact-card .contact-header .badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.contacts-list .contact-card .contact-header .badge.badge-pending{background:#f59e0b1a;color:#945f06}.contacts-list .contact-card .contact-header .badge.badge-replied{background:#0d24531a;color:#0d2453}.contacts-list .contact-card .contact-header .badge.badge-closed{background:#9ca3af1a;color:#4b5563}.contacts-list .contact-card .contact-meta{color:#6c757d;display:flex;font-size:12px;gap:12px}.contacts-list .contact-card .contact-meta .meta-item{display:flex;gap:4px}.contacts-list .contact-card .contact-meta .meta-item .meta-label{font-weight:500}.no-contacts{padding:20px;text-align:center}.no-contacts .empty-state .empty-icon{color:#9ca3af;font-size:32px;margin-bottom:8px}.no-contacts .empty-state h3{color:#343a40;font-size:18px;font-weight:600;margin-bottom:8px}.no-contacts .empty-state p{color:#6c757d;font-size:16px;margin:0}.loading-state{color:#6c757d;padding:20px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:2px solid #d1d5db;border-radius:50%;border-top-color:#0d2453;display:inline-block;height:24px;margin-right:8px;width:24px}.modal-content .modal-description{color:#4b5563;font-size:16px;line-height:1.6;margin-bottom:16px;text-align:center}.modal-content .contact-details .info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.modal-content .contact-details .info-grid .info-item label{color:#343a40;display:block;font-size:14px;font-weight:500;margin-bottom:4px}.modal-content .contact-details .info-grid .info-item span{color:#4b5563;font-size:14px}.modal-content .contact-details .content-section .content-item{margin-bottom:12px}.modal-content .contact-details .content-section .content-item label{color:#343a40;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.modal-content .contact-details .content-section .content-item .content-text{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;font-size:14px;line-height:1.5;padding:12px}.modal-content .contact-details .reply-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:16px;padding:12px}.modal-content .contact-details .reply-section .reply-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.modal-content .contact-details .reply-section .reply-header h4{color:#343a40;font-size:16px;font-weight:600;margin:0}.modal-content .contact-details .reply-section .reply-header .reply-date{color:#6b7280;font-size:12px}.modal-content .contact-details .reply-section .reply-content{color:#4b5563;font-size:14px;line-height:1.5}.modal-content .contact-details .pending-notice{background:#f59e0b;border:1px solid #c57f08;border-radius:6px;margin-top:16px;padding:12px;text-align:center}.modal-content .contact-details .pending-notice .pending-icon{font-size:18px;margin-right:8px}.modal-content .contact-details .pending-notice p{color:#0d2453;display:inline;font-size:14px;margin:0}@media(max-width:480px){.contact-tabs .tab-button{font-size:12px;padding:4px 8px}.contacts-list .contact-card .contact-header{align-items:flex-start;flex-direction:column;gap:8px}.modal-content .contact-details .info-grid{gap:8px;grid-template-columns:1fr}}.not-found-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.not-found-page .page-header{align-items:center;background:#0d2453;color:#fff;display:flex;justify-content:center;padding:48px 24px;text-align:center}@media(min-width:768px){.not-found-page .page-header{padding:120px 32px}}.not-found-page .page-header h1{color:#fff;font-size:32px;font-weight:700;margin-bottom:24px}@media(min-width:768px){.not-found-page .page-header h1{font-size:72px}}.not-found-page .page-header .page-description{font-size:18px;line-height:1.6;margin:0 auto;max-width:700px;opacity:.9;white-space:pre-line}.not-found-page .not-found-content{margin:0 auto;max-width:600px;padding:0 24px;text-align:center}.not-found-page .not-found-content h2{color:#0d2453;font-size:24px;font-weight:600;margin-bottom:24px}@media(min-width:768px){.not-found-page .not-found-content h2{font-size:32px}}.not-found-page .not-found-content p{color:#6c757d;font-size:18px;line-height:1.6;margin-bottom:48px;margin-left:auto;margin-right:auto;max-width:500px}.not-found-page .not-found-content .not-found-actions{align-items:center;display:flex;flex-direction:column;gap:16px}@media(min-width:768px){.not-found-page .not-found-content .not-found-actions{flex-direction:row;gap:24px;justify-content:center}}@media(max-width:480px){.not-found-page .page-header{padding:32px 16px}.not-found-page .page-header h1{font-size:32px}.not-found-page .page-header .page-description{font-size:16px}.not-found-page .not-found-content h2{font-size:18px}.not-found-page .not-found-content p{font-size:16px}}@media(max-width:360px){.not-found-page .page-header{padding:24px 16px}.not-found-page .page-header h1{font-size:24px}.not-found-page .page-header .page-description{font-size:14px}.not-found-page .not-found-content h2{font-size:16px}.not-found-page .not-found-content p{font-size:14px}}.privacy-policy{background-color:#fff;min-height:calc(100vh - 200px);padding:2rem 0}.privacy-policy .container{margin:0 auto;max-width:1400px;padding:0 1rem}.privacy-policy h1{color:#000;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.privacy-policy section{margin-bottom:2rem}.privacy-policy section h2{color:#000;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.privacy-policy section p{color:#000;font-size:1rem;line-height:1.6;margin-bottom:1rem}.privacy-policy section ul{margin:1rem 0;padding-left:1.5rem}.privacy-policy section ul li{color:#000;font-size:1rem;line-height:1.6;margin-bottom:.5rem}.privacy-policy section .contact-info{margin-top:1rem}.privacy-policy section .contact-info p{margin-bottom:.5rem}.privacy-policy section .effective-date{border-top:1px solid #ccc;font-weight:600;margin-top:1.5rem;padding-top:1rem;text-align:center}@media(max-width:768px){.privacy-policy{padding:1rem 0}.privacy-policy h1{font-size:1.8rem}.privacy-policy h1,.privacy-policy section{margin-bottom:1.5rem}.privacy-policy section h2{font-size:1.2rem}}.terms-of-service{background-color:#fff;min-height:calc(100vh - 200px);padding:2rem 0}.terms-of-service .container{margin:0 auto;max-width:1400px;padding:0 1rem}.terms-of-service h1{color:#000;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.terms-of-service section{margin-bottom:2rem}.terms-of-service section h2{color:#000;font-size:1.3rem;font-weight:600;margin-bottom:1rem}.terms-of-service section p{color:#000;font-size:1rem;line-height:1.6;margin-bottom:1rem}.terms-of-service section ul{margin:1rem 0;padding-left:1.5rem}.terms-of-service section ul li{color:#000;font-size:1rem;line-height:1.6;margin-bottom:.5rem}@media(max-width:768px){.terms-of-service{padding:1rem 0}.terms-of-service h1{font-size:1.8rem;margin-bottom:1.5rem}.terms-of-service section{margin-bottom:1.5rem}.terms-of-service section h2{font-size:1.2rem}}.mobile-home{background:#fff;margin:0;min-height:100vh;padding:0}.mobile-home .mobile-header{background:#0d2453;color:#fff;padding:3rem 1rem 2rem;text-align:center}.mobile-home .mobile-header .mobile-title{color:#fff;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem}.mobile-home .mobile-header .mobile-subtitle{color:#ffffffe6;font-size:1rem;line-height:1.5;margin:0 auto;max-width:400px}.mobile-home .mobile-stats-section{background:#f9fafb;padding:2rem 1rem}.mobile-home .mobile-stats-section .stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.mobile-home .mobile-stats-section .stats-grid .stat-item{background:#fff;border:1px solid #e5e7eb;border-radius:4px;border-top:3px solid #0d2453;padding:1.5rem 1rem;text-align:center}.mobile-home .mobile-stats-section .stats-grid .stat-item .stat-number{color:#0d2453;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.mobile-home .mobile-stats-section .stats-grid .stat-item .stat-label{color:#6c757d;font-size:.85rem;line-height:1.3}.mobile-home .academy-gallery{background:#fff;padding:2rem 1rem}.mobile-home .academy-gallery .gallery-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.mobile-home .academy-gallery .gallery-grid .gallery-item{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;position:relative}.mobile-home .academy-gallery .gallery-grid .gallery-item img{height:160px;object-fit:cover;width:100%}.mobile-home .academy-gallery .gallery-grid .gallery-item h3{background:#0d2453e6;bottom:0;color:#fff;font-size:.9rem;font-weight:600;left:0;margin:0;padding:.8rem;position:absolute;right:0;text-align:center}.mobile-home .mobile-features{background:#fff;padding:3rem 1rem}.mobile-home .mobile-features .section-title{color:#343a40;font-size:1.8rem;font-weight:700;margin-bottom:2rem;text-align:center}.mobile-home .mobile-features .features-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.mobile-home .mobile-features .features-list .feature-item{background:#f9fafb;border-radius:4px;border-top:3px solid #ea580c;padding:1.5rem}.mobile-home .mobile-features .features-list .feature-item:nth-child(odd){border-top-color:#0d2453}.mobile-home .mobile-features .features-list .feature-item:nth-child(2n){border-top-color:#ea580c}.mobile-home .mobile-features .features-list .feature-item h3{color:#343a40;font-size:1rem;font-weight:600;margin:0 0 .5rem}.mobile-home .mobile-features .features-list .feature-item p{color:#6c757d;font-size:.85rem;line-height:1.5;margin:0}.mobile-home .mobile-cta{background:#0d2453;padding:3rem 1rem;text-align:center}.mobile-home .mobile-cta .cta-content h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.mobile-home .mobile-cta .cta-content p{color:#ffffffe6;font-size:1rem;margin:0 0 2rem}.mobile-home .mobile-cta .cta-content .cta-button{background:#fff;border-radius:4px;color:#0d2453;display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .2s ease}.mobile-home .mobile-cta .cta-content .cta-button:active,.mobile-home .mobile-cta .cta-content .cta-button:hover{background:#f3f4f6;transform:translateY(-2px)}@media(min-width:768px)and (max-width:1024px){.mobile-home .mobile-header{padding:4rem 2rem 3rem}.mobile-home .mobile-header .mobile-title{font-size:2.5rem}.mobile-home .mobile-header .mobile-subtitle{font-size:1.1rem;max-width:500px}.mobile-home .mobile-stats-section{padding:3rem 2rem}.mobile-home .mobile-stats-section .stats-grid{gap:1.5rem;margin:0 auto;max-width:600px}.mobile-home .mobile-stats-section .stats-grid .stat-item{padding:2rem 1.5rem}.mobile-home .mobile-stats-section .stats-grid .stat-item .stat-number{font-size:2rem}.mobile-home .mobile-stats-section .stats-grid .stat-item .stat-label{font-size:.9rem}.mobile-home .mobile-actions{padding:3rem 2rem}.mobile-home .mobile-actions .action-grid{gap:1rem;grid-template-columns:1fr;margin:0 auto;max-width:600px}.mobile-home .mobile-actions .action-grid .action-card{padding:1.8rem}.mobile-home .mobile-actions .action-grid .action-card h3{font-size:1.1rem}.mobile-home .mobile-actions .action-grid .action-card p{font-size:.9rem}.mobile-home .mobile-features{padding:4rem 2rem}.mobile-home .mobile-features .section-title{font-size:2rem}.mobile-home .mobile-features .features-list{margin:0 auto;max-width:600px}.mobile-home .mobile-features .features-list .feature-item{padding:2rem}.mobile-home .mobile-features .features-list .feature-item h3{font-size:1.2rem}.mobile-home .mobile-features .features-list .feature-item p{font-size:1rem}}@media(hover:none)and (pointer:coarse){.mobile-home .action-card{min-height:44px}.mobile-home .action-card:active{transform:scale(.98)}}.teacher-page .welcome-section{background:#fff;border:1px solid #e5e7eb;margin-bottom:24px;padding:16px;text-align:center}@media(min-width:768px){.teacher-page .welcome-section{margin-bottom:32px;padding:24px}}.teacher-page .welcome-section h1{color:#111827;font-size:24px;font-weight:700;margin-bottom:8px}@media(min-width:768px){.teacher-page .welcome-section h1{font-size:36px;margin-bottom:12px}}.teacher-page .welcome-section p{color:#4b5563;font-size:16px;margin:0}@media(min-width:768px){.teacher-page .welcome-section p{font-size:18px}}.teacher-page .notifications-panel{padding:16px}.teacher-page .notifications-panel h2{color:#111827;font-size:18px;font-weight:600;margin:0}@media(min-width:768px){.teacher-page .notifications-panel h2{font-size:24px}}.teacher-page .notifications-panel .notification-item{align-items:flex-start;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:16px}.teacher-page .notifications-panel .notification-item:last-child{margin-bottom:0}.teacher-page .notifications-panel .notification-item.unread{background:#fff;border-color:#7785ab}.teacher-page .notifications-panel .notification-item.read{background:#f9fafb;border-color:#e5e7eb;opacity:.8}.teacher-page .notifications-panel .notification-item .notification-content{flex:1 1;margin-right:16px}.teacher-page .notifications-panel .notification-item .notification-content .notification-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}@media(max-width:768px){.teacher-page .notifications-panel .notification-item .notification-content .notification-header{flex-direction:column;gap:8px}}.teacher-page .notifications-panel .notification-item .notification-content .notification-header .notification-title{color:#111827;font-size:16px;font-weight:600;line-height:1.4}.teacher-page .notifications-panel .notification-item .notification-content .notification-header .notification-time{color:#6b7280;font-size:14px;white-space:nowrap}.teacher-page .notifications-panel .notification-item .notification-content .notification-message{color:#374151;font-size:14px;line-height:1.5;margin-bottom:8px}.teacher-page .notifications-panel .notification-item .notification-content .notification-message div[style*="white-space: pre-line"]{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-line}.teacher-page .notifications-panel .notification-item .notification-content .notification-category{background:#f3f4f6;border-radius:2px;color:#6b7280;display:inline-block;font-size:12px;padding:4px 8px}.teacher-page .notifications-panel .notification-item .notification-actions{display:flex;flex-shrink:0;gap:8px}@media(max-width:768px){.teacher-page .notifications-panel .notification-item .notification-actions{flex-direction:column}}.teacher-page .stats-summary{background:#fff;border:1px solid #e5e7eb;padding:16px}@media(min-width:768px){.teacher-page .stats-summary{padding:20px}}.teacher-page .stats-summary h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 16px;text-align:center}@media(min-width:768px){.teacher-page .stats-summary h3{font-size:24px;margin-bottom:20px}}.teacher-page .stats-summary .stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.teacher-page .stats-summary .stats-grid{gap:16px;grid-template-columns:repeat(4,1fr)}}.teacher-page .stats-summary .stats-grid .stat-card{background:#f9fafb;border:1px solid #e5e7eb;padding:12px;text-align:center}@media(min-width:768px){.teacher-page .stats-summary .stats-grid .stat-card{padding:16px}}.teacher-page .stats-summary .stats-grid .stat-card .stat-number{color:#0d2453;font-size:36px;font-weight:700;line-height:1;margin-bottom:8px}@media(min-width:768px){.teacher-page .stats-summary .stats-grid .stat-card .stat-number{font-size:48px;margin-bottom:12px}}.teacher-page .stats-summary .stats-grid .stat-card .stat-label{color:#4b5563;font-size:14px;font-weight:500;line-height:1.3}@media(min-width:768px){.teacher-page .stats-summary .stats-grid .stat-card .stat-label{font-size:16px}}.teacher-page .page-loading{min-height:400px;text-align:center}.teacher-page .page-loading .loading-spinner{border:1px solid #e5e7eb;margin-bottom:16px}.teacher-page .page-loading p{font-size:16px}.announcement-form .announcement-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin:24px 0;padding:16px}.announcement-form .announcement-info .info-box h4{align-items:center;color:#1e40af;display:flex;font-size:18px;font-weight:600;gap:8px;margin-bottom:12px}.announcement-form .announcement-info .info-box ul{color:#1d4ed8;margin:0;padding-left:16px}.announcement-form .announcement-info .info-box ul li{font-size:14px;line-height:1.5;margin-bottom:8px}.announcement-form .announcement-info .info-box ul li:last-child{margin-bottom:0}.announcement-form .modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.schedule-container{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding:0 .5rem}@media(min-width:768px){.schedule-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-top:1.5rem;padding:0}}@media(min-width:1200px){.schedule-container{gap:2rem;margin-top:2rem}}.calendar-section{order:1}@media(min-width:768px){.calendar-section{order:0}}.calendar-section .simple-calendar{background:#fff;border-radius:8px;height:auto;min-height:350px;overflow:hidden;padding:.5rem;width:100%}@media(min-width:768px){.calendar-section .simple-calendar{min-height:400px;padding:1rem}}@media(min-width:1200px){.calendar-section .simple-calendar{min-height:500px}}.calendar-section .simple-calendar .calendar-grid{max-width:100%;width:100%}.calendar-section .simple-calendar .calendar-day{word-wrap:break-word;min-width:0}.schedule-sidebar{display:flex;flex-direction:column;gap:1rem;order:2}@media(min-width:768px){.schedule-sidebar{gap:1.5rem;order:0}}.personal-schedule-list{background:#fff;border-radius:8px;padding:1rem}@media(min-width:768px){.personal-schedule-list{padding:1.5rem}}.personal-schedule-list h3{color:#333;font-size:1.1rem;margin:0 0 1rem}@media(min-width:768px){.personal-schedule-list h3{font-size:1.2rem}}.personal-schedule-cards{display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.personal-schedule-cards{display:none}}.personal-schedule-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s ease}.personal-schedule-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:0 0 .5rem}.personal-schedule-card .card-time{color:#6c757d;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.personal-schedule-card .card-title{color:#495057;font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:.5rem}.personal-schedule-card .card-description{background:#fff;border-radius:4px;color:#6c757d;font-size:.85rem;line-height:1.4;margin-bottom:1rem;padding:.5rem}.personal-schedule-card .card-actions{display:flex;gap:.5rem;gap:8px;justify-content:flex-end}.show-more-schedules{display:flex;justify-content:center;margin-top:1rem;padding:.5rem}.schedule-type-badge{background:#ff9800;border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.personal-schedule-table{display:none;overflow-x:auto}@media(min-width:768px){.personal-schedule-table{display:block}}.personal-schedule-table table{border-collapse:collapse;font-size:.8rem;width:100%}@media(min-width:768px){.personal-schedule-table table{font-size:.85rem}}.personal-schedule-table table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:.75rem;font-weight:600;padding:.5rem .25rem;text-align:left}@media(min-width:768px){.personal-schedule-table table th{font-size:.8rem;padding:.75rem .5rem}}.personal-schedule-table table td{border-bottom:1px solid #e9ecef;padding:.5rem .25rem;vertical-align:top}@media(min-width:768px){.personal-schedule-table table td{padding:.75rem .5rem}}.personal-schedule-table table tr:hover{background-color:#f8f9fa}.schedule-date{color:#495057;font-size:.75rem;font-weight:600;white-space:nowrap}@media(min-width:768px){.schedule-date{font-size:.85rem}}.schedule-time{color:#6c757d;font-size:.7rem;white-space:nowrap}@media(min-width:768px){.schedule-time{font-size:.8rem}}.schedule-title{color:#495057;font-weight:500;max-width:80px}@media(min-width:768px){.schedule-title{max-width:120px}}.schedule-actions{display:flex;gap:.2rem;white-space:nowrap}@media(min-width:768px){.schedule-actions{gap:.25rem}}.no-personal-schedules{color:#6c757d;padding:1.5rem;text-align:center}@media(min-width:768px){.no-personal-schedules{padding:2rem}}.no-personal-schedules p{font-size:.9rem;margin:0}@media(min-width:768px){.no-personal-schedules p{font-size:1rem}}.schedule-form-section{background:#fff;border:1px solid #0d24531a;border-radius:8px;margin-bottom:24px;padding:24px}.schedule-form-section h2{color:#111827;font-size:24px;font-weight:600;margin:0 0 16px}.schedule-header{display:flex;justify-content:flex-end;margin-bottom:16px}.schedule-detail-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.schedule-detail-modal .modal-content{background:#fff;border:1px solid #0d24531a;border-radius:8px;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.schedule-detail-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px}.schedule-detail-modal .modal-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.schedule-detail-modal .modal-header .modal-close{background:none;border:none;border-radius:2px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px}.schedule-detail-modal .modal-body{padding:16px}.schedule-detail-modal .modal-body .schedule-info{margin-bottom:16px}.schedule-detail-modal .modal-body .schedule-info .info-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.schedule-detail-modal .modal-body .schedule-info .info-row:last-child{border-bottom:none}.schedule-detail-modal .modal-body .schedule-info .info-row .label{color:#374151;font-weight:500;min-width:80px}.schedule-detail-modal .modal-body .schedule-info .info-row .status{border-radius:2px;font-size:14px;font-weight:500;padding:4px 8px}.schedule-detail-modal .modal-body .schedule-info .info-row .status.status-scheduled{background:#dbeafe;color:#1e40af}.schedule-detail-modal .modal-body .schedule-info .info-row .status.status-completed{background:#d1fae5;color:#065f46}.schedule-detail-modal .modal-body .schedule-info .info-row .status.status-cancelled{background:#fee2e2;color:#991b1b}.schedule-detail-modal .modal-body .schedule-info .info-row .status.status-absent{background:#fef3c7;color:#92400e}.schedule-detail-modal .modal-body .schedule-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-start;padding-top:16px}.schedule-detail-modal .modal-body .schedule-actions .edit-form{width:100%}.conflict-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.conflict-modal .modal-content{background:#fff;border:1px solid #0d24531a;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.conflict-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px}.conflict-modal .modal-header h3{color:#f59e0b;font-size:18px;font-weight:600;margin:0}.conflict-modal .modal-header .modal-close{background:none;border:none;border-radius:2px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px}.conflict-modal .modal-body{padding:16px}.conflict-modal .modal-body p{color:#374151;line-height:1.5;margin-bottom:12px}.conflict-modal .modal-body ul{margin:12px 0;padding-left:16px}.conflict-modal .modal-body ul li{color:#1f2937;font-weight:500;margin-bottom:8px}.conflict-modal .modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px}@media(max-width:768px){.schedule-container{gap:16px;grid-template-columns:1fr}.calendar-section .simple-calendar{min-height:400px;padding:.5rem}.calendar-section .simple-calendar .calendar-grid{min-height:350px}.daily-event-item{align-items:flex-start;flex-direction:column;gap:8px}.daily-event-item .event-time{min-width:auto}.daily-event-item .event-actions{align-self:flex-end}.schedule-detail-modal{padding:8px}.schedule-detail-modal .modal-content{max-width:100%}}@media(max-width:480px){.schedule-container{gap:1rem;margin-top:1rem}.calendar-section .simple-calendar{min-height:350px;padding:.25rem}.calendar-section .simple-calendar .calendar-grid{min-height:300px}}.content-header{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-between}.content-header .filters{margin-bottom:16px}.content-header .stats .total-count{border-radius:4px;color:#111827;font-size:14px;font-weight:600;padding:8px 16px}.card-view .student-info h3{align-items:center;display:flex;flex-wrap:wrap}.table-container .lesson-requests-table,.table-container .table,.table-wrapper .lesson-requests-table,.table-wrapper .table{background-color:#fff;border-collapse:collapse;width:100%}.table-container .lesson-requests-table td,.table-container .lesson-requests-table th,.table-container .table td,.table-container .table th,.table-wrapper .lesson-requests-table td,.table-wrapper .lesson-requests-table th,.table-wrapper .table td,.table-wrapper .table th{border-bottom:1px solid #e5e7eb;overflow:hidden;padding:12px 16px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.table-container .lesson-requests-table td,.table-container .table td,.table-wrapper .lesson-requests-table td,.table-wrapper .table td{word-wrap:break-word;max-width:0;white-space:normal}.table-container .lesson-requests-table th,.table-container .table th,.table-wrapper .lesson-requests-table th,.table-wrapper .table th{background-color:#f9fafb;color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.table-container .lesson-requests-table td,.table-container .table td,.table-wrapper .lesson-requests-table td,.table-wrapper .table td{color:#4b5563;font-size:14px;vertical-align:middle}.table-container .lesson-requests-table .action-buttons,.table-container .table .action-buttons,.table-wrapper .lesson-requests-table .action-buttons,.table-wrapper .table .action-buttons{display:flex;flex-wrap:wrap;gap:8px}.table-container .lesson-requests-table .student-name-cell .name,.table-container .table .student-name-cell .name,.table-wrapper .lesson-requests-table .student-name-cell .name,.table-wrapper .table .student-name-cell .name{align-items:center;color:#111827;display:flex;flex-wrap:wrap;font-weight:600;margin-bottom:2px}.table-container .lesson-requests-table .student-name-cell .sub-info,.table-container .table .student-name-cell .sub-info,.table-wrapper .lesson-requests-table .student-name-cell .sub-info,.table-wrapper .table .student-name-cell .sub-info{color:#6b7280;font-size:12px;line-height:1.2}.modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal .modal-content{background-color:#fff;border-radius:4px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}@media(min-width:768px){.modal .modal-content{padding:32px}}.modal .modal-content .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal .modal-content .modal-header h3{color:#111827;font-size:24px;font-weight:600;margin:0}.modal .modal-content .modal-header .close-button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:24px;padding:4px}.modal .modal-content .modal-body{margin-bottom:24px}.modal .modal-content .modal-body .checkbox-group{align-items:center;display:flex;gap:8px}.modal .modal-content .modal-body .checkbox-group input[type=checkbox]{width:auto}.modal .modal-content .modal-body .time-selection .time-slots{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-top:12px}.modal .modal-content .modal-body .time-selection .time-slots .time-slot{background-color:#fff;border:1px solid #d1d5db;border-radius:2px;cursor:pointer;padding:8px;text-align:center}.modal .modal-content .modal-body .time-selection .time-slots .time-slot.selected{background-color:#0d2453;border-color:#0d2453;color:#fff}.modal .modal-content .modal-footer{display:flex;gap:12px;justify-content:flex-end}.badge.status-contacted{background-color:#dbeafe;color:#1e40af}.empty-state{color:#6b7280;padding:48px 24px;text-align:center}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{color:#374151;font-size:18px;font-weight:500;margin-bottom:8px}.empty-state p{color:#6b7280;font-size:16px}.teacher-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.teacher-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.teacher-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.teacher-page .hero-section{padding:1.5rem 1rem 1rem}}.teacher-page .hero-section .hero-content{margin:0 auto;max-width:600px}.teacher-page .hero-section .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.teacher-page .hero-section .section-label{font-size:.8rem}}.teacher-page .hero-section .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.teacher-page .hero-section .section-title{font-size:1.3rem}}@media(max-width:480px){.teacher-page .hero-section .section-title{font-size:1.1rem}}.teacher-page .hero-section .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.teacher-page .hero-section .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.teacher-page .hero-section .section-subtitle{font-size:.9rem}}.teacher-page .page-content{background:#f9fafb;padding:24px 0 6rem}.teacher-page .page-content .container{margin:0 auto;max-width:1200px;padding:0 3rem}@media(max-width:768px){.teacher-page .page-content .container{padding:0 1.5rem}}@media(max-width:480px){.teacher-page .page-content .container{padding:0 1rem}}.teacher-page .form-container{border-radius:12px;margin:0 auto;max-width:1200px}@media(min-width:768px){.table-view{display:block}}@media(max-width:768px){.table-view{display:none}}.table-view .table-container,.table-view .table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.table-view .table-container .lesson-requests-table,.table-view .table-container .table,.table-view .table-wrapper .lesson-requests-table,.table-view .table-wrapper .table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.table-view .table-container .lesson-requests-table td,.table-view .table-container .lesson-requests-table th,.table-view .table-container .table td,.table-view .table-container .table th,.table-view .table-wrapper .lesson-requests-table td,.table-view .table-wrapper .lesson-requests-table th,.table-view .table-wrapper .table td,.table-view .table-wrapper .table th{border-bottom:1px solid #f3f4f6;padding:12px;text-align:left;vertical-align:middle}.table-view .table-container .lesson-requests-table th,.table-view .table-container .table th,.table-view .table-wrapper .lesson-requests-table th,.table-view .table-wrapper .table th{background:#f9fafb;color:#374151;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table-view .table-container .lesson-requests-table td,.table-view .table-container .table td,.table-view .table-wrapper .lesson-requests-table td,.table-view .table-wrapper .table td{color:#1f2937;line-height:1.5}.table-view .table-container .lesson-requests-table .student-name-cell .name,.table-view .table-container .table .student-name-cell .name,.table-view .table-wrapper .lesson-requests-table .student-name-cell .name,.table-view .table-wrapper .table .student-name-cell .name{color:#111827;font-weight:600;margin-bottom:4px}.table-view .table-container .lesson-requests-table .student-name-cell .sub-info,.table-view .table-container .table .student-name-cell .sub-info,.table-view .table-wrapper .lesson-requests-table .student-name-cell .sub-info,.table-view .table-wrapper .table .student-name-cell .sub-info{color:#6b7280;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px}.table-view .table-container .lesson-requests-table .preferred-time-cell,.table-view .table-container .table .preferred-time-cell,.table-view .table-wrapper .lesson-requests-table .preferred-time-cell,.table-view .table-wrapper .table .preferred-time-cell{overflow:hidden;text-overflow:ellipsis;word-break:break-word}.table-view .table-container .lesson-requests-table .action-buttons,.table-view .table-container .table .action-buttons,.table-view .table-wrapper .lesson-requests-table .action-buttons,.table-view .table-wrapper .table .action-buttons{display:flex;flex-direction:column;gap:4px}@media(min-width:768px){.card-view{display:none}}@media(max-width:768px){.card-view{display:block}}.card-view .requests-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.card-view .requests-grid .request-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.card-view .requests-grid .request-card .card-header{align-items:flex-start;background:#fff;border-bottom:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px}.card-view .requests-grid .request-card .card-header .student-info h3{color:#111827;font-size:16px;font-weight:600;margin-bottom:4px}.card-view .requests-grid .request-card .card-header .student-info .user-id{border-radius:2px;color:#6b7280;display:inline-block;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;padding:4px}.card-view .requests-grid .request-card .card-body{padding:12px}.card-view .requests-grid .request-card .card-body .info-row{align-items:flex-start;border-bottom:1px solid #f9fafb;display:flex;justify-content:space-between;padding:8px 0}.card-view .requests-grid .request-card .card-body .info-row:last-child{border-bottom:none}.card-view .requests-grid .request-card .card-body .info-row strong{color:#4b5563;flex-shrink:0;font-size:12px;font-weight:500;min-width:80px}.card-view .requests-grid .request-card .card-body .info-row span{color:#1f2937;flex:1 1;font-size:12px;line-height:1.4;margin-left:8px;text-align:right}.card-view .requests-grid .request-card .card-actions{background:#f9fafb;border-top:1px solid #f3f4f6;display:flex;gap:8px;justify-content:flex-end;padding:12px}.detail-content .detail-section{margin-bottom:16px}.detail-content .detail-section:last-child{margin-bottom:0}.detail-content .detail-section .section-title{border-bottom:1px solid #e5e7eb;color:#111827;font-size:16px;margin-bottom:12px}.detail-content .detail-section .info-grid{grid-gap:12px;gap:12px}.detail-content .detail-section .info-grid .info-item label{display:block;font-size:12px;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.detail-content .detail-section .info-grid .info-item span{color:#1f2937;display:block;font-size:14px;font-weight:500}.detail-content .detail-section .change-details .info-row{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.detail-content .detail-section .change-details .info-row:last-child{border-bottom:none}.detail-content .detail-section .change-details .info-row strong{color:#4b5563;flex-shrink:0;font-size:14px;font-weight:500;min-width:100px}.detail-content .detail-section .change-details .info-row span{color:#1f2937;flex:1 1;font-size:14px;line-height:1.4;margin-left:12px;text-align:right}.detail-content .detail-section .response-form .form-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;min-height:80px;padding:8px;resize:vertical;width:100%}.detail-content .detail-section .response-form .form-textarea:focus{border-color:#2d437d;outline:none}.detail-content .detail-section .response-form .form-help{color:#6b7280;display:block;font-size:12px;font-style:italic;margin-top:4px}.detail-content .detail-section .response-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.detail-content .detail-section .response-content p{color:#1f2937;line-height:1.5;margin-bottom:8px}.detail-content .detail-section .response-content small{color:#4b5563;font-size:12px}@media(max-width:640px){.detail-content .detail-section .info-grid{gap:8px;grid-template-columns:1fr}.detail-content .detail-section .modal-actions{flex-direction:column;gap:8px}}.table-container .oneday-requests-table,.table-wrapper .oneday-requests-table{background-color:#fff;border-collapse:collapse;width:100%}.table-container .oneday-requests-table td,.table-container .oneday-requests-table th,.table-wrapper .oneday-requests-table td,.table-wrapper .oneday-requests-table th{border-bottom:1px solid #e5e7eb;overflow:hidden;padding:12px 16px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.table-container .oneday-requests-table td,.table-wrapper .oneday-requests-table td{word-wrap:break-word;max-width:0;white-space:normal}.table-container .oneday-requests-table th,.table-wrapper .oneday-requests-table th{background-color:#f9fafb;color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table-container .oneday-requests-table td,.table-wrapper .oneday-requests-table td{color:#4b5563;font-size:14px;vertical-align:middle}.table-container .oneday-requests-table .student-name-cell .name,.table-wrapper .oneday-requests-table .student-name-cell .name{color:#111827;font-weight:600;margin-bottom:2px}.table-container .oneday-requests-table .student-name-cell .sub-info,.table-wrapper .oneday-requests-table .student-name-cell .sub-info{color:#6b7280;font-size:12px;line-height:1.2}.detail-content .detail-section{margin-bottom:24px}.detail-content .detail-section:last-of-type{margin-bottom:16px}.detail-content .detail-section .section-title{border-bottom:1px solid #d1d5db;color:#1f2937;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.detail-content .detail-section .info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-content .detail-section .info-grid .info-item{display:flex;flex-direction:column;gap:4px}.detail-content .detail-section .info-grid .info-item label{color:#4b5563;font-size:14px;font-weight:500}.detail-content .detail-section .info-grid .info-item span{color:#111827;font-size:16px}.detail-content .detail-section .preferred-time{border:1px solid #e5e7eb;border-radius:4px;padding:12px}.detail-content .detail-section .preferred-time p{color:#1f2937;font-size:16px;margin:0}.detail-content .detail-section .message-content{border:1px solid #e5e7eb;border-radius:4px;padding:12px}.detail-content .detail-section .message-content p{color:#1f2937;font-size:16px;margin:0}.detail-content .modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.content-header .filters{margin-bottom:24px}.content-header .stats .total-count{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;display:inline-block;font-size:24px;font-weight:700;padding:12px 24px}.preferred-time-cell{max-width:0;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.requests-container .requests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:32px}@media(max-width:767px){.requests-container .requests-grid{gap:12px;grid-template-columns:1fr}}.requests-container .request-card{background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.schedule-options .option-group{margin-bottom:24px}.schedule-options .option-group:last-child{margin-bottom:0}.schedule-options .option-group .radio-label{align-items:center;color:#111827;cursor:pointer;display:flex;font-weight:500;gap:12px;margin-bottom:16px}.schedule-options .option-group .radio-label input[type=radio]{height:18px;margin:0;width:18px}.schedule-options .option-group .preferred-times{background-color:#f9fafb;border-radius:2px;margin-left:24px;padding:16px}.schedule-options .option-group .preferred-times .time-option{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:2px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px}.schedule-options .option-group .preferred-times .time-option:last-child{margin-bottom:0}.schedule-options .option-group .preferred-times .time-option input[type=radio]{height:16px;margin:0;width:16px}.schedule-options .option-group .preferred-times .time-option span{color:#374151;font-size:14px}.schedule-options .option-group .preferred-times .no-preferred-times{color:#6b7280;font-style:italic;margin:0;padding:16px;text-align:center}.schedule-options .option-group .custom-datetime{background-color:#f9fafb;border-radius:2px;margin-left:24px;padding:16px}.schedule-options .option-group .custom-datetime .form-input,.schedule-options .option-group .custom-datetime .form-textarea{border:1px solid #d1d5db;border-radius:2px;font-size:16px;margin-bottom:8px;padding:12px;width:100%}.schedule-options .option-group .custom-datetime .form-input:focus,.schedule-options .option-group .custom-datetime .form-textarea:focus{border-color:#0d2453;outline:none}.schedule-options .option-group .custom-datetime .form-help{color:#4b5563;display:block;font-size:14px}.practice-booking-page{background-color:#f9fafb;min-height:100vh}.practice-booking-page .page-header{margin-bottom:24px}.practice-booking-page .page-header h1{color:#111827;font-size:36px;font-weight:700;margin-bottom:8px}@media(min-width:768px){.practice-booking-page .page-header h1{font-size:48px;margin-bottom:12px}}.practice-booking-page .page-header p{color:#4b5563;font-size:16px;margin:0}@media(min-width:768px){.practice-booking-page .page-header p{font-size:18px}}.practice-booking-page .booking-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}@media(min-width:768px){.practice-booking-page .booking-content{padding:32px}}.booking-container{align-items:flex-start;display:flex;gap:2rem;margin-top:2rem}@media(max-width:1024px){.booking-container{flex-direction:column}}.calendar-main{flex:1 1}.calendar-main .simple-calendar{background:#fff;border-radius:8px;height:auto;min-height:500px;padding:1rem;width:100%}.bookings-sidebar{display:flex;flex-direction:column;gap:1.5rem}.bookings-list{background:#fff;border-radius:8px;padding:1.5rem}.bookings-list h3{color:#333;font-size:1.2rem;margin:0 0 1rem}.bookings-grid{grid-gap:1rem;display:grid;gap:1rem}.booking-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.room-name{color:#495057;font-weight:600}.booking-time{color:#6c757d;line-height:1.4}.booking-time,.booking-user{font-size:.9rem;margin-bottom:.5rem}.booking-user{color:#495057;font-weight:500}.booking-notes{background:#fff;border-radius:4px;color:#6c757d;font-size:.85rem;margin-bottom:.5rem;padding:.5rem}.no-bookings{color:#6c757d;padding:2rem;text-align:center}.no-bookings p{font-size:1rem;margin:0}.session-detail-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 2px 8px #0000001a;height:-webkit-fit-content;height:fit-content;width:300px}.session-detail-sidebar .sidebar-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px}.session-detail-sidebar .sidebar-header .header-content{display:flex;flex-direction:column;gap:8px}.session-detail-sidebar .sidebar-header .header-content h3{color:#111827;font-size:16px;font-weight:600;margin:0}.session-detail-sidebar .sidebar-body{padding:16px}.session-detail-sidebar .sidebar-body .session-info-list{display:flex;flex-direction:column;gap:12px}.session-detail-sidebar .sidebar-body .session-info-list .info-item{display:flex;flex-direction:column;gap:4px}.session-detail-sidebar .sidebar-body .session-info-list .info-item label{color:#4b5563;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.session-detail-sidebar .sidebar-body .session-info-list .info-item span{color:#111827;font-size:14px}.session-detail-sidebar .sidebar-body .session-info-list .info-item span.room-name{color:#0d2453;font-weight:600}.session-detail-sidebar .sidebar-body .session-info-list .info-item span.user-name{font-weight:500}.session-detail-sidebar .sidebar-body .session-info-list .info-item span.session-time{background:#f3f4f6;border-radius:2px;font-family:monospace;font-size:12px;padding:2px 6px}.session-detail-sidebar .sidebar-body .session-info-list .info-item.notes span{background:#f9fafb;border-left:2px solid #0d2453;border-radius:2px;font-size:12px;line-height:1.4;padding:8px}@media(max-width:1024px){.session-detail-sidebar{margin-top:16px;width:100%}}.contacts-page{background-color:#f9fafb;min-height:100vh}.contacts-page .page-header{margin-bottom:24px}.contacts-page .page-header h1{color:#111827;font-size:36px;font-weight:700;margin-bottom:8px}@media(min-width:768px){.contacts-page .page-header h1{font-size:48px;margin-bottom:12px}}.contacts-page .page-header p{color:#4b5563;font-size:16px;margin:0}@media(min-width:768px){.contacts-page .page-header p{font-size:18px}}.contacts-page .contacts-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}@media(min-width:768px){.contacts-page .contacts-content{padding:32px}}.table-view{display:block}@media(max-width:1024px){.table-view{display:none}}.card-view{display:none}@media(max-width:1024px){.card-view{display:block}}.table-container,.table-wrapper{border:1px solid #e5e7eb;border-radius:4px;overflow-x:auto}.table-container .users-table,.table-wrapper .users-table{background-color:#fff;border-collapse:collapse;width:100%}.table-container .users-table td,.table-container .users-table th,.table-wrapper .users-table td,.table-wrapper .users-table th{border-bottom:1px solid #e5e7eb;overflow:hidden;padding:12px 16px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.table-container .users-table th,.table-wrapper .users-table th{background-color:#f9fafb;color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.table-container .users-table td,.table-wrapper .users-table td{word-wrap:break-word;color:#4b5563;font-size:14px;max-width:0;vertical-align:middle;white-space:normal}.table-container .users-table .student-name-cell .name,.table-wrapper .users-table .student-name-cell .name{color:#111827;font-weight:600;margin-bottom:2px}.table-container .users-table .student-name-cell .sub-info,.table-wrapper .users-table .student-name-cell .sub-info{color:#6b7280;font-size:12px;line-height:1.2}.table-container .users-table .lesson-count,.table-wrapper .users-table .lesson-count{align-items:center;display:flex;font-weight:500;gap:4px}.table-container .users-table .lesson-count .remaining,.table-wrapper .users-table .lesson-count .remaining{color:#0d2453;font-weight:600}.table-container .users-table .lesson-count .separator,.table-wrapper .users-table .lesson-count .separator{color:#9ca3af}.table-container .users-table .lesson-count .total,.table-wrapper .users-table .lesson-count .total{color:#4b5563}.table-container .users-table .action-buttons,.table-wrapper .users-table .action-buttons{display:flex;flex-wrap:wrap;gap:8px}.table-container .users-table td:first-child,.table-container .users-table th:first-child,.table-wrapper .users-table td:first-child,.table-wrapper .users-table th:first-child{width:25%}.table-container .users-table td:nth-child(2),.table-container .users-table th:nth-child(2),.table-wrapper .users-table td:nth-child(2),.table-wrapper .users-table th:nth-child(2){width:15%}.table-container .users-table td:nth-child(3),.table-container .users-table th:nth-child(3),.table-wrapper .users-table td:nth-child(3),.table-wrapper .users-table th:nth-child(3){width:20%}.table-container .users-table td:nth-child(4),.table-container .users-table td:nth-child(5),.table-container .users-table th:nth-child(4),.table-container .users-table th:nth-child(5),.table-wrapper .users-table td:nth-child(4),.table-wrapper .users-table td:nth-child(5),.table-wrapper .users-table th:nth-child(4),.table-wrapper .users-table th:nth-child(5){width:15%}.table-container .users-table td:nth-child(6),.table-container .users-table th:nth-child(6),.table-wrapper .users-table td:nth-child(6),.table-wrapper .users-table th:nth-child(6){width:10%}.requests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(max-width:640px){.requests-grid{gap:12px;grid-template-columns:1fr}}.request-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;position:relative}.lesson-type{background-color:#e6e8f0;border-radius:2px;color:#0a1c42;display:inline-block;font-size:14px;font-weight:500;padding:4px 12px;text-align:center}.no-data{color:#6b7280;padding:32px;text-align:center}.no-data p{font-size:18px;margin:0}.teacher-page{background-color:#f9fafb;min-height:100vh;padding:16px}.teacher-page .page-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.teacher-page .page-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#0d2453;height:40px;width:40px}.teacher-page .page-loading p{color:#4b5563;font-size:18px}.teacher-page .action-card,.teacher-page .card,.teacher-page .info-card,.teacher-page .notification-card,.teacher-page .profile-card,.teacher-page .stat-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.teacher-page .action-card .card-header,.teacher-page .card .card-header,.teacher-page .info-card .card-header,.teacher-page .notification-card .card-header,.teacher-page .profile-card .card-header,.teacher-page .stat-card .card-header{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:24px}.teacher-page .action-card .card-header .card-title,.teacher-page .card .card-header .card-title,.teacher-page .info-card .card-header .card-title,.teacher-page .notification-card .card-header .card-title,.teacher-page .profile-card .card-header .card-title,.teacher-page .stat-card .card-header .card-title{color:#111827;font-size:24px;font-weight:600;margin:0}@media(min-width:768px){.teacher-page .action-card .card-header .card-title,.teacher-page .card .card-header .card-title,.teacher-page .info-card .card-header .card-title,.teacher-page .notification-card .card-header .card-title,.teacher-page .profile-card .card-header .card-title,.teacher-page .stat-card .card-header .card-title{font-size:36px}}.teacher-page .action-card .card-header .card-actions,.teacher-page .card .card-header .card-actions,.teacher-page .info-card .card-header .card-actions,.teacher-page .notification-card .card-header .card-actions,.teacher-page .profile-card .card-header .card-actions,.teacher-page .stat-card .card-header .card-actions{align-items:center;display:flex;gap:12px}.teacher-page .action-card .card-body,.teacher-page .card .card-body,.teacher-page .info-card .card-body,.teacher-page .notification-card .card-body,.teacher-page .profile-card .card-body,.teacher-page .stat-card .card-body{padding:24px}.teacher-page .content-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:24px;padding:24px}@media(min-width:768px){.teacher-page .content-section{margin-bottom:32px;padding:32px}}.teacher-page .content-section h2{color:#111827;font-size:18px;font-weight:600;margin-bottom:16px}@media(min-width:768px){.teacher-page .content-section h2{font-size:24px;margin-bottom:24px}}.teacher-page .data-table{border-collapse:collapse;margin-top:16px;width:100%}.teacher-page .data-table td,.teacher-page .data-table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:12px;text-align:left}@media(min-width:768px){.teacher-page .data-table td,.teacher-page .data-table th{font-size:16px;padding:16px}}.teacher-page .data-table th{background-color:#f9fafb;color:#111827;font-size:14px;font-weight:600}@media(min-width:768px){.teacher-page .data-table th{font-size:16px}}@media(hover:hover){.teacher-page .data-table tr:hover{background-color:#f9fafb}}.teacher-page .data-table .table-container{margin:-24px;overflow-x:auto;padding:24px}.teacher-page .filters-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.teacher-page .filters-section h2{color:#111827;font-size:24px;font-weight:600;margin:0}@media(min-width:768px){.teacher-page .filters-section h2{font-size:36px}}.teacher-page .filters-section .page-filters{align-items:center;display:flex;gap:12px}.teacher-page .filters-section .page-filters .filter-select{min-width:120px}.teacher-page .badge{border-radius:2px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;text-align:center}.teacher-page .badge.status-pending{background-color:#fef3c7;color:#92400e}.teacher-page .badge.status-approved{background-color:#d1fae5;color:#065f46}.teacher-page .badge.status-rejected{background-color:#fee2e2;color:#991b1b}.teacher-page .badge.status-contacted{background-color:#dbeafe;color:#1e40af}.teacher-page .badge.status-scheduled{background-color:#e0e7ff;color:#3730a3}.teacher-page .badge.status-completed{background-color:#dcfce7;color:#166534}.teacher-page .badge.status-cancelled{background-color:#f3f4f6;color:#374151}.teacher-page .action-buttons{display:flex;gap:8px}@media(max-width:767px){.teacher-page .mobile-hidden{display:none}}@media(min-width:768px){.teacher-page .desktop-hidden{display:none}}.teacher-page .pagination{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:24px}.teacher-page .pagination .page-button{background-color:#fff;border:1px solid #d1d5db;border-radius:2px;color:#374151;font-size:14px;padding:8px 12px;text-decoration:none;transition:all .15s ease}.teacher-page .pagination .page-button:hover{background-color:#f9fafb;border-color:#9ca3af}.teacher-page .pagination .page-button.active{background-color:#0d2453;border-color:#0d2453;color:#fff}.teacher-page .pagination .page-button:disabled{cursor:not-allowed;opacity:.5}.user-dashboard{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.user-dashboard .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.user-dashboard .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.user-dashboard .hero-section{padding:1.5rem 1rem 1rem}}.user-dashboard .hero-section .hero-content{margin:0 auto;max-width:600px}.user-dashboard .hero-section .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-dashboard .hero-section .section-label{font-size:.8rem}}.user-dashboard .hero-section .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.user-dashboard .hero-section .section-title{font-size:1.3rem}}@media(max-width:480px){.user-dashboard .hero-section .section-title{font-size:1.1rem}}.user-dashboard .hero-section .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.user-dashboard .hero-section .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.user-dashboard .hero-section .section-subtitle{font-size:.9rem}}.user-dashboard .page-content{background:#f9fafb;padding:24px 0 6rem}.user-dashboard .page-content .container{margin:0 auto;max-width:1200px;padding:0 3rem}@media(max-width:768px){.user-dashboard .page-content .container{padding:0 1.5rem}}@media(max-width:480px){.user-dashboard .page-content .container{padding:0 1rem}}.user-dashboard .form-container{border-radius:12px;margin:0 auto;max-width:1200px}.user-dashboard .form-section{background:#fff;border-radius:12px;margin-bottom:32px;padding:32px}@media(max-width:768px){.user-dashboard .form-section{margin-bottom:24px;padding:24px}}.user-dashboard .form-section .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.user-dashboard .form-section .section-header{margin-bottom:1.5rem}}.user-dashboard .form-section .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-dashboard .form-section .section-header .section-label{font-size:.8rem}}.user-dashboard .form-section .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}@media(max-width:768px){.user-dashboard .form-section .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.user-dashboard .form-section .section-header .section-title{font-size:1.1rem}}.user-dashboard .form-row{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:32px}@media(max-width:768px){.user-dashboard .form-row{gap:24px;grid-template-columns:1fr;margin-bottom:24px}}.user-dashboard .form-row:last-child{margin-bottom:0}.user-dashboard .form-group .info-display{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.user-dashboard .form-group .info-display:hover{background:#0d245305;border-color:#0d2453}.user-dashboard .form-group .info-display .info-icon{color:#0d2453;flex-shrink:0}.user-dashboard .form-group .info-display .info-text{color:#343a40;flex:1 1;font-weight:500}.user-dashboard .form-group .email-edit-mode .form-input,.user-dashboard .form-group .email-edit-mode .form-textarea{margin-bottom:.75rem}.user-dashboard .form-group .email-edit-mode .edit-actions{display:flex;gap:.5rem}.no-notifications{background:#f9fafb;border-radius:8px;color:#6c757d;font-size:14px;margin:24px 0;padding:32px;text-align:center}.notifications-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:768px){.notifications-grid{gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.notifications-grid .notification-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:16px;justify-content:space-between;min-height:auto;padding:24px;transition:all .3s ease}.notifications-grid .notification-card:hover{border-color:#0d2453;box-shadow:0 2px 8px #00000014}.notifications-grid .notification-card:active{transform:scale(.98)}.notifications-grid .notification-card .notification-content{flex:1 1;min-width:0}.notifications-grid .notification-card .notification-content .notification-title{color:#1f2937;font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px}.notifications-grid .notification-card .notification-content .notification-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6c757d;display:-webkit-box;font-size:12px;line-height:1.4;margin-bottom:4px;overflow:hidden;word-break:break-word}.notifications-grid .notification-card .notification-content .notification-meta{color:#6b7280;font-size:12px;line-height:1.4}.notification-detail-content .notification-detail-title{color:#1f2937;font-size:18px;font-weight:600;line-height:1.3;margin-bottom:24px}.notification-detail-content .notification-detail-message{background:#f9fafb;border-radius:6px;color:#6c757d;font-size:16px;line-height:1.6;margin-bottom:24px;padding:24px;word-break:break-word}.notification-detail-content .notification-detail-meta{background:#f8f9fa;border-radius:6px;color:#6b7280;font-size:14px;padding:16px;text-align:center}.modal-footer{display:flex;flex-direction:column;gap:16px;margin-top:32px}@media(min-width:768px){.modal-footer{flex-direction:row;gap:24px;justify-content:flex-end}}.user-info-section{margin-bottom:48px;width:100%}.user-info-section .section-header{align-items:center;display:flex;flex-direction:row;gap:24px;justify-content:space-between;margin-bottom:32px}.user-info-section .section-header h2{color:#0d2453;font-size:18px;font-weight:600;margin:0;text-align:left}@media(min-width:768px){.user-info-section .section-header h2{font-size:24px}}.user-info-section .user-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:768px){.user-info-section .user-info-grid{gap:32px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.user-info-section .user-info-grid .info-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:24px;padding:32px;transition:all .3s ease}.user-info-section .user-info-grid .info-card:hover{border-color:#0d2453;box-shadow:0 4px 12px #0000001a}.user-info-section .user-info-grid .info-card .info-icon{align-items:center;background:#0d24531a;border-radius:6px;color:#0d2453;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.user-info-section .user-info-grid .info-card .info-content{flex:1 1;min-width:0}.user-info-section .user-info-grid .info-card .info-content .info-label{align-items:center;color:#6c757d;display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:4px}.user-info-section .user-info-grid .info-card .info-content .info-label .edit-inline-btn{align-items:center;background:none;border:none;border-radius:2px;color:#0d2453;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:4px;transition:all .3s ease}.user-info-section .user-info-grid .info-card .info-content .info-label .edit-inline-btn:hover{background:#0d24531a;opacity:1}.user-info-section .user-info-grid .info-card .info-content .info-label .edit-inline-btn:active{transform:scale(.95)}.user-info-section .user-info-grid .info-card .info-content .info-value{color:#343a40;font-size:16px;font-weight:600;word-break:break-word}.user-info-section .user-info-grid .info-card .info-content .email-edit-mode{width:100%}.user-info-section .user-info-grid .info-card .info-content .email-edit-mode .form-control-sm{font-size:14px;margin-bottom:8px;padding:8px}.user-info-section .user-info-grid .info-card .info-content .email-edit-mode .edit-actions{display:flex;gap:8px}.error,.loading{align-items:center;color:#6c757d;display:flex;font-size:16px;justify-content:center;min-height:200px;padding:48px 24px;text-align:center}@media(min-width:768px){.error,.loading{font-size:18px;padding:64px}}.error{color:#ef4444}@media(max-width:480px){.user-dashboard .page-header{min-height:180px;padding:32px 16px}.user-dashboard .page-header h1{font-size:18px;line-height:1.3}.user-dashboard .page-header .page-description{font-size:14px;line-height:1.4}.user-dashboard .notifications-grid,.user-dashboard .user-info-grid{gap:16px;grid-template-columns:1fr}.user-dashboard .notification-card{min-height:100px;padding:24px}}@media(max-width:360px){.user-dashboard .page-header{min-height:160px;padding:24px 16px}.user-dashboard .page-header h1{font-size:16px}.user-dashboard .page-header .page-description{font-size:12px}.user-dashboard .notifications-grid,.user-dashboard .user-info-grid{gap:16px}.user-dashboard .notification-card{min-height:90px;padding:16px}.user-dashboard .section-header h2{font-size:16px}}@media(hover:none)and (pointer:coarse){.user-dashboard .info-card:hover,.user-dashboard .notification-card:hover{transform:none}.user-dashboard .info-card:active,.user-dashboard .notification-card:active{transform:scale(.98)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-lesson-schedule-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.user-lesson-schedule-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.user-lesson-schedule-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.user-lesson-schedule-page .hero-section{padding:1.5rem 1rem 1rem}}.user-lesson-schedule-page .hero-section .hero-content{margin:0 auto;max-width:600px}.user-lesson-schedule-page .hero-section .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-lesson-schedule-page .hero-section .section-label{font-size:.8rem}}.user-lesson-schedule-page .hero-section .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.user-lesson-schedule-page .hero-section .section-title{font-size:1.3rem}}@media(max-width:480px){.user-lesson-schedule-page .hero-section .section-title{font-size:1.1rem}}.user-lesson-schedule-page .hero-section .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.user-lesson-schedule-page .hero-section .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.user-lesson-schedule-page .hero-section .section-subtitle{font-size:.9rem}}.user-lesson-schedule-page .page-content{background:#f9fafb;padding:24px 0 6rem}.user-lesson-schedule-page .page-content .container{margin:0 auto;max-width:1200px;padding:0 3rem}@media(max-width:768px){.user-lesson-schedule-page .page-content .container{padding:0 1.5rem}}@media(max-width:480px){.user-lesson-schedule-page .page-content .container{padding:0 1rem}}.user-lesson-schedule-page .form-container{border-radius:12px;margin:0 auto;max-width:1200px}.user-lesson-schedule-page .form-section{background:#fff;border-radius:12px;margin-bottom:32px;padding:32px}@media(max-width:768px){.user-lesson-schedule-page .form-section{margin-bottom:24px;padding:24px}}.user-lesson-schedule-page .form-section .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.user-lesson-schedule-page .form-section .section-header{margin-bottom:1.5rem}}.user-lesson-schedule-page .form-section .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-lesson-schedule-page .form-section .section-header .section-label{font-size:.8rem}}.user-lesson-schedule-page .form-section .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.user-lesson-schedule-page .form-section .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.user-lesson-schedule-page .form-section .section-header .section-title{font-size:1.1rem}}.user-lesson-schedule-page .form-row{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:32px}@media(max-width:768px){.user-lesson-schedule-page .form-row{gap:24px;grid-template-columns:1fr;margin-bottom:24px}}.user-lesson-schedule-page .form-row:last-child{margin-bottom:0}.user-lesson-schedule-page .schedule-card{border:2px solid;border-radius:12px;padding:32px;transition:all .2s ease}.user-lesson-schedule-page .schedule-card.original{background:#0d24530d;border-color:#0d245333}.user-lesson-schedule-page .schedule-card.requested{background:#ea580c0d;border-color:#ea580c33}.user-lesson-schedule-page .schedule-card .schedule-info .date-info,.user-lesson-schedule-page .schedule-card .schedule-info .day-info,.user-lesson-schedule-page .schedule-card .schedule-info .time-info{align-items:center;border-bottom:1px solid #0000001a;display:flex;justify-content:space-between;margin-bottom:16px;padding:8px 0}.user-lesson-schedule-page .schedule-card .schedule-info .date-info:last-child,.user-lesson-schedule-page .schedule-card .schedule-info .day-info:last-child,.user-lesson-schedule-page .schedule-card .schedule-info .time-info:last-child{border-bottom:none;margin-bottom:0}.user-lesson-schedule-page .schedule-card .schedule-info .date-info .label,.user-lesson-schedule-page .schedule-card .schedule-info .day-info .label,.user-lesson-schedule-page .schedule-card .schedule-info .time-info .label{color:#6c757d;font-size:14px;font-weight:600}.user-lesson-schedule-page .schedule-card .schedule-info .date-info .value,.user-lesson-schedule-page .schedule-card .schedule-info .day-info .value,.user-lesson-schedule-page .schedule-card .schedule-info .time-info .value{color:#343a40;font-size:14px;font-weight:600}.user-lesson-schedule-page .change-summary-visual{background:#f9fafb;border-radius:12px;margin-top:32px;padding:32px;text-align:center}.user-lesson-schedule-page .change-summary-visual .change-arrow{align-items:center;display:flex;gap:24px;justify-content:center}@media(max-width:768px){.user-lesson-schedule-page .change-summary-visual .change-arrow{flex-direction:column;gap:16px}}.user-lesson-schedule-page .change-summary-visual .change-arrow .new-time,.user-lesson-schedule-page .change-summary-visual .change-arrow .original-time{background:#fff;border:2px solid;border-radius:8px;font-size:16px;font-weight:600;padding:16px 24px}.user-lesson-schedule-page .change-summary-visual .change-arrow .original-time{border-color:#0d2453;color:#0d2453}.user-lesson-schedule-page .change-summary-visual .change-arrow .new-time{border-color:#ea580c;color:#ea580c}.user-lesson-schedule-page .change-summary-visual .change-arrow .arrow{color:#6c757d;font-size:18px;font-weight:700}@media(max-width:768px){.user-lesson-schedule-page .change-summary-visual .change-arrow .arrow{transform:rotate(90deg)}}.user-lesson-schedule-page .summary-cards{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr}@media(min-width:768px){.user-lesson-schedule-page .summary-cards{grid-template-columns:1fr 1fr}}.user-lesson-schedule-page .summary-cards .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:32px}.user-lesson-schedule-page .summary-cards .summary-card .summary-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 0}.user-lesson-schedule-page .summary-cards .summary-card .summary-item:last-child{border-bottom:none;margin-bottom:0}.user-lesson-schedule-page .summary-cards .summary-card .summary-item .label{color:#6c757d;flex-shrink:0;font-size:14px;font-weight:600;margin-right:16px}.user-lesson-schedule-page .summary-cards .summary-card .summary-item .value{color:#343a40;font-size:14px;font-weight:600;text-align:right}.user-lesson-schedule-page .summary-cards .summary-card .summary-item .value.original-time{background:#0d24531a;border-radius:6px;color:#0d2453;padding:8px 16px}.user-lesson-schedule-page .summary-cards .summary-card .summary-item .value.requested-time{background:#ea580c1a;border-radius:6px;color:#ea580c;padding:8px 16px}.current-schedule{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:48px;padding:32px}.current-schedule h4{color:#0d2453;font-size:18px;font-weight:600;margin-bottom:32px;text-align:center}.current-schedule .schedule-comparison{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr}@media(min-width:768px){.current-schedule .schedule-comparison{grid-template-columns:repeat(2,1fr)}}.current-schedule .schedule-comparison .original-schedule,.current-schedule .schedule-comparison .requested-schedule{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:24px}.current-schedule .schedule-comparison .original-schedule h5,.current-schedule .schedule-comparison .requested-schedule h5{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:16px;text-align:center}.current-schedule .schedule-comparison .original-schedule p,.current-schedule .schedule-comparison .requested-schedule p{color:#6c757d;font-size:14px;line-height:1.4;margin-bottom:8px}.current-schedule .schedule-comparison .original-schedule p strong,.current-schedule .schedule-comparison .requested-schedule p strong{color:#1f2937;font-weight:600}.current-schedule .change-summary{background:#0d24531a;border:1px solid #0d245333;border-radius:6px;margin-top:32px;padding:24px;text-align:center}.current-schedule .change-summary .summary-text{color:#0d2453;font-size:16px;font-weight:600}.time-button-group{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin-bottom:24px}@media(min-width:768px){.time-button-group{gap:16px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}.time-button-group .time-button{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:14px;font-weight:600;min-height:40px;min-width:auto;padding:8px;text-align:center;transition:all .3s ease;width:100%}@media(min-width:768px){.time-button-group .time-button{font-size:16px;min-height:42px;min-width:90px}}.time-button-group .time-button:hover:not(:disabled){background:#0d24530d;border-color:#0d2453}.time-button-group .time-button.selected{background:#0d2453;border-color:#0d2453;color:#fff}.time-button-group .time-button.selected:hover{background:#061127;color:#fff}.time-button-group .time-button:disabled{cursor:not-allowed;opacity:.6}.time-button-group .time-button:disabled,.time-button-group .time-button:disabled:hover{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}@media(max-width:480px){.page-header{min-height:180px;padding:32px 16px}.page-header h1{font-size:18px;line-height:1.3}.page-header p{font-size:14px;line-height:1.4}}@media(max-width:360px){.page-header{min-height:160px;padding:24px 16px}.page-header h1{font-size:16px}.page-header p{font-size:12px}}.user-page .form-container{border-radius:12px;margin:0 auto;max-width:1200px}.user-page .form-section{background:#fff;border-radius:12px;margin-bottom:32px;padding:24px;width:100%}@media(max-width:768px){.user-page .form-section{margin-bottom:24px;padding:8px}}.user-page .form-section .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.user-page .form-section .section-header{margin-bottom:1.5rem}}.user-page .form-section .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-page .form-section .section-header .section-label{font-size:.8rem}}.user-page .form-section .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.user-page .form-section .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.user-page .form-section .section-header .section-title{font-size:1.1rem}}.user-page .form-row{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:32px}@media(max-width:768px){.user-page .form-row{gap:24px;grid-template-columns:1fr;margin-bottom:24px}}.user-page .form-row:last-child{margin-bottom:0}.user-page .form-group .form-label{color:#343a40;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.user-page .form-group .info-display{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.user-page .form-group .info-display:hover{background:#0d245305;border-color:#0d2453}.user-page .form-group .info-display .info-text{color:#343a40;flex:1 1;font-weight:500}.page-intro{margin-bottom:32px;padding:32px 0;text-align:center}.page-intro .intro-text{color:#343a40;font-size:18px;font-weight:600;line-height:1.4;margin-bottom:16px}.page-intro .intro-description{color:#6c757d;font-size:16px;line-height:1.6;margin:0 auto;max-width:500px}.practice-booking-container{display:flex;flex-direction:column;gap:2rem;margin-top:2rem;padding:0 16px}.booking-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:32px}.booking-form h3{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:32px;text-align:center}.booking-form .time-button-group{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));margin-bottom:24px}@media(min-width:768px){.booking-form .time-button-group{gap:16px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.booking-form .time-button-group .time-button{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:12px;font-weight:600;min-height:40px;min-width:auto;padding:8px;text-align:center;transition:all .3s ease;width:100%}@media(min-width:768px){.booking-form .time-button-group .time-button{font-size:14px;min-height:38px;min-width:80px}}@media(min-width:1024px){.booking-form .time-button-group .time-button{font-size:16px;min-height:42px}}.booking-form .time-button-group .time-button.start-selected{background:#0d2453;border-color:#0d2453;color:#fff}.booking-form .time-button-group .time-button.start-selected:hover{background:#061127;color:#fff}.booking-form .time-button-group .time-button.end-selected{background:#10b981;border-color:#10b981;color:#fff}.booking-form .time-button-group .time-button.end-selected:hover{background:#0c8a60;color:#fff}.booking-form .time-button-group .time-button.in-range{background:#0d24531a;border-color:#0d24534d;color:#0d2453}.booking-form .time-button-group .time-button.in-range:hover{background:#0d245326;color:#0d2453}.booking-form .time-button-group .time-button:hover:not(:disabled):not(.start-selected):not(.end-selected):not(.in-range){background:#0d24530d;border-color:#0d2453}.booking-form .time-button-group .time-button.disabled{background:#d1d5db;border-color:#d1d5db;color:#4b5563;cursor:not-allowed;opacity:.8}.booking-form .time-button-group .time-button.disabled:hover{background:#d1d5db;border-color:#d1d5db;color:#4b5563}.booking-form .time-button-group .time-button:disabled{cursor:not-allowed;opacity:.5}.booking-form .selected-time-info{background:#0d24531a;border:1px solid #0d245333;border-radius:6px;margin-top:16px;padding:16px}.booking-form .selected-time-info .selected-time{color:#0d2453;font-size:14px;font-weight:600}.booking-form .form-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;min-height:80px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.booking-form .form-textarea:focus{border-color:#0d2453;box-shadow:0 0 0 3px #0d24531a;outline:none}.booking-form .form-textarea:hover{border-color:#9ca3af}.booking-detail{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:32px}.booking-detail h3{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:32px;text-align:center}.booking-detail .booking-info .info-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:16px 0}.booking-detail .booking-info .info-row:last-child{border-bottom:none}.booking-detail .booking-info .info-row .label{color:#1f2937;font-size:14px;font-weight:600}.booking-detail .booking-info .info-row .status{border-radius:2px;font-size:12px;font-weight:600;padding:8px 16px}.booking-detail .booking-info .info-row .status.status-scheduled{background:#0d24531a;color:#0d2453}.booking-detail .booking-info .info-row .status.status-cancelled{background:#ef44441a;color:#ef4444}.booking-detail .booking-info .info-row .status.status-completed{background:#10b9811a;color:#10b981}.booking-detail .booking-actions{margin-top:32px;text-align:center}.time-slot-hint{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:24px;padding:24px}@media(min-width:768px){.time-slot-hint{margin-top:32px;padding:32px}}.time-slot-hint .hint-title{color:#1f2937;font-size:14px;font-weight:600;margin-bottom:24px}@media(min-width:768px){.time-slot-hint .hint-title{font-size:16px;margin-bottom:24px}}.time-slot-hint .hint-list{list-style:none;margin:0;padding:0}.time-slot-hint .hint-list li{align-items:center;color:#6c757d;display:flex;font-size:14px;margin-bottom:16px}@media(min-width:768px){.time-slot-hint .hint-list li{font-size:14px;margin-bottom:16px}}.time-slot-hint .hint-list li:before{color:#0d2453;content:"•";font-weight:700;margin-right:16px}.time-slot-hint .hint-list li:last-child{margin-bottom:0}@media(max-width:480px){.user-page .page-header{min-height:180px;padding:32px 16px}.user-page .page-header h1{font-size:18px;line-height:1.3}.user-page .page-header p{font-size:14px;line-height:1.4}.user-page .practice-booking-container{gap:24px;padding:24px 16px}.user-page .practice-booking-container .booking-section .booking-form{padding:24px}.user-page .practice-booking-container .booking-section .booking-form h3{font-size:18px;margin-bottom:32px}}@media(max-width:360px){.user-page .page-header{min-height:160px;padding:24px 16px}.user-page .page-header h1{font-size:16px}.user-page .page-header p{font-size:12px}.user-page .practice-booking-container{gap:16px;padding:16px}.user-page .practice-booking-container .booking-section .booking-form{padding:16px}.user-page .practice-booking-container .booking-section .booking-form h3{font-size:16px;margin-bottom:24px}.user-page .practice-booking-container .booking-section .booking-detail{padding:16px}.user-page .practice-booking-container .booking-section .booking-detail h3{font-size:16px}.user-page .practice-booking-container .booking-section .booking-detail .booking-info .info-row{padding:16px 0}.user-page .practice-booking-container .booking-section .booking-detail .booking-info .info-row .label,.user-page .practice-booking-container .booking-section .booking-detail .booking-info .info-row .value{font-size:12px}}.user-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.user-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.user-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.user-page .hero-section{padding:1.5rem 1rem 1rem}}.user-page .hero-section .hero-content{margin:0 auto;max-width:600px}.user-page .hero-section .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.user-page .hero-section .section-label{font-size:.8rem}}.user-page .hero-section .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.user-page .hero-section .section-title{font-size:1.3rem}}@media(max-width:480px){.user-page .hero-section .section-title{font-size:1.1rem}}.user-page .hero-section .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.user-page .hero-section .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.user-page .hero-section .section-subtitle{font-size:.9rem}}.user-page .page-content{background:#f9fafb;padding:24px 0 6rem}.user-page .page-content .container{margin:0 auto;max-width:1200px;padding:0 3rem}@media(max-width:768px){.user-page .page-content .container{padding:0 1.5rem}}@media(max-width:480px){.user-page .page-content .container{padding:0 1rem}}.password-strength{margin-top:16px}.password-strength .strength-bar{background:#e5e7eb;border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.password-strength .strength-bar .strength-fill{border-radius:2px;height:100%;transition:all .3s ease}.password-strength .strength-bar .strength-fill.weak{background:#ef4444;width:25%}.password-strength .strength-bar .strength-fill.fair{background:#f59e0b;width:50%}.password-strength .strength-bar .strength-fill.good{background:#10b981;width:75%}.password-strength .strength-bar .strength-fill.strong{background:#10b981;width:100%}.password-strength .strength-text{color:#4b5563;font-size:12px;text-align:center}.change-password-content{margin:0 auto;max-width:800px}@media(min-width:768px){.change-password-content{padding:48px}}@media(min-width:1024px){.change-password-content{padding:64px}}@media(max-width:480px){.user-page .page-header{min-height:180px;padding:32px 16px}.user-page .page-header h1{font-size:18px;line-height:1.3}.user-page .page-header p{font-size:14px;line-height:1.4}}@media(max-width:360px){.user-page .page-header{min-height:160px;padding:24px 16px}.user-page .page-header h1{font-size:16px}.user-page .page-header p{font-size:12px}.user-page .change-password-content{margin:0 16px;padding:16px}}.academy-tour-page{background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.academy-tour-page .hero-section{background:#fff;margin:0 auto;max-width:1200px;padding:3rem 3rem 2rem;text-align:center}@media(max-width:768px){.academy-tour-page .hero-section{padding:2rem 1.5rem 1.5rem}}@media(max-width:480px){.academy-tour-page .hero-section{padding:1.5rem 1rem 1rem}}.academy-tour-page .hero-section .hero-content{margin:0 auto;max-width:600px}.academy-tour-page .section-header{margin-bottom:2rem;text-align:center}@media(max-width:768px){.academy-tour-page .section-header{margin-bottom:1.5rem}}.academy-tour-page .section-header .section-label{color:#ea580c;font-size:.9rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}@media(max-width:480px){.academy-tour-page .section-header .section-label{font-size:.8rem}}.academy-tour-page .section-header .section-title{color:#343a40;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}@media(max-width:768px){.academy-tour-page .section-header .section-title{font-size:1.3rem}}@media(max-width:480px){.academy-tour-page .section-header .section-title{font-size:1.1rem}}.academy-tour-page .section-header .section-subtitle{color:#6c757d;font-size:1rem;line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.academy-tour-page .section-header .section-subtitle{font-size:.95rem;max-width:100%}}@media(max-width:480px){.academy-tour-page .section-header .section-subtitle{font-size:.9rem}}.tour-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:3rem}@media(min-width:768px){.tour-grid{gap:2.5rem;grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.tour-grid{grid-template-columns:repeat(3,1fr)}}.tour-grid .tour-location{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .3s ease}.tour-grid .tour-location:hover{border-color:#0d2453}.tour-grid .tour-location .location-image{height:200px;overflow:hidden;position:relative;width:100%}@media(max-width:480px){.tour-grid .tour-location .location-image{height:180px}}.tour-grid .tour-location .location-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.tour-grid .tour-location .location-content{padding:1.5rem}@media(max-width:480px){.tour-grid .tour-location .location-content{padding:1.2rem}}.tour-grid .tour-location .location-content h3{color:#343a40;font-size:1.1rem;font-weight:600;margin-bottom:.8rem}@media(max-width:480px){.tour-grid .tour-location .location-content h3{font-size:1rem}}.tour-grid .tour-location .location-content .description{color:#6c757d;font-size:.9rem;line-height:1.6;margin:0}@media(max-width:480px){.tour-grid .tour-location .location-content .description{font-size:.85rem}}.tour-info{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:768px){.tour-info{gap:2.5rem;grid-template-columns:repeat(2,1fr)}}.tour-info .info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}@media(max-width:480px){.tour-info .info-card{padding:1.5rem}}.tour-info .info-card h3{color:#343a40;font-size:1.2rem;font-weight:600;margin-bottom:1rem}@media(max-width:480px){.tour-info .info-card h3{font-size:1.1rem}}.tour-info .info-card ul{list-style:none;margin:0;padding:0}.tour-info .info-card ul li{border-bottom:1px solid #e5e7eb;color:#6c757d;font-size:.9rem;padding:.5rem 0}@media(max-width:480px){.tour-info .info-card ul li{font-size:.85rem}}.tour-info .info-card ul li:last-child{border-bottom:none}.tour-info .info-card p{color:#6c757d;font-size:.9rem;line-height:1.6;margin-bottom:.8rem}@media(max-width:480px){.tour-info .info-card p{font-size:.85rem}}.tour-info .info-card .contact-info{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.tour-info .info-card .contact-info p{font-size:.9rem;font-weight:500;margin-bottom:.5rem}@media(max-width:480px){.tour-info .info-card .contact-info p{font-size:.85rem}.tour-grid,.tour-info{gap:1.5rem;grid-template-columns:1fr}}
/*# sourceMappingURL=main.5c1f8b28.css.map*/