@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap);:root{--bg-dark:#121212;--text-light:#f5f5f5;--accent-red:red;--secondary-beige:#f5e9d3}body{background-color:#121212;background-color:var(--bg-dark);color:#f5f5f5;color:var(--text-light);font-family:Inter,sans-serif;margin:0}.app-footer{background-color:#f5f5f508;border-top:1px solid #f5e9d31a;box-sizing:border-box;margin-top:auto;padding:32px 0;width:100%}.footer-content{margin:0 auto;max-width:1200px;padding:0 24px;text-align:center}.footer-links{align-items:center;display:flex;gap:24px;justify-content:center;margin-bottom:20px}.footer-link{color:var(--secondary-beige);font-size:14px;font-weight:500;text-decoration:none;transition:color .3s ease}.footer-link:hover{color:var(--accent-red);text-decoration:underline}.footer-separator{color:#f5f5f54d;font-size:14px;margin:0 8px}.footer-copyright{color:#f5f5f580;font-size:12px;line-height:1.4;margin-top:8px}@media (max-width:768px){.footer-links{flex-direction:column;gap:8px}.footer-separator{display:none}}@media (max-width:1024px) and (min-width:769px){.footer-links{flex-wrap:wrap;gap:16px}}.auth-container{align-items:center;background:linear-gradient(135deg,var(--bg-dark) 0,#1a1a1a 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px 20px 120px}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#f5f5f508;border:1px solid #f5e9d31a;border-radius:20px;box-shadow:0 20px 40px #0000004d;max-width:480px;padding:48px;width:100%}.auth-header{margin-bottom:40px;text-align:center}.auth-logo{border-radius:16px;height:80px;margin-bottom:24px;width:80px}.auth-header h1{color:var(--text-light);font-size:32px;font-weight:700;margin-bottom:8px}.auth-header p{color:#f5f5f5b3;font-size:16px;margin:0}.auth-form{margin-bottom:32px}.auth-submit{font-size:16px;margin-top:8px;padding:16px;width:100%}.auth-footer{border-top:1px solid #f5e9d31a;padding-top:24px;text-align:center}.auth-footer p{color:#f5f5f5b3;margin:0}.auth-link{color:var(--accent-red);font-weight:600;text-decoration:none;transition:color .3s ease}.auth-link:hover{color:#c00;text-decoration:underline}.success-message{background-color:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;color:#22c55e}.info-message,.success-message{margin-bottom:16px;padding:12px 16px;text-align:center}.info-message{background-color:#3b82f61a;border:1px solid #3b82f64d;border-radius:8px;color:#3b82f6;font-size:14px}.password-input-container{align-items:center;box-sizing:border-box;display:flex;position:relative;width:100%}.password-toggle{align-items:center;background:none;border:none;color:#f5f5f599;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:4px;position:absolute;right:12px;transition:color .3s ease;z-index:1}.password-toggle:hover{color:#f5f5f5e6}.password-mismatch-error{color:#ef4444;font-size:12px;margin-left:4px;margin-top:4px}.checkbox-group{align-items:flex-start;display:flex;gap:12px}.form-checkbox{accent-color:var(--accent-red);cursor:pointer;height:18px;margin-top:2px;width:18px}.checkbox-label{color:#f5f5f5cc;cursor:pointer;font-size:14px;line-height:1.4;margin:0}.checkbox-label .auth-link{font-size:14px}@media (max-width:768px){.auth-container{min-height:100vh;padding:16px 8px 120px}.auth-card{box-sizing:border-box;margin:0;max-width:none;padding:32px 24px;width:100%}.auth-header h1{font-size:28px}.auth-logo{height:64px;width:64px}.form-input{box-sizing:border-box;padding:12px 16px;width:100%}.password-input-container input{box-sizing:border-box;padding-right:50px;width:100%}}@media (max-width:480px){.auth-container{padding:12px 4px 120px}.auth-card{max-width:none;padding:20px 12px;width:calc(100% - 8px)}.auth-header h1{font-size:24px}.form-input{padding:10px 12px}}.dashboard{background-color:var(--bg-dark);min-height:100vh}.dashboard-header{background-color:#f5f5f508;border-bottom:1px solid #f5e9d31a;padding:20px 0}.header-left{align-items:center;display:flex;gap:16px}.header-logo{border-radius:12px;height:48px;width:48px}.header-left h1{color:var(--text-light);font-size:24px;font-weight:700;margin:0}.header-left p{color:#f5f5f5b3;font-size:14px;margin:0}.header-right{gap:16px}.header-nav,.header-right{align-items:center;display:flex}.header-nav{gap:1rem;margin-right:1rem}.nav-link{border-radius:6px;color:#4f46e5;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease}.nav-link:hover{background-color:#f3f4f6;color:#3730a3}.user-email{color:#f5f5f5cc;font-size:14px}.dashboard-main{padding:40px 0}.dashboard-content{margin:0 auto;max-width:1200px;padding:0 24px}.section-header h2{font-size:28px;font-weight:700;margin:0}.students-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.student-card{color:inherit;flex-direction:column;gap:16px;padding:24px;text-decoration:none;transition:all .3s ease}.student-card:hover{border-color:#f5e9d34d;box-shadow:0 12px 24px #0003;transform:translateY(-4px)}.student-avatar{font-size:24px;height:64px;width:64px}.student-info h3{color:var(--text-light);font-size:20px;font-weight:600;margin:0}.student-class{color:var(--accent-red);font-size:14px;font-weight:500;margin:4px 0}.student-school{color:#f5f5f599;font-size:14px;margin:0}.student-actions{border-top:1px solid #f5e9d31a;margin-top:auto;padding-top:16px}.view-profile{color:var(--secondary-beige);font-size:14px;font-weight:500}.empty-state{grid-column:1/-1;padding:80px 20px;text-align:center}.empty-state h3{color:var(--text-light);font-size:24px;font-weight:600;margin-bottom:12px}.empty-state p{color:#f5f5f5b3;font-size:16px;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:400px}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background-color:var(--bg-dark);border:1px solid #f5e9d333;border-radius:16px;box-shadow:0 20px 40px #00000080;max-width:600px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #f5e9d31a;display:flex;justify-content:space-between;padding:24px 32px}.modal-header h3{color:var(--text-light);font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#f5f5f599;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .3s ease;width:32px}.modal-close:hover{background-color:#f5f5f51a;color:var(--text-light)}.modal-form{padding:32px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.modal-actions{border-top:1px solid #f5e9d31a;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}@media (max-width:768px){.header-content{flex-direction:column;gap:16px;padding:0 16px;text-align:center}.header-right{flex-direction:column;gap:12px}.dashboard-content{padding:0 16px}.section-header{align-items:stretch;flex-direction:column;gap:16px}.form-row,.students-grid{grid-template-columns:1fr}.modal{margin:16px}.modal-form,.modal-header{padding:20px}.modal-actions{flex-direction:column}}.student-profile{background-color:var(--bg-dark);min-height:100vh}.profile-header{background:linear-gradient(135deg,#f5f5f50d,#f5e9d308);border-bottom:1px solid #f5e9d31a;padding:24px 0}.header-content{max-width:1200px}.back-link{display:inline-block;margin-bottom:24px}.student-header-info{align-items:center;display:flex;gap:24px}.student-avatar-large{align-items:center;background:linear-gradient(135deg,var(--accent-red),#c00);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:36px;font-weight:700;height:96px;justify-content:center;text-transform:uppercase;width:96px}.student-details h1{color:var(--text-light);font-size:32px;font-weight:700;margin:0 0 12px}.student-meta{gap:16px}.meta-item{background-color:#f5e9d31a;border-radius:20px;color:#f5f5f5b3;font-size:14px;padding:4px 12px}.profile-main{padding:40px 0}.profile-content{margin:0 auto;max-width:1200px;padding:0 24px}.latest-scores{margin-bottom:48px}.latest-scores h2{color:var(--text-light);font-size:24px;font-weight:600;margin-bottom:24px}.scores-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.score-gauge{background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:12px;padding:20px}.gauge-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.gauge-label{color:#f5f5f5cc;font-size:14px;font-weight:500}.gauge-value{color:var(--text-light);font-size:18px;font-weight:700}.gauge-bar{background-color:#f5f5f51a;border-radius:4px;height:8px;overflow:hidden}.gauge-fill{border-radius:4px;height:100%;transition:width .8s ease}.profile-badge{align-items:center;background-color:#f5e9d31a;border-left:4px solid var(--accent-red);border-radius:12px;display:flex;gap:12px;padding:16px 20px}.profile-label{color:#f5f5f5b3;font-size:14px}.profile-name{font-size:16px;font-weight:600}.bilans-section h2{color:var(--text-light);font-size:24px;font-weight:600;margin:0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.empty-bilans{padding:80px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:24px}.empty-bilans h3{color:var(--text-light);font-size:24px;font-weight:600;margin-bottom:12px}.empty-bilans p{color:#f5f5f5b3;font-size:16px;margin-bottom:32px}.bilans-list{display:flex;flex-direction:column;gap:16px}.bilan-card{align-items:center;background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:12px;display:flex;justify-content:space-between;padding:24px;transition:all .3s ease}.bilan-card:hover{border-color:#f5e9d34d;transform:translateY(-2px)}.bilan-info h3{color:var(--text-light);font-size:18px;font-weight:600;margin:0 0 8px}.bilan-status{align-items:center;display:flex;gap:16px}.status-completed{color:#4caf50;font-size:14px;font-weight:500}.status-pending{color:#ffc107;font-size:14px;font-weight:500}.bilan-score{color:#f5f5f5b3;font-size:14px}.bilan-actions{display:flex;gap:12px}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.error-container h2{color:var(--accent-red);margin-bottom:16px}.error-container p{color:#f5f5f5b3;margin-bottom:32px}@media (max-width:768px){.header-content{padding:0 16px}.student-header-info{flex-direction:column;gap:16px;text-align:center}.student-avatar-large{font-size:28px;height:80px;width:80px}.student-details h1{font-size:24px}.student-meta{justify-content:center}.profile-content{padding:0 16px}.section-header{align-items:stretch;flex-direction:column;gap:16px}.scores-grid{grid-template-columns:1fr}.bilan-card{align-items:stretch;flex-direction:column;gap:16px}.bilan-actions{justify-content:center}}.questionnaire{background-color:var(--bg-dark);min-height:100vh}.questionnaire-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f5f5f50d,#f5e9d308);border-bottom:1px solid #f5e9d31a;padding:24px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{max-width:800px}.questionnaire-header h1{color:var(--text-light);font-size:28px;font-weight:700;margin:0 0 20px;text-align:center}.progress-container{align-items:center;display:flex;gap:16px}.progress-bar{background-color:#f5f5f51a;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent-red),#c00);border-radius:4px;height:100%;transition:width .5s ease}.progress-text{color:#f5f5f5b3;font-size:14px;white-space:nowrap}.questionnaire-main{padding:40px 0}.questionnaire-content{margin:0 auto;max-width:800px;padding:0 24px}.section-card{background-color:#f5f5f508;border:1px solid #f5e9d31a;border-radius:20px;box-shadow:0 10px 30px #0003;padding:40px}.section-header{border-bottom:1px solid #f5e9d31a;margin-bottom:40px;padding-bottom:24px;text-align:center}.section-header h2{color:var(--text-light);font-size:24px;font-weight:600;margin:0 0 12px}.section-description{color:#f5f5f5b3;font-size:16px;margin:0}.questions-container{display:flex;flex-direction:column;gap:32px;margin-bottom:40px}.question-card{background-color:#f5f5f505;border:1px solid #f5e9d30d;border-radius:16px;padding:24px}.question-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:16px}.question-number{align-items:center;background-color:var(--accent-red);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.question-text{color:var(--text-light);font-size:18px;font-weight:600;line-height:1.4;margin:0}.question-description{color:#f5f5f599;font-size:14px;font-style:italic;margin:0 0 20px 48px}.question-content{margin-left:48px}.question-options{display:flex;flex-direction:column;gap:12px}.checkbox-option,.radio-option{align-items:center;background-color:#f5f5f505;border:2px solid #f5e9d31a;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .3s ease}.checkbox-option:hover,.radio-option:hover{background-color:#f5f5f50d;border-color:#f5e9d34d}.checkbox-option input,.radio-option input{display:none}.checkbox-custom,.radio-custom{border:2px solid #f5e9d34d;border-radius:50%;flex-shrink:0;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-custom{border-radius:4px}.checkbox-option input:checked+.checkbox-custom,.radio-option input:checked+.radio-custom{background-color:var(--accent-red);border-color:var(--accent-red)}.radio-option input:checked+.radio-custom:after{background-color:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.checkbox-option input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.option-text{line-height:1.4}.form-select,.option-text{color:var(--text-light);font-size:16px}.form-select{background-color:#f5f5f50d;border:2px solid #f5e9d333;border-radius:12px;font-family:Inter,sans-serif;padding:16px;transition:border-color .3s ease;width:100%}.form-select:focus{border-color:var(--accent-red);outline:none}.form-input{border-radius:12px;font-size:16px;padding:16px}.navigation-buttons{border-top:1px solid #f5e9d31a;display:flex;gap:16px;justify-content:space-between;padding-top:32px}.navigation-buttons .btn{min-width:180px}.navigation-buttons .btn:disabled{cursor:not-allowed;opacity:.5}.reading-comprehension{margin:20px 0}.reading-instruction{color:#f5f5f5;font-size:16px;margin-bottom:20px}.level-buttons{display:flex;flex-wrap:wrap;gap:15px}.level-btn{background:#0000;border:2px solid red;border-radius:8px;color:red;cursor:pointer;padding:12px 20px;transition:all .3s ease}.level-btn:hover{background:red;color:#121212}.reading-text-container{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:30px}.reading-text{background:#f5e9d3;border-radius:8px;color:#121212;font-family:Georgia,serif;font-size:16px;line-height:1.6;margin:20px 0;padding:25px}.reading-evaluation{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:25px}.evaluation-instruction{color:#f5f5f5;font-style:italic;margin-bottom:25px}.question-evaluation{background:#222;border:1px solid #444;border-radius:8px;margin-bottom:20px;padding:20px}.question-info{margin-bottom:15px}.expected-answer{color:#f5e9d3;font-size:14px;margin-top:8px}.evaluation-options{display:flex;gap:20px}.option-text.success{color:#4caf50}.option-text.error{color:#ff5252}@media (max-width:768px){.questionnaire-content{padding:0 16px}.section-card{padding:24px 20px}.question-header{flex-direction:column;gap:12px}.question-content,.question-description{margin-left:0}.navigation-buttons{flex-direction:column}.navigation-buttons .btn{min-width:auto}.progress-container{flex-direction:column;gap:12px}.progress-text{text-align:center}.level-buttons{flex-direction:column}.level-btn{width:100%}.evaluation-options{flex-direction:column;gap:10px}}.report{background-color:var(--bg-dark);min-height:100vh}.report-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f5f5f50d,#f5e9d308);border-bottom:1px solid #f5e9d31a;padding:24px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1000px;padding:0 24px}.back-link{color:var(--secondary-beige);font-weight:500;text-decoration:none;transition:color .3s ease}.back-link:hover,.report-title h1{color:var(--text-light)}.report-title h1{font-size:28px;font-weight:700;margin:0}.report-title p{color:#f5f5f5b3;font-size:16px;margin:4px 0 0}.report-actions{display:flex;gap:12px}.report-main{padding:40px 0}.report-content{margin:0 auto;max-width:1000px;padding:0 24px}.student-info{margin-bottom:40px}.student-card{background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:16px;gap:24px;padding:32px}.student-avatar,.student-card{align-items:center;display:flex}.student-avatar{background:linear-gradient(135deg,var(--accent-red),#c00);border-radius:50%;color:#fff;flex-shrink:0;font-size:32px;font-weight:700;height:80px;justify-content:center;text-transform:uppercase;width:80px}.student-details h2{color:var(--text-light);font-size:24px;font-weight:700;margin:0 0 12px}.student-meta{display:flex;flex-wrap:wrap;gap:12px}.student-meta span{background-color:#f5e9d31a;border-radius:20px;color:#f5f5f5b3;font-size:14px;padding:4px 12px}.scores-overview{margin-bottom:48px}.scores-overview h2{color:var(--text-light);font-size:24px;font-weight:600;margin-bottom:32px}.scores-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.score-card{background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:16px;padding:24px}.global-score{grid-column:1/-1;padding:40px;text-align:center}.score-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.score-header h3{color:var(--text-light);font-size:20px;font-weight:600;margin:0}.score-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.score-card h4{color:var(--text-light);font-size:16px;font-weight:600;margin:0 0 12px}.score-value{font-size:32px;font-weight:700;margin-bottom:12px}.global-score .score-value{font-size:48px;margin-bottom:0}.score-bar{background-color:#f5f5f51a;border-radius:4px;height:8px;overflow:hidden}.score-fill{border-radius:4px;height:100%;transition:width .8s ease}.profile-highlight{background:linear-gradient(135deg,#ff00001a,#f5e9d31a);border:1px solid #f003;border-radius:16px;padding:32px;text-align:center}.profile-highlight h3{color:var(--text-light);font-size:18px;font-weight:600;margin:0 0 16px}.profile-name{color:var(--accent-red);font-size:28px;font-weight:700;margin:0}.detailed-analysis{margin-bottom:48px}.detailed-analysis h2{color:var(--text-light);font-size:24px;font-weight:600;margin-bottom:24px}.analysis-content{background-color:#f5f5f508;border:1px solid #f5e9d31a;border-radius:16px;padding:32px}.report-text{color:var(--text-light);font-family:Inter,sans-serif;font-size:16px;line-height:1.7;margin:0;white-space:pre-wrap}.report-footer{border-top:1px solid #f5e9d31a;margin-top:48px;padding-top:32px}.footer-content{justify-content:space-between}.footer-content,.logo-section{align-items:center;display:flex}.logo-section{gap:16px}.footer-logo{border-radius:12px;height:48px;width:48px}.logo-section h4{color:var(--text-light);font-size:18px;font-weight:600;margin:0}.logo-section p{color:#f5f5f5b3;font-size:14px;margin:4px 0 0}.report-meta{text-align:right}.report-meta p{color:#f5f5f599;font-size:14px;margin:4px 0}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;padding:0 16px}.report-title{text-align:center}.report-actions{justify-content:center}.report-content{padding:0 16px}.student-card{flex-direction:column;padding:24px;text-align:center}.student-avatar{font-size:24px;height:64px;width:64px}.student-meta{justify-content:center}.scores-grid{grid-template-columns:1fr}.global-score{grid-column:1}.footer-content{flex-direction:column;gap:24px}.footer-content,.report-meta{text-align:center}}@media print{.report-actions,.report-header{display:none}.report-content{max-width:none;padding:0}.back-link{display:none}}.share-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.share-modal{background-color:var(--bg-dark);border:1px solid #f5e9d333;border-radius:16px;max-width:400px;padding:32px;width:90%}.share-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.share-modal-header h3{color:var(--text-light);font-size:20px;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:4px;color:var(--text-light);cursor:pointer;font-size:24px;padding:4px;transition:background-color .3s ease}.close-button:hover{background-color:#f5f5f51a}.share-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.share-option{align-items:center;background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:12px;color:var(--text-light);cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:8px;padding:20px;transition:all .3s ease}.share-option:hover{background-color:#f5f5f51a;border-color:var(--accent-red);transform:translateY(-2px)}.share-icon{font-size:24px}.share-option.whatsapp:hover{border-color:#25d366}.share-option.email:hover{border-color:#ea4335}.share-option.sms:hover{border-color:#007aff}.share-option.copy:hover{border-color:var(--secondary-beige)}.team-management{background-color:#1a1a1a;min-height:100vh}.members-list{grid-gap:1rem;display:grid;gap:1rem;margin-top:2rem}.member-card{align-items:center;background:#2a2a2a;border-radius:12px;box-shadow:0 1px 3px #0000004d;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.member-card:hover{box-shadow:0 4px 12px #0006;transform:translateY(-2px)}.member-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:50px;justify-content:center;width:50px}.member-info{flex:1 1}.member-info h3{color:#fff;font-size:1.1rem;margin:0 0 .25rem}.member-role{color:#a0a0a0;font-size:.9rem;font-weight:500;margin:0 0 .25rem}.member-status{font-size:.85rem;margin:0}.member-date{color:grey;font-size:.8rem}.success-message{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:6px;color:#065f46}.error-message,.success-message{margin-bottom:1rem;padding:.75rem 1rem}.error-message{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b}.student-count-section{cursor:pointer;margin:.5rem 0;-webkit-user-select:none;user-select:none}.student-count{align-items:center;color:#fff;display:flex;font-size:.95rem;justify-content:space-between;margin:0}.accordion-arrow{font-size:.8rem;margin-left:.5rem;transition:transform .2s ease}.student-list{margin-top:.5rem;padding-left:1rem}.student-list ul{list-style:none;margin:0;padding:0}.student-list li{color:#a0a0a0;font-size:.85rem;margin:.25rem 0;padding-left:1rem;position:relative}.student-list li:before{color:#666;content:"•";left:0;position:absolute}.back-button{background-color:initial!important;border:2px solid var(--secondary-beige)!important;border-radius:6px!important;color:var(--text-light)!important;font-size:14px!important;font-weight:500!important;margin-right:16px;padding:8px 16px!important;transition:all .3s ease!important;white-space:nowrap}.back-button:hover{background-color:var(--secondary-beige)!important;color:var(--bg-dark)!important;transform:translateY(-1px)}@media (max-width:768px){.back-button{font-size:12px!important;margin-right:12px;padding:6px 12px!important}.header-left{flex-wrap:wrap;gap:8px}}.legal-container{background-color:var(--bg-dark);min-height:100vh;padding:40px 20px}.legal-content{background-color:#f5f5f508;border:1px solid #f5e9d31a;border-radius:16px;margin:0 auto;max-width:800px;padding:48px}.legal-title{color:var(--accent-red);font-size:32px;font-weight:700;line-height:1.2;margin-bottom:40px;text-align:center}.legal-text{color:var(--text-light);line-height:1.6}.legal-text h2{color:var(--accent-red);font-size:20px;font-weight:600;margin-bottom:16px;margin-top:32px}.legal-text p{font-size:16px;margin-bottom:16px}.legal-text strong{color:var(--text-light);font-weight:600}@media (max-width:768px){.legal-container{padding:20px 16px}.legal-content{padding:32px 24px}.legal-title{font-size:24px}.legal-text h2{font-size:18px}}.App{background-color:var(--bg-dark);color:var(--text-light);min-height:100vh}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--secondary-beige);border:3px solid var(--secondary-beige);border-radius:50%;border-top-color:var(--accent-red);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.App{padding:0}}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-family:Inter,sans-serif;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:var(--accent-red);color:#fff}.btn-primary:hover{background-color:#c00;transform:translateY(-2px)}.btn-secondary{background-color:var(--secondary-beige);color:var(--bg-dark)}.btn-secondary:hover{background-color:#e6d4b7;transform:translateY(-2px)}.btn-outline{background-color:initial;border:2px solid var(--secondary-beige);color:var(--text-light)}.btn-outline:hover{background-color:var(--secondary-beige);color:var(--bg-dark)}.card{background-color:#f5f5f50d;border:1px solid #f5e9d31a;border-radius:12px;padding:24px;transition:all .3s ease}.card:hover{border-color:#f5e9d34d;transform:translateY(-2px)}.form-group{margin-bottom:20px}.form-label{color:var(--text-light);display:block;font-weight:600;margin-bottom:8px}.form-input{background-color:#f5f5f50d;border:2px solid #f5e9d333;border-radius:8px;color:var(--text-light);font-family:Inter,sans-serif;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:var(--accent-red);outline:none}.form-input::placeholder{color:#f5f5f580}.error-message{color:var(--accent-red);font-size:14px;margin-top:8px}.success-message{color:#4caf50;font-size:14px;margin-top:8px}
/*# sourceMappingURL=main.fc02918b.css.map*/