@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";.loading-container{height:100vh;width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--color-background)}.loading-container h1{color:var(--color-heading);margin-bottom:20px}.progress-bar-container{width:80%;max-width:500px;height:20px;border-radius:var(--border-radius);overflow:hidden;background-color:#ccc}.progress-bar-fill{height:100%;background-color:var(--color-button);border-radius:var(--border-radius);transition:width .3s ease-in-out}.progress-bar-fill.animated{background-image:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:40px 40px;animation:moveStripes 1s linear infinite}@keyframes moveStripes{0%{background-position:0 0}to{background-position:40px 0}}.app-container.error{height:100vh;width:100vw;display:flex;justify-content:center;align-items:center;background-color:var(--color-background);font-family:var(--font-family)}.error-state{text-align:center;padding:40px;border-radius:var(--border-radius);background-color:var(--color-alt-background);color:var(--color-button-text);box-shadow:0 4px 12px #0000001a;max-width:400px;width:90%}.error-title{font-size:48px;font-weight:700;color:var(--color-button-text);margin-bottom:16px}.error-message{font-size:20px;margin-bottom:12px;color:var(--color-button-text)}.error-sub-message{font-size:16px;color:var(--color-button-text)}.main-card{height:100vh;width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center}.main-card-wrapper{background-color:#dbdbdb;padding:40px 30px;border-radius:var(--border-radius);text-align:center;box-shadow:0 6px 20px #00000014;max-width:450px;width:90%;display:flex;flex-direction:column;align-items:center}.logo{width:240px;margin-bottom:0}.main-title{color:var(--color-heading);font-size:28px;margin-bottom:12px}.action-card{background-color:#fff;padding:20px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000000d;width:100%;margin-top:16px}.action-text{font-size:16px;color:var(--color-text);margin-bottom:16px;line-height:1.5}button{padding:12px 20px;font-family:var(--font-family);font-size:16px;background-color:var(--color-button);color:var(--color-button-text);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .3s ease;width:100%}button:hover{background-color:#474f59}.app-header{border-bottom:1px solid #dcdcdc;background-color:var(--color-background-header);padding:8px}.app-header-wrapper{display:flex;justify-content:space-between;align-items:center;height:auto;padding:0 16px;max-width:var( --max-content-width );margin-left:auto;margin-right:auto;flex-wrap:wrap}@media(max-width:768px){.app-header-wrapper{justify-content:center}}.header-left{display:flex;align-items:center;gap:24px}.header-logo{height:80px;width:auto}.header-nav{display:flex;align-items:center;gap:8px}.nav-button{background:none;border:none;color:var(--color-heading);font-family:var(--font-family);font-size:14px;font-weight:500;padding:6px 10px;border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s ease,color .15s ease}.nav-button:hover{background-color:#6375961f}.header-right{display:flex;align-items:center;gap:5px}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background-color:#fff;border:1px solid #dcdcdc;border-radius:var(--border-radius);box-shadow:0 6px 16px #00000014;z-index:100}.dropdown-menu.right{right:0;left:auto}.dropdown-item{width:100%;background:none;border:none;padding:10px 14px;text-align:left;font-family:var(--font-family);font-size:14px;color:var(--color-heading);cursor:pointer;transition:background-color .15s ease,color .15s ease}.dropdown-item:hover{background-color:var(--color-alt-background);color:#fff}.profile-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:6px 10px;border-radius:var(--border-radius);font-family:var(--font-family);font-size:14px;font-weight:500;color:var(--color-heading);cursor:pointer;transition:background-color .15s ease}.profile-button:hover{background-color:#6375961f}.profile-icon{font-size:16px}.profile-dropdown{min-width:200px;display:flex;flex-direction:column;padding:8px 0}.profile-info{padding:8px 16px;border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:2px}.profile-name{font-weight:500;font-size:14px;color:var(--color-heading);text-transform:capitalize}.profile-email{font-size:12px;color:#666}.profile-actions{padding:8px 16px;display:flex;flex-direction:column;gap:4px}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--color-background-header);width:90%;max-width:1000px;max-height:95vh;border-radius:var(--border-radius);padding:20px;position:relative;overflow-y:auto;box-shadow:0 4px 12px #0003}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-heading);width:auto;padding:0}.modal-close:hover{background-color:transparent}.modal-title{font-size:1.5rem;font-weight:500;margin-bottom:20px;color:var(--color-heading)}.modal-sections{display:flex;flex-direction:column;gap:20px}.modal-section{background-color:#f9f9f9;padding:12px;border-radius:var(--border-radius)}.section-placeholder{height:500px;background-color:#e0e0e0;border-radius:3px}.enrollments-table-wrapper{max-height:400px;overflow:auto;border:1px solid #ddd;border-radius:var(--border-radius);background-color:var(--color-background-header);margin-top:15px}.enrollments-table{width:100%;border-collapse:collapse;font-family:var(--font-family)}.enrollments-table thead{background-color:var(--color-background-header)}.enrollments-table th{text-align:left;padding:10px 12px;font-weight:500;color:var(--color-heading);border-bottom:2px solid #ddd;-webkit-user-select:none;user-select:none}.enrollments-table td{padding:10px 12px;border-bottom:1px solid #ddd;color:var(--color-text);vertical-align:middle}.enrollments-table tr:hover{background-color:#f5f5f5}.enrollments-table thead tr:hover{background-color:var(--color-background-header)!important}.enrollments-table .action-cell .row{display:flex;gap:5px;justify-content:flex-end;align-items:center}.enrollments-table .action-cell button.redeem-btn,.enrollments-table .action-cell button.undo-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;font-size:.875rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,color .2s ease}.enrollments-table .action-cell button.redeem-btn{background-color:var(--color-button);color:var(--color-button-text)}.enrollments-table .action-cell button.redeem-btn:hover:not(:disabled){background-color:#4e6159}.enrollments-table .action-cell button.undo-btn{background-color:var(--color-alt-background);color:var(--color-button-text)}.enrollments-table .action-cell button.undo-btn:hover:not(:disabled){background-color:#566d7a}.enrollments-table .action-cell button:disabled{background-color:#585f6c80;color:#ccc;cursor:not-allowed}.enrollments-table .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.enrollments-table .availability{font-weight:600;text-align:center}.enrollments-table .availability.available{color:green}.enrollments-table .availability.warning{color:orange}.enrollments-table .availability.danger{color:red}.enrollments-table select{padding:4px 8px;font-size:.875rem;border-radius:var(--border-radius);border:1px solid #ccc;background-color:#fff;color:var(--color-text);cursor:pointer;min-width:120px}.enrollments-table select:disabled{background-color:#eee;color:#888;cursor:not-allowed}.enrollments-table .student-placeholder{color:#888;font-style:italic}.students-cards-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:8px;margin-top:8px}.student-card{display:flex;flex-direction:column;background-color:#fff;border-radius:var(--border-radius);padding:12px;box-shadow:0 1px 4px #0000001a;min-height:180px}.student-card.add-new{display:flex;justify-content:center;align-items:center;border:2px dashed rgba(88,95,108,.5);border-radius:var(--border-radius);background-color:#fff;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;height:100%;width:100%;padding:0}.student-card.add-new:hover{border-color:#585f6ccc;background-color:#f9f9f9}.student-card.add-new button{all:unset;display:flex;justify-content:center;align-items:center;width:100%;height:100%;font-weight:500;color:var(--color-button);cursor:pointer}.student-view,.student-edit{display:flex;flex-direction:column;flex:1}.student-name{font-weight:600;font-size:1rem;margin-bottom:6px;word-break:break-word}.student-info{display:flex;flex-direction:column;gap:4px;font-size:.875rem;color:var(--color-text);flex:1}.student-info span{word-break:break-word}.student-actions,.student-edit-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:15px}.student-edit label{display:flex;flex-direction:column;font-size:.8rem;margin-bottom:6px}.student-edit input{padding:4px 6px;border:1px solid #ccc;border-radius:var(--border-radius);font-size:.875rem}.student-edit-actions button,.student-actions button{padding:6px 12px;border:none;border-radius:var(--border-radius);font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.student-edit-actions button.save-btn{background-color:var(--color-button);color:#fff}.student-edit-actions button.save-btn:hover:not(:disabled){background-color:#474f59}.student-edit-actions button.cancel-btn{background-color:#d9534f;color:#fff}.student-edit-actions button.cancel-btn:hover:not(:disabled){background-color:#c9302c}.student-actions button.student-edit-btn{background-color:var(--color-button);color:#fff}.student-actions button.student-edit-btn:hover:not(:disabled){background-color:#474f59}.student-actions button.student-remove-btn{background-color:#d9534f;color:#fff}.student-actions button.student-remove-btn:hover:not(:disabled){background-color:#c9302c}button:disabled{background-color:#ccc;color:#888;cursor:not-allowed}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.students-cards-wrapper{grid-template-columns:1fr}}.students-cards-wrapper .student-card.add-student-editor{display:flex;flex-direction:column;padding:12px;border:1px solid #bbb;border-radius:var(--border-radius);background-color:#fff;box-shadow:0 2px 4px #0000000d;position:relative;margin-bottom:16px;flex:1 1 30%}.add-student-editor .editor-content{display:flex;flex-direction:column;gap:12px}.add-student-editor .modal-close{position:absolute;top:6px;right:6px;background:transparent;border:none;font-size:1.2rem;color:#888;cursor:pointer}.add-student-editor h3{font-size:1rem;color:var(--color-heading);margin-bottom:8px}.add-student-editor .add-student-options{display:flex;gap:6px;flex-direction:column}.add-student-editor .existing-student-select{display:flex;flex-direction:column;gap:6px}.add-student-editor .existing-student-select select{padding:6px 8px;border-radius:var(--border-radius);border:1px solid #ccc;font-size:.875rem}.add-student-editor .existing-student-select button{padding:6px 12px;font-size:.875rem;border-radius:var(--border-radius);border:none;background-color:var(--color-button);color:var(--color-button-text);cursor:pointer;transition:background-color .2s ease}.add-student-editor .existing-student-select button:hover:not(:disabled){background-color:#4a5460}.add-student-editor .new-student-form{display:flex;flex-direction:column;gap:8px}.add-student-editor .new-student-form label{display:flex;flex-direction:column;font-size:.825rem;color:var(--color-heading);gap:4px}.add-student-editor .new-student-form input{padding:6px 10px;font-size:.875rem;border:1px solid #ccc;border-radius:var(--border-radius);width:100%;box-sizing:border-box}.add-student-editor .new-student-form button{margin-top:8px;padding:8px 12px;font-size:.875rem;border-radius:var(--border-radius);border:none;background-color:var(--color-button);color:var(--color-button-text);cursor:pointer;transition:background-color .2s ease}.add-student-editor .new-student-form button:hover:not(:disabled){background-color:#4a5460}.add-student-editor .spinner{width:16px;height:16px;border:2px solid rgba(223,223,223,.3);border-top-color:#afafaf;border-radius:50%;animation:spin .6s linear infinite}.readonly-field input{background-color:#f5f5f5;color:#666;cursor:not-allowed}@media(max-width:1000px){.students-cards-wrapper{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.students-cards-wrapper .student-card{flex:0 0 calc(50% - 6px);max-width:calc(50% - 6px)}.students-cards-wrapper .student-card.add-new button{flex:1}.students-cards-wrapper .student-card.add-student-editor{flex:0 0 calc(50% - 6px);max-width:calc(50% - 6px)}}@media(max-width:768px){.students-cards-wrapper .student-card{flex:0 0 100%;max-width:100%}.students-cards-wrapper .student-card.add-new button{flex:1}.students-cards-wrapper .student-card.add-student-editor{flex:0 0 100%;max-width:100%}}.parent-table-wrapper{max-width:var(--max-content-width);margin:20px auto;background-color:var(--color-background-header);border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a;padding:20px}.parent-table-body-wrap{overflow:auto;max-height:63dvh}.parent-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.table-title{font-size:1.5rem;font-weight:500;color:var(--color-heading)}.search-bar{padding:6px 10px;border:1px solid #ddd;border-radius:var(--border-radius);font-family:var(--font-family);font-size:.9rem;width:300px;max-width:100%;transition:border-color .2s ease,box-shadow .2s ease}.search-bar:focus{border-color:var(--color-button);outline:none;box-shadow:0 0 0 2px #585f6c33}.parent-table{width:100%;border-collapse:collapse;font-family:var(--font-family)}.parent-table thead{background-color:var(--color-background-header)}.parent-table thead tr{position:sticky;top:0;background:#fff}.parent-table th{text-align:left;padding:12px;font-weight:500;color:var(--color-heading);border-bottom:2px solid #ddd}.parent-table td{padding:12px;border-bottom:1px solid #ddd;color:var(--color-text);transition:background-color .2s ease,color .2s ease}.parent-table tbody tr:hover{background-color:#f5f5f5;color:var(--color-text)}.name-button{background:none;border:none;color:var(--color-link);cursor:pointer;font-weight:500;text-align:left;padding:0;transition:color .2s ease}.name-button:hover{color:var(--color-button);text-decoration:underline;background:none}.contact-icons{display:flex;gap:6px;align-items:center}.icon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--color-link);text-decoration:none;transition:color .2s ease}.icon-link svg{width:16px;height:16px;stroke:currentColor}.icon-link:hover{color:var(--color-button)}.pagination-1{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:20px;font-family:var(--font-family)}.pagination-1 button{min-width:36px;max-width:40px;padding:6px 10px;background-color:var(--color-background-header);border:1px solid #ddd;border-radius:var(--border-radius);cursor:pointer;color:var(--color-link);font-weight:500;font-size:.9rem;text-align:center;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.pagination-1 button:hover:not(:disabled){background-color:#f5f5f5;color:var(--color-button);border-color:#ccc}.pagination-1 button:disabled{cursor:default;opacity:.5}.pagination-1 .page-number{min-width:32px;max-width:36px;padding:6px 8px;text-align:center;border:1px solid #ddd;border-radius:var(--border-radius);cursor:pointer;font-weight:500;color:var(--color-link);background-color:var(--color-background-header);transition:background-color .2s ease,color .2s ease}.pagination-1 .page-number:hover{background-color:#f5f5f5;color:var(--color-button)}.pagination-1 .page-number.active{background-color:var(--color-button);color:var(--color-button-text);cursor:default;border-color:var(--color-button)}.skeleton-table{width:100%;border-collapse:collapse;font-family:var(--font-family)}.skeleton-table td,.skeleton-table th{padding:12px;border-bottom:1px solid #ddd}.skeleton-table tbody tr:hover{background-color:unset}.skeleton-cell{height:20px;width:100%;border-radius:3px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:300px 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}@media(max-width:1250px){.parent-table-wrapper{margin:8px}}@media(max-width:768px){.parent-search{width:100%}.parent-table th,.parent-table td{padding:8px}}.parent-table-wrapper-v2{max-width:var(--max-content-width);margin:20px auto;padding:20px 20px 80px;display:flex;flex-direction:column;background:#fff;height:calc(100vh - 141px);overflow:auto;position:relative}@media screen and (max-width:768px){.parent-table-wrapper-v2{margin-top:0;margin-bottom:0}}.search-bar-section{width:100%;padding-top:20px;padding-bottom:40px;border-bottom:solid 1px #e6e6e6}.parent-table-header-v2 .search-bar-wrapper{width:100%;max-width:1000px;margin-left:auto;margin-right:auto;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f7f8fa;border-radius:8px;border:1px solid #e5e7eb;transition:background .2s ease,box-shadow .2s ease,border .2s ease}.parent-table-header-v2 .search-bar-wrapper:focus-within{background:#fff;border:1px solid #d1d5db;box-shadow:0 0 0 2px #1a73e8}.parent-table-header-v2 .search-icon{width:20px;height:20px;flex-shrink:0;opacity:.5}.parent-table-header-v2 .search-bar-wrapper input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:#111827}.parent-table-header-v2 .search-bar-wrapper input::placeholder{color:#9ca3af}.parent-table-wrapper-v2 .skeleton{position:relative;overflow:hidden;background:#e5e7eb;border-radius:6px}.parent-table-wrapper-v2 .skeleton:after{content:"";position:absolute;top:0;left:-150%;height:100%;width:150%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{left:150%}}.parent-table-wrapper-v2 .skeleton-row{pointer-events:none}.parent-table-wrapper-v2 .skeleton-name{width:160px;height:16px;margin-bottom:8px}.parent-table-wrapper-v2 .skeleton-email{width:220px;height:12px}.parent-table-wrapper-v2 .skeleton-sessions{width:60px;height:18px}.parent-table-body-wrap-v2{flex:1;overflow-y:auto}.parent-table-body-wrap-v2 .parents-empty{width:100%;min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 20px;color:#6b7280;font-size:15px;font-weight:500}.parent-table-wrapper-v2 .pagination-2{position:fixed;bottom:0;left:0;right:0;max-width:var(--max-content-width);margin:0 auto;background-color:#fff;display:flex;justify-content:center;align-items:center;padding:20px;z-index:10;gap:10px}.parent-table-wrapper-v2 .pagination-2 button{background:#fff;border:1px solid #d1d5db;color:#000;border-radius:6px;padding:6px 14px;width:40px;height:40px;cursor:pointer;font-weight:500;transition:background .15s ease,border-color .15s ease;display:inline-flex;justify-content:center;align-items:center}.parent-table-wrapper-v2 .pagination-2 button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.parent-table-wrapper-v2 .pagination-2 button:disabled:not(.active){cursor:not-allowed;opacity:.5;background:#f9fafb;border-color:#e5e7eb}.parent-table-wrapper-v2 .pagination-2 .page-number.active{background:#0c00f5;color:#fff;border-color:#0c00f5}.parent-table-wrapper-v2 .pagination-2 .ellipsis{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;font-weight:500;color:#6b7280;-webkit-user-select:none;user-select:none;pointer-events:none}.parents-list{list-style:none;margin:0;padding:0}.parent-row{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;transition:background .2s ease,box-shadow .2s ease;gap:10px}.parent-row.clickable{cursor:pointer}.parent-row.clickable:hover{background:#f9fafb}.parent-row.clickable:focus{outline:none;background:#f3f4f6;box-shadow:inset 0 0 0 2px #1a73e8}.parent-info{display:flex;flex-direction:column}.full-name{font-weight:600;font-size:16px;color:#111827}.contact-email{font-weight:400;font-size:14px;color:#6b7280;margin-top:2px;max-width:25ch;word-wrap:break-word;min-width:25ch}.enrollment-info{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.enrollments-remaining{font-weight:600;font-size:16px;color:#111827}.small-heading{font-weight:400;font-size:14px;color:#6b7280;margin-top:2px;display:block}.modal-overlay-v2{cursor:default!important;position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:var(--color-background-header)}.modal-content-v2{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.modal-header-wrapper-v2{border-bottom:1px solid #dcdcdc;background-color:var(--color-background-header);height:101px;padding:8px}.modal-header-v2{display:flex;max-width:var(--max-content-width);margin:0 auto;height:100%}.name-content{display:flex;gap:10px;align-items:center;flex:1}.modal-close-v2{height:100%;background:none;border:none;padding:8px 4px 4px;color:#000;width:auto;border-radius:unset;cursor:pointer}.modal-close-v2:hover{background-color:#fff}.modal-title-v2{font-size:20px;font-weight:600;margin:0;flex:1;text-align:left}.modal-favorite-v2{flex:1;background:none;border:none;cursor:pointer;padding:4px}.modal-body-v2{flex:1;padding:20px;overflow-y:auto;background-color:var(--color-background)}.modal-body-v2 .modal-content-wrapper-v2{max-width:var(--max-content-width);margin:0 auto}.modal-footer-v2{padding:16px 20px;border-top:1px solid #dddddd;background-color:#fff;position:sticky;bottom:0}.modal-action-button-v2{width:100%;padding:12px;background-color:var(--save-action-button-color);color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease;max-width:var(--max-content-width);margin:0 auto;display:block}.modal-action-button-v2:hover:not(:disabled){background-color:#2563eb}.modal-overlay-v2 .api-error{width:100%;max-width:var(--max-content-width);margin:20px auto}.enrollments-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}.enrollment-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;text-align:left;display:flex;flex-direction:column;justify-content:center;min-height:120px;box-shadow:0 4px 8px #0000001a}.lesson-title{font-size:16px;color:#666;margin-bottom:4px}.lesson-subtitle{font-size:13px;color:#7c7c7c}.redemptions{margin-top:8px;font-size:28px;font-weight:700;color:#333}.remaining-label{font-size:12px;color:#aaa}@media(max-width:1024px){.enrollments-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.enrollments-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.enrollments-summary-grid{grid-template-columns:repeat(2,1fr)}}.student-modal-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:var(--color-background-header)}.student-modal{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.student-modal-header-wrapper{border-bottom:1px solid #dcdcdc;background-color:var(--color-background-header);height:101px;flex-shrink:0;padding:8px}.student-modal-header{display:flex;align-items:center;max-width:var(--max-content-width);margin:0 auto;height:100%}.student-modal-header .modal-close{height:100%;background:none;border:none;cursor:pointer;padding:9px 4px 4px;color:#000;width:auto;border-radius:unset;position:static}.student-modal-header h2{font-size:20px;font-weight:600;flex:1;text-align:left;box-shadow:unset;margin:0 0 0 10px}.student-modal .modal-content{width:100%;border-radius:unset;box-shadow:unset;max-width:var(--max-content-width);margin-left:auto;margin-right:auto;padding:0 0 100px;max-height:unset;overflow-y:unset;position:static;display:flex;align-items:center;justify-content:center;height:100%}.student-modal .modal-content .form-fields{max-width:600px;width:100%;margin:0 auto;border:solid 1px #eeeeee;border-radius:8px;padding:20px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;gap:16px}@media screen and (max-width:600px){.student-modal .modal-content .form-fields{width:calc(100% - 40px)}}.student-modal .modal-content .form-fields label{display:flex;flex-direction:column;font-size:14px;font-weight:600;color:#444;gap:6px}.student-modal .modal-content .form-fields select{font-size:14px;padding:10px 36px 10px 12px;border:1px solid #ddd;border-radius:6px;background-color:#fff;transition:border .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}.student-modal .modal-content .form-fields label input{font-size:14px;padding:10px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;transition:border .2s ease,box-shadow .2s ease}.student-modal .modal-content .form-fields label input:focus{outline:none;border-color:#2a7cff;box-shadow:0 0 0 3px #2a7cff26}.student-modal .modal-content .form-fields label.readonly-field input,.student-modal .modal-content .form-fields label input:disabled{background:#f7f7f7;color:#666;cursor:not-allowed;border-color:#e5e5e5}.student-modal .modal-content .save-section{position:absolute;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid #eeeeee;padding:16px 20px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.student-modal .modal-content .save-section .save-button{width:100%;max-width:600px;padding:12px 16px;font-size:15px;font-weight:600;border:none;border-radius:6px;cursor:pointer;background-color:var(--save-action-button-color);color:#fff;transition:background .2s ease,box-shadow .2s ease;flex:1}.student-modal .modal-content .save-section .save-button:hover{background-color:#2563eb}.student-modal .modal-content .save-section .save-button:disabled{opacity:.7;cursor:not-allowed}.student-modal .modal-content .save-section .remove-button{background:#e54848;border:1px solid #e54848;color:#fff;padding:12px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s ease,box-shadow .2s ease,transform .05s ease;flex:1;width:100%}.student-modal .modal-content.edit .save-section .save-button,.student-modal .modal-content.edit .save-section .remove-button{max-width:290px}.student-modal .modal-content .save-section .remove-button:hover{background:#e33d3d;box-shadow:0 2px 6px #e5484833}.student-modal .modal-content .save-section .remove-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.add-options{max-width:600px;margin:0 auto;display:flex;gap:16px}@media screen and (max-width:600px){.add-options{width:calc(100% - 40px);flex-wrap:wrap}}.add-options .add-button{flex:1;padding:24px 20px;background:#fff;border:1px solid #e6e6e6;border-radius:8px;font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000000f;min-width:200px;flex-wrap:wrap}.add-options .add-button:hover{border-color:var(--save-action-button-color)}.add-options .add-button.active{border-color:var(--save-action-button-color);background:#f4f8ff}.student-modal .existing-student-select .spinner.custom{border-top-color:#000;width:80px;height:80px;margin:0 auto;display:block}.student-modal .existing-student-select{flex:1}.students-section{margin-top:30px}.students-section-title{font-size:16px;font-weight:700;margin-bottom:12px;color:#333}.students-list{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:8px;overflow:hidden;margin-bottom:12px;box-shadow:0 2px 6px #0000001a}.students-list:empty{display:none}.student-button{background:#fff;color:#000;border-bottom:solid 1px #ddd;padding:12px 16px;font-size:16px;text-align:left;cursor:pointer;transition:background .2s;border-radius:0}.student-button:last-of-type{border-bottom:0}.add-student-button{border:solid 1px #ddd;color:#000;background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a}.student-button:hover,.add-student-button:hover{background:#f0f0f0}.checkin-modal-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:9999;background:var(--color-background-header)}.checkin-modal{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.checkin-modal-header-wrapper{border-bottom:1px solid #dcdcdc;background-color:var(--color-background-header);height:101px;flex-shrink:0;padding:8px}.checkin-modal-header{display:flex;align-items:center;max-width:var(--max-content-width);margin:0 auto;height:100%}.checkin-modal-header .modal-close{height:100%;background:none;border:none;cursor:pointer;padding:9px 4px 4px;color:#000;width:auto;border-radius:unset;position:static}.checkin-modal-header h2{font-size:20px;font-weight:600;flex:1;text-align:left;box-shadow:unset;margin:0 0 0 10px}.checkin-modal .modal-content{width:100%;border-radius:unset;box-shadow:unset;max-width:var(--max-content-width);margin-left:auto;margin-right:auto;padding:0 0 100px;max-height:unset;overflow-y:unset;position:static;display:flex;flex-direction:column;gap:20px;margin-top:40px}@media screen and (max-width:1250px){.checkin-modal .modal-content{width:calc(100% - 40px);overflow:auto}}.checkin-modal-overlay .parent-input{display:flex;flex-direction:column}.checkin-modal-overlay .parent-input label,.checkin-modal-overlay .student-label,.checkin-modal-overlay .lesson-label{font-weight:600;font-size:14px;color:#333;margin-bottom:5px}.checkin-modal-overlay .parent-input input{padding:10px 12px;font-size:14px;border:1px solid #ccc;border-radius:6px;width:100%;background-color:#f9f9f9}.checkin-modal-overlay .student-input input[type=radio]{display:none}.checkin-modal-overlay .student-input,.checkin-modal-overlay .lesson-input{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.checkin-modal-overlay .student-input label{display:inline-block;padding:12px 28px;border-radius:8px;border:1px solid #ccc;background-color:#fff;cursor:pointer;font-weight:500;font-size:16px;transition:all .2s;white-space:nowrap}.checkin-modal-overlay .student-input label:hover{border-color:#2a7cff}.checkin-modal-overlay .student-input input[type=radio]:checked+label{background-color:#2a7cff30;border-color:#2a7cff}.checkin-modal-overlay .lesson-input input[type=radio]{display:none}.checkin-modal-overlay .enrollment-card{display:flex;flex-direction:column;padding:16px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff;box-shadow:0 2px 6px #0000001a;text-align:center}.checkin-modal-overlay .enrollment-card:hover{border-color:#2a7cff}.checkin-modal-overlay .lesson-input input[type=radio]:checked+.enrollment-card{border-color:#2a7cff;background-color:#2a7cff30}.checkin-modal-overlay .enrollment-card .lesson-title{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.checkin-modal-overlay .enrollment-card .lesson-subtitle:first-of-type{font-size:24px;font-weight:600;color:#000;margin-bottom:2px}.checkin-modal-overlay .enrollment-card .lesson-subtitle:last-of-type{font-size:12px;font-weight:400;color:#666}.checkin-modal-overlay .modal-content .confirm-section{position:absolute;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid #eeeeee;padding:16px 20px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.checkin-modal-overlay .modal-content .confirm-section .save-button{width:100%;max-width:var(--max-content-width);padding:12px 16px;font-size:15px;font-weight:600;border:none;border-radius:6px;cursor:pointer;background-color:var(--save-action-button-color);color:#fff;transition:background .2s ease,box-shadow .2s ease;flex:1}.checkin-modal-overlay .modal-content .confirm-section .save-button:hover{background-color:#2563eb}.checkin-modal-overlay .modal-content .confirm-section .save-button:disabled{opacity:.7;cursor:not-allowed}:root{--color-button: #585f6c;--color-button-text: #ffffff;--color-link: #637596;--color-alt-background: #637596;--color-background: #eeeeee;--color-background-header: #ffffff;--color-heading: #434a4c;--color-text: #000000;--save-action-button-color: #1d4ed8;--border-radius: 3px;--font-family: "Roboto", sans-serif;--max-content-width: 1250px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--color-background)}.api-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;padding:10px 14px;border-radius:6px;font-size:14px}
