input,textarea,select,[contenteditable=true],[contenteditable=""],[contenteditable],.word-item,.lesson-topic,.group-header,.public-vocabulary-container{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}label[for]{cursor:pointer}button,a,[role=button],[onclick]{cursor:pointer!important}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box;overflow:hidden}.login-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;max-height:90vh;animation:slideUp .6s ease-out;box-sizing:border-box}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:24px}.login-header h1{color:#2d3748;font-size:2rem;font-weight:700;margin:0 0 8px}.login-header p{color:#718096;margin:0;font-size:1rem}.login-form{margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;color:#2d3748;font-weight:600;margin-bottom:8px;font-size:.875rem}.form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.login-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background-color:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem;border:1px solid #feb2b2}.login-footer{text-align:center;padding-top:16px;border-top:1px solid #e2e8f0;font-size:.8rem;color:#718096}.login-footer p{margin:4px 0}.login-footer strong{color:#2d3748}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#f5f5f5}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-container p{color:#666;font-size:16px;margin:0}.dashboard{min-height:100vh;background-color:#f7fafc;padding:0}.dashboard-page-header{background:#fff;padding:2rem;border-bottom:1px solid #e2e8f0;margin-bottom:2rem;box-shadow:0 1px 3px #0000000d}.dashboard-page-header h1{color:#2d3748;margin:0 0 .5rem;font-size:2rem;font-weight:700}.dashboard-page-header p{color:#718096;margin:0;font-size:1rem}.dashboard-content{padding:0 2rem 2rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px #0000001a}.dashboard-card.clickable{cursor:pointer}.dashboard-card.clickable:hover{transform:translateY(-4px);box-shadow:0 12px 25px #00000026}.dashboard-card h3{color:#2d3748;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.dashboard-card p{color:#718096;margin:0 0 1rem;font-size:.875rem}.card-stats{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-number{font-size:2rem;font-weight:700;color:#667eea;line-height:1}.stat-label{font-size:.75rem;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.welcome-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;text-align:center}.welcome-section h2{color:#2d3748;margin:0 0 1rem;font-size:1.75rem;font-weight:600}.welcome-section p{color:#718096;margin:0 0 2rem;font-size:1rem;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.quick-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.875rem}.action-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 15px #667eea4d}.action-button.secondary{background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.action-button.secondary:hover{background:#e2e8f0;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.dashboard-content{padding:1rem}.dashboard-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column;align-items:center}.action-button{width:100%;max-width:200px}}.students-container{max-width:1200px;margin:0 auto;padding:2rem}.students-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.filter-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-group{display:flex;gap:.5rem;flex:1;min-width:300px}.search-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;height:44px;transition:all .2s ease;background:#fff;box-sizing:border-box}.search-input::placeholder{color:#9ca3af;opacity:1}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-group{display:flex;gap:.5rem;align-items:center}.filter-select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff;min-width:150px;height:44px;transition:all .2s ease;box-sizing:border-box}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.results-summary{margin-bottom:1rem;color:#6b7280;font-size:.875rem}.students-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.students-table{width:100%;border-collapse:collapse;table-layout:fixed}.students-table th,.students-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle;word-wrap:break-word;overflow-wrap:break-word;font-size:.875rem}.students-table td{font-weight:400}.students-table th:nth-child(1),.students-table td:nth-child(1){width:23%}.students-table th:nth-child(2),.students-table td:nth-child(2){width:8%}.students-table th:nth-child(3),.students-table td:nth-child(3){width:23%}.students-table th:nth-child(4),.students-table td:nth-child(4){width:15%}.students-table th:nth-child(5),.students-table td:nth-child(5){width:13%}.students-table th:nth-child(6),.students-table td:nth-child(6){width:15%}.lessons-table .students-table th:nth-child(1),.lessons-table .students-table td:nth-child(1){width:8%}.lessons-table .students-table th:nth-child(2),.lessons-table .students-table td:nth-child(2){width:20%}.lessons-table .students-table th:nth-child(3),.lessons-table .students-table td:nth-child(3){width:15%}.lessons-table .students-table th:nth-child(4),.lessons-table .students-table td:nth-child(4){width:12%}.lessons-table .students-table th:nth-child(5),.lessons-table .students-table td:nth-child(5){width:15%}.lessons-table .students-table th:nth-child(6),.lessons-table .students-table td:nth-child(6){width:12%}.lessons-table .students-table th:nth-child(7),.lessons-table .students-table td:nth-child(7){width:15%}.vocabulary-table .students-table th:nth-child(1),.vocabulary-table .students-table td:nth-child(1){width:20%}.vocabulary-table .students-table th:nth-child(2),.vocabulary-table .students-table td:nth-child(2){width:8%}.vocabulary-table .students-table th:nth-child(3),.vocabulary-table .students-table td:nth-child(3){width:18%}.vocabulary-table .students-table th:nth-child(4),.vocabulary-table .students-table td:nth-child(4){width:15%}.vocabulary-table .students-table th:nth-child(5),.vocabulary-table .students-table td:nth-child(5){width:19%}.vocabulary-table .students-table th:nth-child(6),.vocabulary-table .students-table td:nth-child(6){width:15%}.students-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.students-table tbody tr:hover{background:#f9fafb}.students-table tbody tr:last-child td{border-bottom:none}.contacts .contact-text{color:#374151;font-size:.875rem;word-break:break-word}.no-contacts{color:#9ca3af;font-style:italic;font-size:.875rem}.action-buttons{display:flex;gap:.25rem}.btn-icon{min-width:2.5rem;height:2rem;padding:0 .5rem;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.875rem;position:relative;background:#fff;color:#6b7280}.btn-icon:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a;border-color:#d1d5db;background:#f9fafb}.btn-icon:after{content:attr(data-tooltip);position:absolute;bottom:150%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:1000}.btn-icon:before{content:"";position:absolute;bottom:135%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:1000}.btn-icon:hover:after,.btn-icon:hover:before{opacity:1;visibility:visible}.no-students{text-align:center;padding:3rem 2rem;color:#6b7280}.no-students p{margin:0 0 1rem;font-size:1.125rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination-info{color:#6b7280;font-size:.875rem}.loading-overlay{position:relative;display:flex;justify-content:center;padding:1rem}@media (max-width: 768px){.students-container{padding:1rem}.filter-row{flex-direction:column;align-items:stretch}.search-group{min-width:unset}.students-table-container{overflow-x:auto}.students-table{min-width:600px}.pagination{flex-direction:column;gap:.5rem}}@media (max-width: 640px){.students-table th,.students-table td{padding:.75rem .5rem;font-size:.8rem}.students-table th{font-size:.75rem}.action-buttons{flex-direction:column}.students-table th:nth-child(1),.students-table td:nth-child(1){width:25%!important}.students-table th:nth-child(2),.students-table td:nth-child(2){width:10%!important}.students-table th:nth-child(3),.students-table td:nth-child(3){width:25%!important}.students-table th:nth-child(4),.students-table td:nth-child(4){width:15%!important}.students-table th:nth-child(5),.students-table td:nth-child(5){width:10%!important}.students-table th:nth-child(6),.students-table td:nth-child(6){width:15%!important}.lessons-table .students-table th:nth-child(1),.lessons-table .students-table td:nth-child(1){width:10%!important}.lessons-table .students-table th:nth-child(2),.lessons-table .students-table td:nth-child(2){width:20%!important}.lessons-table .students-table th:nth-child(3),.lessons-table .students-table td:nth-child(3){width:15%!important}.lessons-table .students-table th:nth-child(4),.lessons-table .students-table td:nth-child(4){width:15%!important}.lessons-table .students-table th:nth-child(5),.lessons-table .students-table td:nth-child(5){width:15%!important}.lessons-table .students-table th:nth-child(6),.lessons-table .students-table td:nth-child(6){width:10%!important}.lessons-table .students-table th:nth-child(7),.lessons-table .students-table td:nth-child(7){width:15%!important}.vocabulary-table .students-table th:nth-child(1),.vocabulary-table .students-table td:nth-child(1){width:25%!important}.vocabulary-table .students-table th:nth-child(2),.vocabulary-table .students-table td:nth-child(2){width:10%!important}.vocabulary-table .students-table th:nth-child(3),.vocabulary-table .students-table td:nth-child(3){width:20%!important}.vocabulary-table .students-table th:nth-child(4),.vocabulary-table .students-table td:nth-child(4){width:15%!important}.vocabulary-table .students-table th:nth-child(5),.vocabulary-table .students-table td:nth-child(5){width:15%!important}.vocabulary-table .students-table th:nth-child(6),.vocabulary-table .students-table td:nth-child(6){width:15%!important}.groups-table .students-table th:nth-child(1),.groups-table .students-table td:nth-child(1){width:20%!important}.groups-table .students-table th:nth-child(2),.groups-table .students-table td:nth-child(2){width:12%!important}.groups-table .students-table th:nth-child(3),.groups-table .students-table td:nth-child(3){width:18%!important}.groups-table .students-table th:nth-child(4),.groups-table .students-table td:nth-child(4){width:18%!important}.groups-table .students-table th:nth-child(5),.groups-table .students-table td:nth-child(5){width:17%!important}.groups-table .students-table th:nth-child(6),.groups-table .students-table td:nth-child(6){width:15%!important}}.stats-overview{margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem;text-align:center}.stat-card h3{font-size:2rem;font-weight:700;color:#0056b3;margin:0 0 .5rem}.stat-card p{color:#6c757d;margin:0;font-size:.9rem}.filter-label{font-size:.8rem;color:#6c757d;margin-bottom:.25rem;display:block}.form-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.875rem}.required{color:#dc2626}.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-input-readonly{padding:0;color:#374151;font-size:1rem;line-height:1.5;font-weight:500}.form-help{display:block;margin-top:.5rem;color:#6b7280;font-size:.875rem;line-height:1.4}.btn-link-small{background:none;border:none;color:#667eea;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0;margin-left:.25rem}.btn-link-small:hover{color:#5a67d8;text-decoration:none}.form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;resize:vertical;font-family:inherit;transition:border-color .2s ease}.form-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.vocabulary-section{border-top:1px solid #e5e7eb;padding-top:2rem;margin-top:2rem}.vocabulary-section h3{color:#1f2937;margin-bottom:1.5rem;font-size:1.25rem}.vocabulary-section h4{color:#374151;margin-bottom:1rem;font-size:1rem;font-weight:600}.existing-vocabulary{margin-bottom:2rem}.vocabulary-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.vocabulary-item{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.5rem .75rem;border-radius:6px;border:1px solid #e5e7eb}.vocabulary-item .vocabulary-word{font-weight:400;color:#374151}.add-vocabulary{background:#f9fafb;padding:1.5rem;border-radius:6px;border:1px solid #e5e7eb}.btn-danger{background-color:#dc2626;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.btn-danger:hover{background-color:#b91c1c}.btn-danger:disabled{background-color:#9ca3af;cursor:not-allowed}.word-preview{margin-top:.75rem;padding:.75rem;background:#f0f9ff;border:1px solid #e0f2fe;border-radius:6px}.preview-label{display:block;color:#0369a1;font-weight:500;margin-bottom:.5rem;font-size:.8rem}.preview-words{display:flex;flex-wrap:wrap;gap:.375rem}.preview-word{background:#dbeafe;color:#1d4ed8;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;font-weight:400;border:1px solid #bfdbfe}.groups-table .students-table th:nth-child(1),.groups-table .students-table td:nth-child(1){width:20%}.groups-table .students-table th:nth-child(2),.groups-table .students-table td:nth-child(2){width:10%}.groups-table .students-table th:nth-child(3),.groups-table .students-table td:nth-child(3){width:15%}.groups-table .students-table th:nth-child(4),.groups-table .students-table td:nth-child(4){width:15%}.groups-table .students-table th:nth-child(5),.groups-table .students-table td:nth-child(5){width:25%}.groups-table .students-table th:nth-child(6),.groups-table .students-table td:nth-child(6){width:15%}.schedule-info{text-align:left;font-size:14px;color:#4a5568;line-height:1.4}.table-schedule-item{padding:.125rem 0;line-height:1.4;white-space:nowrap;background:none;border:none;box-shadow:none;border-radius:0;cursor:default;font-size:inherit;color:inherit;display:block}.courses-table .students-table th:nth-child(1),.courses-table .students-table td:nth-child(1){width:65%}.courses-table .students-table th:nth-child(2),.courses-table .students-table td:nth-child(2){width:20%}.courses-table .students-table th:nth-child(3),.courses-table .students-table td:nth-child(3){width:15%}.students-list{margin-top:1rem}.section-description{color:#6b7280;font-size:.875rem;margin-bottom:1rem;line-height:1.5}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;margin-bottom:1rem}.students-grid .student-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer!important;transition:all .2s ease;background:#fff;-webkit-user-select:none;user-select:none;position:relative;transform:translateY(0)}.students-grid .student-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.students-grid .student-item:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.students-grid .student-item.present{border-color:#22c55e;background:#f0fdf4}.students-grid .student-item.present:hover{border-color:#16a34a;background:#dcfce7}.students-grid .student-item.absent{border-color:#ef4444;background:#fef2f2}.students-grid .student-item.absent:hover{border-color:#dc2626;background:#fee2e2}.students-grid .student-item.disabled{border-color:#d1d5db;background:#f3f4f6;color:#9ca3af;cursor:not-allowed!important;opacity:.8}.students-grid .student-item.disabled:hover{border-color:#d1d5db;background:#f3f4f6;box-shadow:none;transform:translateY(0)}.student-name{font-weight:400;color:#374151;flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.student-status{font-size:.875rem;font-weight:400;white-space:nowrap}.students-grid .student-item.present .student-status{color:#16a34a}.students-grid .student-item.absent .student-status{color:#dc2626}.absence-summary{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.75rem;margin-top:1rem}.absence-summary p{margin:0;color:#92400e;font-size:.875rem;line-height:1.5}.loading-text,.no-students{color:#6b7280;font-style:italic;padding:1rem 0;text-align:center}@media (max-width: 640px){.students-grid{grid-template-columns:1fr;gap:.5rem}.student-item{padding:.5rem .75rem}.student-status{font-size:.75rem}}.group-form-container{padding:0;max-width:none;margin:0;background-color:#f7fafc;min-height:100vh;text-align:left}.btn-secondary{background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#edf2f7;border-color:#cbd5e0;transform:translateY(-1px)}.group-form{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;margin:0 2rem 2rem}.form-section{padding:25px;border-bottom:1px solid #e2e8f0}.form-section:last-child{border-bottom:none}.form-section h2{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 15px;text-align:left}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2,.section-header h3{margin:0}.chapter-actions{display:flex;align-items:center;gap:8px}.chapter-actions .btn-secondary{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.section-footer{margin-top:12px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#4a5568;font-size:14px;text-align:left}.form-input,.form-select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff;transition:all .2s ease;box-sizing:border-box;height:44px}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#4a5568 50%),linear-gradient(135deg,#4a5568 50%,transparent 50%);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-input::placeholder{color:#9ca3af;opacity:1}textarea.form-input,.form-input[type=textarea],.form-input.textarea{height:auto;min-height:60px;resize:vertical}.form-input[type=checkbox],.form-input[type=radio]{width:auto}.form-input:focus,.form-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error,.form-select.error{border-color:#e53e3e}.form-input.error:focus,.form-select.error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row-compact{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row-compact.three-columns{grid-template-columns:1fr 1fr 1fr}.form-row-compact .form-group{margin-bottom:15px}.error-text{color:#e53e3e;font-size:12px;margin-top:4px;display:block}.schedule-error{margin-bottom:15px;padding:8px 12px;background:#fed7d7;border-radius:6px;border-left:4px solid #e53e3e}.btn-add-schedule{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-schedule:hover{transform:translateY(-1px);box-shadow:0 2px 8px #48bb784d}.schedules-list{display:flex;flex-direction:column;gap:12px}.schedule-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.schedule-table th{background:#f7fafc;color:#4a5568;font-weight:600;font-size:14px;padding:12px;text-align:left;border-bottom:2px solid #e2e8f0}.schedule-table td{padding:12px;border-bottom:1px solid #e2e8f0}.schedule-table tr:last-child td{border-bottom:none}.schedule-table .form-input,.schedule-table .form-select{width:100%;margin:0;padding:12px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;height:44px}.schedule-table .form-input:focus,.schedule-table .form-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.schedule-table .btn-remove-schedule{width:24px;height:24px;font-size:14px;margin:0}.schedule-row-new{background-color:#f0f9ff!important;border-left:3px solid #3b82f6}.schedule-row-new td{background-color:#f0f9ff}.schedule-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;margin-bottom:0;position:relative}.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}.col-span-9{grid-column:span 9}.col-span-3{grid-column:span 3}@media (max-width: 1024px){.col-span-9{grid-column:span 8}.col-span-3{grid-column:span 4}}@media (max-width: 768px){.grid-12{grid-template-columns:1fr}.col-span-9,.col-span-3{grid-column:auto}}.thumb-preview-23{width:200px;height:300px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.thumb-preview-23 img{width:100%;height:100%;object-fit:cover}.thumb-preview-empty{color:#9ca3af;font-size:.9rem}.schedule-form{display:grid;grid-template-columns:2fr 2fr auto;gap:12px;align-items:end}.schedule-form .form-group{margin-bottom:0}.btn-remove-schedule{background:#fed7d7;color:#c53030;border:none;width:32px;height:32px;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-remove-schedule:hover{background:#feb2b2;transform:scale(1.1)}.students-list{display:flex;flex-direction:column;gap:12px}.student-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;position:relative}.student-item-quitted{background:#f5f5f5;border-color:#d1d5db;opacity:.7}.student-item-quitted .student-info,.student-item-quitted .student-header h4{color:#6b7280}.student-item-quitted .student-details p{color:#9ca3af}.quit-date-inline{font-weight:400;color:#9ca3af;font-size:.9rem;margin-left:.5rem}.student-form{position:relative}.student-form .form-row{margin-bottom:10px}.student-form .form-group textarea{resize:vertical;min-height:60px;font-family:inherit;height:auto}.student-form .btn-remove-schedule{position:absolute;top:-8px;right:-8px;z-index:1}.form-actions{padding:20px 30px;background:#f7fafc;display:flex;justify-content:flex-end;gap:15px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.hidden-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn-upload{background:linear-gradient(135deg,#06b6d4,#3b82f6);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-upload:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #3b82f659}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.btn-icon-danger{background:#fee2e2;color:#dc2626;border:none;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.btn-icon-danger:hover{background:#fecaca;transform:translateY(-1px)}.error-message{background-color:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #c53030}.close-error{background:none;border:none;color:#c53030;font-size:20px;cursor:pointer;padding:0;margin-left:10px}.minimal-list-editor .list-preview{margin-top:8px}.minimal-list-editor .plain-text p{margin:4px 0;line-height:1.35}.minimal-list-editor ul{margin:6px 0 6px 1.2em;padding-left:1.2em}.minimal-list-editor li{margin:2px 0}@media (max-width: 768px){.group-form-container{padding:15px}.group-form-header{flex-direction:column;gap:15px;align-items:stretch}.group-form-header h1{font-size:1.5rem}.form-section{padding:15px}.form-row,.schedule-form{grid-template-columns:1fr;gap:10px}.schedule-item{padding:10px}.schedule-table{font-size:13px}.schedule-table th,.schedule-table td{padding:8px}.student-item{padding:10px}.btn-remove-schedule{justify-self:center;margin-top:8px;position:static}.form-actions{padding:15px 20px;flex-direction:column}.form-actions button{width:100%}}@media (max-width: 480px){.group-form-header{text-align:center}.section-header{flex-direction:column;gap:10px;align-items:stretch}.section-header h2{text-align:center}.btn-add-schedule{align-self:center}}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;margin-bottom:.75rem}.checkbox-label-inline{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;margin-bottom:0;width:auto;max-width:fit-content}.checkbox-input{width:1rem!important;height:1rem;cursor:pointer;accent-color:#667eea;flex-shrink:0;min-width:1rem}.checkbox-text{font-size:1rem;color:#333}.student-info{width:100%}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.student-header h4{margin:0;color:#2d3748;font-size:1rem;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.student-status{font-size:.8rem}.status-active{color:#38a169;font-weight:500}.status-quit{color:#e53e3e;font-weight:500}.student-details{margin-bottom:.75rem}.student-details p{margin:.15rem 0;font-size:.8rem;color:#4a5568}.student-quit-section{border-top:1px solid #e2e8f0;padding-top:.75rem}.quit-date-input{margin-top:.5rem}.quit-date-input label{display:block;margin-bottom:.375rem;font-weight:500;color:#4a5568;font-size:.8rem}.quit-date-controls{display:flex;flex-direction:column;gap:.375rem}.quit-date-controls .form-input{max-width:180px;font-size:.875rem}.quit-actions{display:flex;gap:.375rem}.student-actions{display:flex;gap:.375rem;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.page-header{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e2e8f0;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;align-items:center}.page-header-content{flex:1}.page-header-content h1{color:#2d3748;font-size:1.75rem;font-weight:700;margin:0 0 .25rem;text-align:left}.page-header-content p{color:#718096;margin:0;font-size:.9rem;text-align:left}.btn-small{padding:.5rem 1rem;font-size:.875rem;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-edit{background:#3b82f6;color:#fff}.btn-edit:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.schedule-item .form-group,.student-item .form-group{margin-bottom:8px}.schedule-item .form-group:last-child,.student-item .form-group:last-child{margin-bottom:0}.public-layout{min-height:100vh;display:flex;flex-direction:column;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#333}.public-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:.5rem 0}.public-header-content{width:100%;display:flex;justify-content:center}.public-header-wrapper{max-width:700px;width:100%;text-align:left}.public-logo{color:#333;font-size:1rem;font-weight:500;margin:0}.public-main{flex:1;padding:2rem 0;width:100%;box-sizing:border-box;display:flex;justify-content:center}.public-footer{background:#f8f9fa;padding:1rem 0;border-top:1px solid #e9ecef}.public-footer-content{max-width:1200px;margin:0;padding:0 2rem;text-align:left}.public-footer p{color:#666;margin:0;font-size:.9rem}@media (max-width: 768px){.public-header-wrapper{padding:0 1rem}.public-main{padding:1rem}}.public-vocabulary-container{min-height:60vh;max-width:700px;width:100%;margin:0;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;text-align:left}.group-header{border-bottom:1px solid #a2a9b1;padding-bottom:.5rem;margin-bottom:1.5rem;text-align:left}.group-header h1{color:#000;font-size:1.8rem;margin:0 0 .25rem;font-weight:400;font-family:Georgia,Times New Roman,serif;line-height:1.3;text-align:left}.group-meta{color:#54595d;font-size:.8rem;display:flex;gap:.5rem}.group-level,.word-count{font-style:normal;font-size:.9rem}.lessons-list{margin-bottom:1rem}.lesson-section{margin-bottom:2rem}.lesson-header{margin-bottom:.5rem;padding-bottom:.25rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;text-align:left}.lesson-header h2{color:#0645ad;font-size:1.25rem;margin:0;font-weight:600;font-family:Georgia,Times New Roman,serif}.lesson-topic{color:#54595d;font-style:italic;font-size:.875rem}.lesson-word-count{color:#54595d;font-size:.8rem;font-weight:400}.words-list{margin:.5rem 0 0 1.5rem;padding:0;list-style:disc}.word-item{margin:0 0 .3rem;padding:0;font-size:.95rem;line-height:1.4}.lesson-link{margin-top:.5rem;margin-left:1.5rem}.lesson-link a{color:#0645ad;text-decoration:none;font-size:.875rem}.lesson-link a:hover{text-decoration:underline}.error-card,.loading-card,.no-vocabulary-card,.groups-selection-card{background:#f8f9fa;border:1px solid #eaecf0;padding:1.5rem;margin:1.5rem 0;border-radius:2px}.error-card h2,.no-vocabulary-card h2,.groups-selection-card h2{color:#000;margin:0 0 .75rem;font-size:1.25rem;font-family:Georgia,Times New Roman,serif;font-weight:600}.error-card p,.loading-card p,.no-vocabulary-card p{color:#54595d;font-size:.9rem;margin:0;line-height:1.6}.loading-spinner{width:20px;height:20px;border:2px solid #eaecf0;border-top:2px solid #0645ad;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto .75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.available-groups{margin-top:1.5rem}.available-groups h3{color:#000;margin-bottom:.75rem;font-size:1.125rem;font-family:Georgia,Times New Roman,serif;font-weight:600}.groups-list{margin-left:0}.group-item{margin-bottom:.75rem;padding:1rem;border:1px solid #eaecf0;background:#f8f9fa;border-radius:2px}.group-item h4{color:#0645ad;margin:0 0 .25rem;font-size:1rem;font-family:Georgia,Times New Roman,serif;font-weight:600}.group-item p{color:#54595d;margin:0 0 .5rem;font-size:.875rem}.view-vocabulary-btn{color:#0645ad;text-decoration:none;font-size:.875rem}.view-vocabulary-btn:hover{text-decoration:underline}@media (max-width: 768px){.group-header h1{font-size:1.2rem}.words-list,.lesson-link{margin-left:1rem}}@media (max-width: 480px){.lesson-header{flex-direction:column;align-items:flex-start;gap:.25rem}}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:middle;word-wrap:break-word;overflow-wrap:break-word;font-size:.875rem}.data-table td{font-weight:400}.data-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.selected-student{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px}.clear-selection{background:none;border:none;font-size:18px;cursor:pointer;color:#666;padding:0 4px}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 2px 8px #0000001a}.student-option{padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee}.student-option.disabled{color:#999;cursor:not-allowed}.total-amount-display{padding:8px 12px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px;font-weight:400;color:#2e7d32;font-size:16px}.large-modal .modal-content{max-width:800px;width:90vw}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.btn-download{background-color:#4caf50;color:#fff;border:none;border-radius:4px;padding:6px 8px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-download:hover{background-color:#45a049}.font-mono{font-family:Courier New,monospace}.text-center{text-align:center}.text-right{text-align:right}.action-buttons{display:flex;gap:8px;justify-content:center}.btn-action{padding:6px 8px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-action:hover{opacity:.8;transform:translateY(-1px)}.btn-outline{background-color:transparent;color:#666;border:1px solid #ddd;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;transition:all .2s}.btn-outline:hover{background-color:#f5f5f5;border-color:#bbb;color:#333}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.large-modal .modal-content{width:95vw;margin:20px auto}.student-dropdown{max-height:150px}}.create-certificate-page{max-width:1200px;margin:0 auto;padding:20px;background-color:#fff;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}.page-header h1{margin:0;color:#333;font-size:28px;font-weight:600}.btn-secondary{background-color:#6c757d;color:#fff;border:none;border-radius:4px;padding:10px 16px;cursor:pointer;font-size:14px;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background-color:#5a6268;transform:translateY(-1px)}.btn-primary{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:12px 24px;cursor:pointer;font-size:16px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.create-certificate-form{background-color:#f8f9fa;border-radius:8px;padding:32px;box-shadow:0 2px 4px #0000001a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input,.form-group select{padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;transition:border-color .2s;background-color:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input.error,.form-group select.error{border-color:#dc3545}.form-group input.valid-input{border-color:#28a745;border-width:2px}.form-group input.invalid-input{border-color:#dc3545;border-width:2px}.validation-indicator{margin-top:4px;margin-bottom:8px;font-size:12px}.small-icon{font-size:12px;font-weight:500}.valid{color:#28a745}.invalid{color:#dc3545}.checking{color:#6c757d}.error-text{color:#dc3545;font-size:12px;margin-top:4px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px 16px;border-radius:4px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;color:#721c24;font-size:18px;cursor:pointer;padding:0;line-height:1}.close-error:hover{opacity:.7}.student-selector{position:relative}.selected-student{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px;font-weight:500}.clear-selection{background:none;border:none;font-size:18px;cursor:pointer;color:#666;padding:0 4px;line-height:1}.clear-selection:hover{color:#d32f2f}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 8px #0000001a}.student-option{padding:12px;cursor:pointer;border-bottom:1px solid #eee;transition:background-color .2s}.student-option:hover{background-color:#f5f5f5}.student-option:last-child{border-bottom:none}.student-option.disabled{color:#999;cursor:not-allowed;font-style:italic}.student-option.disabled:hover{background-color:transparent}.total-amount-display{padding:12px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px;font-weight:700;color:#2e7d32;font-size:18px;text-align:center}.form-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:24px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.create-certificate-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.page-header h1{font-size:24px}.create-certificate-form{padding:24px 16px}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;justify-content:center}.student-dropdown{max-height:150px}}@media (max-width: 480px){.create-certificate-page{padding:12px}.create-certificate-form{padding:16px}.page-header h1{font-size:20px}}.settings-container{max-width:900px;margin:0 auto;padding:1rem;background-color:#fff;min-height:100vh}.settings-header{margin-bottom:1rem;text-align:left}.settings-header h1{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.settings-header p{color:#718096;font-size:.9rem;margin:0}.error-message{display:flex;align-items:center;gap:.5rem;background-color:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #feb2b2}.error-icon{font-size:1rem}.settings-section{padding:1rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:1rem}.settings-section:last-child{border-bottom:none}.settings-section h2{color:#1a1a1a;font-size:1.1rem;font-weight:700;margin-bottom:1rem;text-align:left}.section-description{color:#666;margin-bottom:1rem;line-height:1.4;text-align:left}.profile-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;text-align:left}.info-row label{font-weight:600;color:#4a5568;min-width:80px}.info-row span{color:#2d3748}.role-badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:capitalize}.role-badge.admin{background-color:#fed7e2;color:#b83280}.role-badge.user{background-color:#c6f6d5;color:#276749}.telegram-linked,.telegram-not-linked{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.linked-info,.not-linked-info{display:flex;align-items:center;gap:0;text-align:left}.status-icon{font-size:.85rem;margin-right:.5rem}.linked-details strong,.not-linked-info strong{display:flex;align-items:center;color:#2d3748;font-weight:600;margin-bottom:.25rem}.linked-details p,.not-linked-info p{color:#718096;margin:0;font-size:.9rem}.link-button,.unlink-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.link-button{background-color:#4299e1;color:#fff}.link-button:hover:not(:disabled){background-color:#3182ce;transform:translateY(-1px)}.unlink-button{background-color:#e53e3e;color:#fff}.unlink-button:hover:not(:disabled){background-color:#c53030;transform:translateY(-1px)}.link-button:disabled,.unlink-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0}.close-button{background:none;border:none;font-size:1.2rem;color:#a0aec0;cursor:pointer;padding:.25rem;line-height:1}.close-button:hover{color:#718096}.modal-body{padding:1.5rem}.instructions-text{color:#4a5568;line-height:1.6;margin-bottom:1.5rem}.link-container{margin:1.5rem 0}.link-display{display:flex;gap:.5rem;align-items:center;padding:1rem;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px}.link-display code{flex:1;background:none;color:#2d3748;font-family:Monaco,Courier New,monospace;font-size:.875rem;word-break:break-all}.copy-button{padding:.5rem 1rem;background-color:#4299e1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;white-space:nowrap}.copy-button:hover{background-color:#3182ce}.step-by-step{margin:1.5rem 0}.step-by-step h4{color:#2d3748;font-size:1rem;font-weight:600;margin-bottom:.75rem}.step-by-step ol{color:#4a5568;padding-left:1.5rem;line-height:1.6}.step-by-step li{margin-bottom:.5rem}.security-note{background-color:#fef5e7;border:1px solid #f6ad55;border-radius:8px;padding:1rem;color:#744210;font-size:.9rem;line-height:1.5}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e2e8f0;background-color:#f7fafc}.open-telegram-button,.done-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.open-telegram-button{background-color:#08c;color:#fff}.open-telegram-button:hover{background-color:#0077b3;transform:translateY(-1px)}.done-button{background-color:#38a169;color:#fff}.done-button:hover{background-color:#2f855a;transform:translateY(-1px)}@media (max-width: 768px){.settings-container{margin:1rem;padding:1rem}.telegram-linked,.telegram-not-linked{flex-direction:column;gap:1rem;align-items:stretch}.link-button,.unlink-button{width:100%}.modal-content{margin:1rem;width:calc(100% - 2rem)}.modal-footer{flex-direction:column}.link-display{flex-direction:column;gap:1rem}.copy-button{align-self:stretch}}.sidebar{width:260px;height:100vh;background:linear-gradient(180deg,#2d3748,#1a202c);color:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;box-shadow:2px 0 4px #0000001a}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff;text-align:center}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu-item{margin-bottom:4px}.sidebar-menu-button{width:100%;background:none;border:none;color:#cbd5e0;padding:12px 20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;border-radius:0;font-size:14px;font-weight:500;text-align:left}.sidebar-menu-button:hover{background:#ffffff1a;color:#fff}.sidebar-menu-item.active .sidebar-menu-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-left:4px solid #48bb78}.sidebar-menu-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.sidebar-menu-label{flex:1}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-logout-button{width:100%;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#feb2b2;padding:10px 16px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.sidebar-logout-button:hover{background:#ef444433;color:#fed7d7;border-color:#ef444480}.main-content{margin-left:260px;min-height:100vh;background-color:#f7fafc}@media (max-width: 768px){.sidebar{width:100%;height:auto;position:relative;box-shadow:none}.main-content{margin-left:0}.sidebar-nav{padding:10px 0}.sidebar-menu-button{padding:10px 20px;font-size:16px}}@media (max-width: 480px){.sidebar{width:100%}.sidebar-header{padding:15px}.sidebar-logo h2{font-size:1.25rem}.sidebar-footer{padding:15px}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}input[type=date]{font-family:inherit;font-size:inherit;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;cursor:pointer}input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}input[type=date]:hover{border-color:#9ca3af}input[type=date]{min-width:140px;width:auto}.form-input[type=date]{width:100%;max-width:200px}.filter-select[type=date]{min-width:120px}input[type=date]:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}input[type=date].error{border-color:#ef4444}input[type=date].error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}
